Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // IPC messages for page rendering. | 5 // IPC messages for page rendering. |
| 6 // Multiply-included message file, hence no include guard. | 6 // Multiply-included message file, hence no include guard. |
| 7 | 7 |
| 8 #include "base/process.h" | 8 #include "base/process.h" |
| 9 #include "base/shared_memory.h" | 9 #include "base/shared_memory.h" |
| 10 #include "content/common/content_export.h" | 10 #include "content/common/content_export.h" |
| (...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 565 // to convert them to pixels. | 565 // to convert them to pixels. |
| 566 IPC_STRUCT_MEMBER(float, scale_factor) | 566 IPC_STRUCT_MEMBER(float, scale_factor) |
| 567 IPC_STRUCT_END() | 567 IPC_STRUCT_END() |
| 568 | 568 |
| 569 IPC_STRUCT_BEGIN(ViewMsg_PostMessage_Params) | 569 IPC_STRUCT_BEGIN(ViewMsg_PostMessage_Params) |
| 570 // The serialized script value. | 570 // The serialized script value. |
| 571 IPC_STRUCT_MEMBER(string16, data) | 571 IPC_STRUCT_MEMBER(string16, data) |
| 572 | 572 |
| 573 // When sent to the browser, this is the routing ID of the source frame in | 573 // When sent to the browser, this is the routing ID of the source frame in |
| 574 // the source process. The browser replaces it with the routing ID of the | 574 // the source process. The browser replaces it with the routing ID of the |
| 575 // equivalent (swapped out) frame in the destination process. Set to | 575 // equivalent (swapped out) frame in the destination process. |
| 576 // MSG_ROUTING_NONE if the source frame isn't supported (e.g., subframes). | |
| 577 IPC_STRUCT_MEMBER(int, source_routing_id) | 576 IPC_STRUCT_MEMBER(int, source_routing_id) |
| 577 // The identifier of the source frame in the source process. | |
| 578 IPC_STRUCT_MEMBER(int, source_frame_id) | |
| 579 | |
| 580 // The full set of identifiers to uniquely descirbe the target frame. See | |
|
Charlie Reis
2012/08/22 22:08:34
nit: describe
nasko
2012/08/23 21:55:53
Done.
| |
| 581 // the comment on ViewMsg_FrameTreeUpdated for details. | |
| 582 IPC_STRUCT_MEMBER(int, target_process_id) | |
| 583 IPC_STRUCT_MEMBER(int, target_routing_id) | |
| 584 IPC_STRUCT_MEMBER(int, target_frame_id) | |
| 578 | 585 |
| 579 // The origin of the source frame. | 586 // The origin of the source frame. |
| 580 IPC_STRUCT_MEMBER(string16, source_origin) | 587 IPC_STRUCT_MEMBER(string16, source_origin) |
| 581 | 588 |
| 582 // The origin for the message's target. | 589 // The origin for the message's target. |
| 583 IPC_STRUCT_MEMBER(string16, target_origin) | 590 IPC_STRUCT_MEMBER(string16, target_origin) |
| 584 IPC_STRUCT_END() | 591 IPC_STRUCT_END() |
| 585 | 592 |
| 586 IPC_STRUCT_BEGIN(ViewHostMsg_DidFailProvisionalLoadWithError_Params) | 593 IPC_STRUCT_BEGIN(ViewHostMsg_DidFailProvisionalLoadWithError_Params) |
| 587 // The frame ID for the failure report. | 594 // The frame ID for the failure report. |
| (...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1031 IPC_MESSAGE_ROUTED4(ViewMsg_ScriptEvalRequest, | 1038 IPC_MESSAGE_ROUTED4(ViewMsg_ScriptEvalRequest, |
| 1032 string16, /* frame_xpath */ | 1039 string16, /* frame_xpath */ |
| 1033 string16, /* jscript_url */ | 1040 string16, /* jscript_url */ |
| 1034 int, /* ID */ | 1041 int, /* ID */ |
| 1035 bool /* If true, result is sent back. */) | 1042 bool /* If true, result is sent back. */) |
| 1036 | 1043 |
| 1037 // Posts a message from a frame in another process to the current renderer. | 1044 // Posts a message from a frame in another process to the current renderer. |
| 1038 IPC_MESSAGE_ROUTED1(ViewMsg_PostMessageEvent, | 1045 IPC_MESSAGE_ROUTED1(ViewMsg_PostMessageEvent, |
| 1039 ViewMsg_PostMessage_Params) | 1046 ViewMsg_PostMessage_Params) |
| 1040 | 1047 |
| 1048 // Sends a JSON serialized frame tree to render processes along with the | |
| 1049 // process id and route id of the source renderer. | |
| 1050 // | |
| 1051 // This message must be send to swapped out renderers every time the browser | |
|
Charlie Reis
2012/08/22 22:08:34
nit: send -> sent
nasko
2012/08/23 21:55:53
Done.
| |
| 1052 // receives a ViewHostMsg_FrameTreeUpdated message. | |
| 1053 // | |
| 1054 | |
| 1055 | |
|
Charlie Reis
2012/08/22 22:08:34
nit: Remove blank lines.
nasko
2012/08/23 21:55:53
Done.
| |
| 1056 IPC_MESSAGE_ROUTED3(ViewMsg_UpdateFrameTree, | |
| 1057 int, /* the child process id of the active renderer */ | |
| 1058 int, /* route_id of the active renderer */ | |
| 1059 std::string /* json encoded frame tree */) | |
| 1060 | |
| 1041 // Request for the renderer to evaluate an xpath to a frame and insert css | 1061 // Request for the renderer to evaluate an xpath to a frame and insert css |
| 1042 // into that frame's document. See ViewMsg_ScriptEvalRequest for details on | 1062 // into that frame's document. See ViewMsg_ScriptEvalRequest for details on |
| 1043 // allowed xpath expressions. | 1063 // allowed xpath expressions. |
| 1044 IPC_MESSAGE_ROUTED2(ViewMsg_CSSInsertRequest, | 1064 IPC_MESSAGE_ROUTED2(ViewMsg_CSSInsertRequest, |
| 1045 string16, /* frame_xpath */ | 1065 string16, /* frame_xpath */ |
| 1046 std::string /* css string */) | 1066 std::string /* css string */) |
| 1047 | 1067 |
| 1048 // External popup menus. | 1068 // External popup menus. |
| 1049 #if defined(OS_MACOSX) | 1069 #if defined(OS_MACOSX) |
| 1050 IPC_MESSAGE_ROUTED1(ViewMsg_SelectPopupMenuItem, | 1070 IPC_MESSAGE_ROUTED1(ViewMsg_SelectPopupMenuItem, |
| (...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2185 // (according to the value of is_hung). The browser can give the user the | 2205 // (according to the value of is_hung). The browser can give the user the |
| 2186 // option of killing the plugin. | 2206 // option of killing the plugin. |
| 2187 IPC_MESSAGE_ROUTED3(ViewHostMsg_PepperPluginHung, | 2207 IPC_MESSAGE_ROUTED3(ViewHostMsg_PepperPluginHung, |
| 2188 int /* plugin_child_id */, | 2208 int /* plugin_child_id */, |
| 2189 FilePath /* path */, | 2209 FilePath /* path */, |
| 2190 bool /* is_hung */) | 2210 bool /* is_hung */) |
| 2191 | 2211 |
| 2192 // Screen was rotated. Dispatched to the onorientationchange javascript API. | 2212 // Screen was rotated. Dispatched to the onorientationchange javascript API. |
| 2193 IPC_MESSAGE_ROUTED1(ViewMsg_OrientationChangeEvent, | 2213 IPC_MESSAGE_ROUTED1(ViewMsg_OrientationChangeEvent, |
| 2194 int /* orientation */) | 2214 int /* orientation */) |
| 2215 | |
| 2216 // Chrome allows JavaScript calls to be routed across process boundaries. To | |
| 2217 // achive this, each active renderer in the source process has a swapped out | |
|
Charlie Reis
2012/08/22 22:08:34
nit: achieve
nit: renderer -> RenderView
(Same bel
nasko
2012/08/23 21:55:53
Done.
| |
| 2218 // mirror in the destination process. The active renderer and its mirror need to | |
|
Charlie Reis
2012/08/22 22:08:34
Hmm, we haven't been using this "mirror" term befo
nasko
2012/08/23 21:55:53
Done.
| |
| 2219 // have identical frame tree structure, so calls originating and targeting | |
| 2220 // subframes can be routed properly. This is achieved by each active renderer | |
| 2221 // sending a ViewHostMsg_FrameTreeUpdated message to the browser, which in turn | |
| 2222 // sends the update to the corresponding mirror renderers through the | |
| 2223 // ViewMsg_UpdateFrameTree. | |
|
Charlie Reis
2012/08/22 22:08:34
This is a great explanation. Since we say they "n
nasko
2012/08/23 21:55:53
Done.
| |
| 2224 // | |
| 2225 // When routing JavaScript calls across processes, the destination information | |
| 2226 // is kept in the renderer process instead of the browser process. This design | |
| 2227 // was chosen because frame ids are allocated by the renderer process. If the | |
| 2228 // browser was to keep a mapping of the frame ids across processes, it will | |
|
Charlie Reis
2012/08/22 22:08:34
nit: will -> would
nasko
2012/08/23 21:55:53
Done.
| |
| 2229 // require an extra IPC message with the newly allocated frame ids, as a | |
| 2230 // response to this particular message. | |
| 2231 // | |
| 2232 // The frame tree for a renderer is serialized to JSON, so it can be sent to | |
| 2233 // the browser process. Each node in the tree is a DictionaryValue with three | |
| 2234 // properties: | |
|
awong
2012/08/22 22:25:47
Since this is JSON, I'd define this in terms of JS
nasko
2012/08/23 21:55:53
Done.
| |
| 2235 // * id - the frame identifier in this renderer | |
| 2236 // * name - the name of the frame, if one has been assigned | |
| 2237 // * subtree - a list of DictionaryValue objects for each frame that is | |
|
Charlie Reis
2012/08/22 22:08:34
nit: that is a direct child
nasko
2012/08/23 21:55:53
Done.
| |
| 2238 // direct child of the current frame. This property can be omitted if | |
| 2239 // there are no direct child frames, so less data is transferred. | |
| 2240 // | |
| 2241 // This message must be sent on any events that modify the tree structure or | |
| 2242 // the names of any frames. | |
| 2243 IPC_MESSAGE_ROUTED1(ViewHostMsg_FrameTreeUpdated, | |
| 2244 std::string /* json encoded frame tree */) | |
| OLD | NEW |