summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content/common/intents_messages.h1
-rw-r--r--webkit/glue/web_intent_data.cc8
-rw-r--r--webkit/glue/web_intent_data.h4
3 files changed, 13 insertions, 0 deletions
diff --git a/content/common/intents_messages.h b/content/common/intents_messages.h
index 0102e6c..4dc568a 100644
--- a/content/common/intents_messages.h
+++ b/content/common/intents_messages.h
@@ -25,6 +25,7 @@ IPC_STRUCT_TRAITS_BEGIN(webkit_glue::WebIntentData)
IPC_STRUCT_TRAITS_MEMBER(extra_data)
IPC_STRUCT_TRAITS_MEMBER(service)
IPC_STRUCT_TRAITS_MEMBER(unserialized_data)
+ IPC_STRUCT_TRAITS_MEMBER(message_port_ids)
IPC_STRUCT_TRAITS_MEMBER(blob_file)
IPC_STRUCT_TRAITS_MEMBER(blob_length)
IPC_STRUCT_TRAITS_MEMBER(data_type)
diff --git a/webkit/glue/web_intent_data.cc b/webkit/glue/web_intent_data.cc
index af85b2f..48c4e90 100644
--- a/webkit/glue/web_intent_data.cc
+++ b/webkit/glue/web_intent_data.cc
@@ -5,6 +5,9 @@
#include "webkit/glue/web_intent_data.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebIntent.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebMessagePortChannel.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h"
+#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h"
namespace webkit_glue {
@@ -20,8 +23,13 @@ WebIntentData::WebIntentData(const WebKit::WebIntent& intent)
: action(intent.action()),
type(intent.type()),
data(intent.data()),
+ service(intent.service()),
blob_length(0),
data_type(SERIALIZED) {
+ WebKit::WebVector<WebKit::WebString> names = intent.extrasNames();
+ for (size_t i = 0; i < names.size(); ++i) {
+ extra_data[names[i]] = intent.extrasValue(names[i]);
+ }
}
WebIntentData::WebIntentData(const string16& action_in,
diff --git a/webkit/glue/web_intent_data.h b/webkit/glue/web_intent_data.h
index acf5d75..e6d57e5 100644
--- a/webkit/glue/web_intent_data.h
+++ b/webkit/glue/web_intent_data.h
@@ -6,6 +6,7 @@
#define WEBKIT_GLUE_WEB_INTENT_DATA_H_
#include <map>
+#include <vector>
#include "base/file_path.h"
#include "base/string16.h"
@@ -37,6 +38,9 @@ struct WEBKIT_GLUE_EXPORT WebIntentData {
// String payload data.
string16 unserialized_data;
+ // The global message port IDs of any transferred MessagePorts.
+ std::vector<int> message_port_ids;
+
// The file of a payload blob. Together with |blob_length|, suitable
// arguments to WebBlob::createFromFile.
FilePath blob_file;