summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API/C/WKIntentData.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-07-30 11:37:48 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-07-30 11:38:52 +0200
commit89e2486a48b739f8d771d69ede5a6a1b244a10fc (patch)
tree503b1a7812cf97d93704c32437eb5f62dc1a1ff9 /Source/WebKit2/UIProcess/API/C/WKIntentData.cpp
parent625f028249cb37c55bbbd153f3902afd0b0756d9 (diff)
downloadqtwebkit-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.cpp23
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)