diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-07-30 11:37:48 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-07-30 11:38:52 +0200 |
commit | 89e2486a48b739f8d771d69ede5a6a1b244a10fc (patch) | |
tree | 503b1a7812cf97d93704c32437eb5f62dc1a1ff9 /Source/WebKit2/UIProcess/API/C/WKIntentData.cpp | |
parent | 625f028249cb37c55bbbd153f3902afd0b0756d9 (diff) | |
download | qtwebkit-89e2486a48b739f8d771d69ede5a6a1b244a10fc.tar.gz |
Imported WebKit commit 0282df8ca7c11d8c8a66ea18543695c69f545a27 (http://svn.webkit.org/repository/webkit/trunk@124002)
New snapshot with prospective Mountain Lion build fix
Diffstat (limited to 'Source/WebKit2/UIProcess/API/C/WKIntentData.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/API/C/WKIntentData.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Source/WebKit2/UIProcess/API/C/WKIntentData.cpp b/Source/WebKit2/UIProcess/API/C/WKIntentData.cpp index a42f530ac..7a92db54c 100644 --- a/Source/WebKit2/UIProcess/API/C/WKIntentData.cpp +++ b/Source/WebKit2/UIProcess/API/C/WKIntentData.cpp @@ -29,6 +29,8 @@ #include "ImmutableArray.h" #include "ImmutableDictionary.h" #include "WKAPICast.h" +#include "WKDictionary.h" +#include "WKString.h" #if ENABLE(WEB_INTENTS) #include "WebIntentData.h" @@ -45,6 +47,27 @@ WKTypeID WKIntentDataGetTypeID() #endif } +WKIntentDataRef WKIntentDataCreate(WKDictionaryRef initDictionaryRef) +{ +#if ENABLE(WEB_INTENTS) + IntentData intentData; + WKStringRef action = static_cast<WKStringRef>(WKDictionaryGetItemForKey(initDictionaryRef, WKStringCreateWithUTF8CString("action"))); + ASSERT(action); + intentData.action = toImpl(action)->string(); + WKStringRef type = static_cast<WKStringRef>(WKDictionaryGetItemForKey(initDictionaryRef, WKStringCreateWithUTF8CString("type"))); + ASSERT(type); + intentData.type = toImpl(type)->string(); + WKSerializedScriptValueRef data = static_cast<WKSerializedScriptValueRef>(WKDictionaryGetItemForKey(initDictionaryRef, WKStringCreateWithUTF8CString("data"))); + if (data) + intentData.data = toImpl(data)->dataReference().vector(); + + RefPtr<WebIntentData> webIntentData = WebIntentData::create(intentData); + return toAPI(webIntentData.release().leakRef()); +#else + return 0; +#endif +} + WKStringRef WKIntentDataCopyAction(WKIntentDataRef intentRef) { #if ENABLE(WEB_INTENTS) |