diff options
-rw-r--r-- | content/common/intents_messages.h | 1 | ||||
-rw-r--r-- | webkit/glue/web_intent_data.cc | 8 | ||||
-rw-r--r-- | webkit/glue/web_intent_data.h | 4 |
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; |