Index: content/common/app_web_message_port_messages.h |
diff --git a/android_webview/common/aw_message_port_messages.h b/content/common/app_web_message_port_messages.h |
similarity index 62% |
rename from android_webview/common/aw_message_port_messages.h |
rename to content/common/app_web_message_port_messages.h |
index 6b98023a45b0ef43be55c11a0c2471e97d608b07..145f63b74a33373115a699aae11b2b6072dafebd 100644 |
--- a/android_webview/common/aw_message_port_messages.h |
+++ b/content/common/app_web_message_port_messages.h |
@@ -5,8 +5,11 @@ |
// Multiply-included file, no traditional include guard. |
#include <vector> |
+#include "content/common/content_export.h" |
#include "ipc/ipc_message_macros.h" |
+#undef IPC_MESSAGE_EXPORT |
+#define IPC_MESSAGE_EXPORT CONTENT_EXPORT |
#define IPC_MESSAGE_START AwMessagePortMsgStart |
//----------------------------------------------------------------------------- |
@@ -20,39 +23,40 @@ |
// have Blink or V8 on the browser side due to their relience on static |
// variables. |
// |
-// For posting messages from Java (Webview) to JS, we pass the browser/renderer |
-// boundary an extra time and convert the messages to a type that browser can |
-// use. Since WebView is single-process this is not terribly expensive, but |
-// if we can do the conversion at the browser, then we can drop this code. |
+// For posting messages from Java (Android apps) to JS, we pass the |
+// browser/renderer boundary an extra time and convert the messages to a type |
+// that browser can use. Within the current implementation specificications, |
+// where we use the main frame on the browser side and it always stays within |
+// the same process this is not expensive, but if we can do the conversion at |
+// the browser, then we can drop this code. |
-// Important Note about multi-process situation: Webview is single process so |
-// such a conversion does not increase the risk due to untrusted renderers. |
-// However, in a multi-process scenario, the renderer that does the conversion |
-// can be different then the renderer that receives the message. There are |
-// 2 possible solutions to deal with this: |
+// Important Note about multi-process situation: In a multi-process scenario, |
+// the renderer that does the conversion can be theoretically different then the |
+// renderer that receives the message. Although in the current implementation |
+// this doesn't become an issue, there are 2 possible solutions to deal with |
+// this and make the overall system more robust to future changes: |
// 1. Do the conversion at the browser side by writing a new serializer |
// deserializer for WebSerializedScriptValue |
// 2. Do the conversion at the content layer, at the renderer at the time of |
-// receiveing the message. This may need adding new flags to indicate that |
+// receiving the message. This may need adding new flags to indicate that |
// message needs to be converted. However, this is complicated due to queing |
// at the browser side and possibility of ports being shipped to a different |
// renderer or browser delegate. |
- |
// Tells the renderer to convert the message from a WebSerializeScript |
// format to a base::ListValue. This IPC is used for messages that are |
-// incoming to Android webview from JS. |
-IPC_MESSAGE_ROUTED3(AwMessagePortMsg_WebToAppMessage, |
+// incoming to Android apps from JS. |
+IPC_MESSAGE_ROUTED3(AppWebMessagePortMsg_WebToAppMessage, |
int /* recipient message port id */, |
base::string16 /* message */, |
std::vector<int> /* sent message port_ids */) |
// Tells the renderer to convert the message from a String16 |
// format to a WebSerializedScriptValue. This IPC is used for messages that |
-// are outgoing from Webview to JS. |
+// are outgoing from Android apps to JS. |
// TODO(sgurun) when we start supporting other types, use a ListValue instead |
// of string16 |
-IPC_MESSAGE_ROUTED3(AwMessagePortMsg_AppToWebMessage, |
+IPC_MESSAGE_ROUTED3(AppWebMessagePortMsg_AppToWebMessage, |
int /* recipient message port id */, |
base::string16 /* message */, |
std::vector<int> /* sent message port_ids */) |
@@ -60,24 +64,23 @@ IPC_MESSAGE_ROUTED3(AwMessagePortMsg_AppToWebMessage, |
// Used to defer message port closing until after all in-flight messages |
// are flushed from renderer to browser. Renderer piggy-backs the message |
// to browser. |
-IPC_MESSAGE_ROUTED1(AwMessagePortMsg_ClosePort, |
- int /* message port id */) |
+IPC_MESSAGE_ROUTED1(AppWebMessagePortMsg_ClosePort, int /* message port id */) |
//----------------------------------------------------------------------------- |
// These are messages sent from the renderer to the browser process. |
-// Response to AwMessagePortMessage_WebToAppMessage |
-IPC_MESSAGE_ROUTED3(AwMessagePortHostMsg_ConvertedWebToAppMessage, |
+// Response to AppWebMessagePortMessage_WebToAppMessage |
+IPC_MESSAGE_ROUTED3(AppWebMessagePortHostMsg_ConvertedWebToAppMessage, |
int /* recipient message port id */, |
base::ListValue /* converted message */, |
std::vector<int> /* sent message port_ids */) |
-// Response to AwMessagePortMessage_AppToWebMessage |
-IPC_MESSAGE_ROUTED3(AwMessagePortHostMsg_ConvertedAppToWebMessage, |
+// Response to AppWebMessagePortMessage_AppToWebMessage |
+IPC_MESSAGE_ROUTED3(AppWebMessagePortHostMsg_ConvertedAppToWebMessage, |
int /* recipient message port id */, |
base::string16 /* converted message */, |
std::vector<int> /* sent message port_ids */) |
-// Response to AwMessagePortMsg_ClosePort |
-IPC_MESSAGE_ROUTED1(AwMessagePortHostMsg_ClosePortAck, |
+// Response to AppWebMessagePortMsg_ClosePort |
+IPC_MESSAGE_ROUTED1(AppWebMessagePortHostMsg_ClosePortAck, |
int /* message port id */) |