Index: content/browser/site_per_process_browsertest.cc |
diff --git a/content/browser/site_per_process_browsertest.cc b/content/browser/site_per_process_browsertest.cc |
index 37978b53d46c6f7d4accb8a2f205ea2b3e26b5d2..2b54d4dd8fbf02f933848e854a6b4d6403c24fe1 100644 |
--- a/content/browser/site_per_process_browsertest.cc |
+++ b/content/browser/site_per_process_browsertest.cc |
@@ -38,6 +38,7 @@ |
#include "content/common/frame_messages.h" |
#include "content/common/input/synthetic_tap_gesture_params.h" |
#include "content/common/input_messages.h" |
+#include "content/common/renderer.mojom.h" |
#include "content/common/view_messages.h" |
#include "content/public/browser/interstitial_page_delegate.h" |
#include "content/public/browser/notification_observer.h" |
@@ -53,6 +54,7 @@ |
#include "content/public/test/test_utils.h" |
#include "content/test/content_browser_test_utils_internal.h" |
#include "content/test/test_frame_navigation_observer.h" |
+#include "ipc/ipc.mojom.h" |
#include "ipc/ipc_security_test_util.h" |
#include "net/dns/mock_host_resolver.h" |
#include "net/test/embedded_test_server/embedded_test_server.h" |
@@ -3163,8 +3165,9 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, OriginReplication) { |
// Check that c.com frame's location.ancestorOrigins contains the correct |
// origin for its two ancestors. The topmost parent origin should be |
// replicated as part of mojom::Renderer::CreateView, and the middle frame |
- // (b.com's) origin should be replicated as part of FrameMsg_NewFrameProxy |
- // sent for b.com's frame in c.com's process. |
+ // (b.com's) origin should be replicated as part of |
+ // mojom::Renderer::CreateFrameProxy sent for b.com's frame in c.com's |
+ // process. |
EXPECT_TRUE(ExecuteScriptAndExtractInt( |
middle_child, |
"window.domAutomationController.send(location.ancestorOrigins.length);", |
@@ -4632,8 +4635,8 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, NavigateSubframeWithOpener) { |
// Check that if a subframe has an opener, that opener is preserved when a new |
// RenderFrameProxy is created for that subframe in another renderer process. |
// Similar to NavigateSubframeWithOpener, but this test verifies the subframe |
-// opener plumbing for FrameMsg_NewFrameProxy, whereas |
-// NavigateSubframeWithOpener targets FrameMsg_NewFrame. |
+// opener plumbing for mojom::Renderer::CreateFrameProxy(), whereas |
+// NavigateSubframeWithOpener targets mojom::Renderer::CreateFrame(). |
IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, |
NewRenderFrameProxyPreservesOpener) { |
GURL main_url( |
@@ -6072,9 +6075,9 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, |
// Send the message to create a proxy for B's new child frame in A. This |
// used to crash, as parent_routing_id refers to a proxy that doesn't exist |
// anymore. |
- process_a->Send(new FrameMsg_NewFrameProxy( |
+ RenderProcessHostImpl::GetRendererInterface(process_a)->CreateFrameProxy( |
new_routing_id, view_routing_id, MSG_ROUTING_NONE, parent_routing_id, |
- FrameReplicationState())); |
+ FrameReplicationState()); |
// Ensure the subframe is detached in the browser process. |
observer.Wait(); |
@@ -6136,19 +6139,20 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, |
NavigateFrameToURL(node, |
embedded_test_server()->GetURL("c.com", "/title2.html")); |
{ |
- FrameMsg_NewFrame_Params params; |
- params.routing_id = frame_routing_id; |
- params.proxy_routing_id = proxy_routing_id; |
- params.opener_routing_id = MSG_ROUTING_NONE; |
- params.parent_routing_id = |
+ mojom::CreateFrameParamsPtr params = mojom::CreateFrameParams::New(); |
+ params->routing_id = frame_routing_id; |
+ params->proxy_routing_id = proxy_routing_id; |
+ params->opener_routing_id = IPC::mojom::kRoutingIdNone; |
+ params->parent_routing_id = |
shell()->web_contents()->GetMainFrame()->GetRoutingID(); |
- params.previous_sibling_routing_id = MSG_ROUTING_NONE; |
- params.widget_params.routing_id = MSG_ROUTING_NONE; |
- params.widget_params.hidden = true; |
- params.replication_state.name = "name"; |
- params.replication_state.unique_name = "name"; |
- |
- process->Send(new FrameMsg_NewFrame(params)); |
+ params->previous_sibling_routing_id = IPC::mojom::kRoutingIdNone; |
+ params->widget_params = mojom::CreateFrameWidgetParams::New(); |
+ params->widget_params->routing_id = IPC::mojom::kRoutingIdNone; |
+ params->widget_params->hidden = true; |
+ params->replication_state.name = "name"; |
+ params->replication_state.unique_name = "name"; |
+ RenderProcessHostImpl::GetRendererInterface(process)->CreateFrame( |
+ std::move(params)); |
} |
// The test must wait for the process to exit, but if there is no leak, the |
@@ -6202,18 +6206,19 @@ IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, ParentDetachRemoteChild) { |
EXPECT_EQ(1U, contents->GetFrameTree()->root()->child_count()); |
{ |
- FrameMsg_NewFrame_Params params; |
- params.routing_id = frame_routing_id; |
- params.proxy_routing_id = MSG_ROUTING_NONE; |
- params.opener_routing_id = MSG_ROUTING_NONE; |
- params.parent_routing_id = parent_routing_id; |
- params.previous_sibling_routing_id = MSG_ROUTING_NONE; |
- params.widget_params.routing_id = widget_routing_id; |
- params.widget_params.hidden = true; |
- params.replication_state.name = "name"; |
- params.replication_state.unique_name = "name"; |
- |
- process->Send(new FrameMsg_NewFrame(params)); |
+ mojom::CreateFrameParamsPtr params = mojom::CreateFrameParams::New(); |
+ params->routing_id = frame_routing_id; |
+ params->proxy_routing_id = IPC::mojom::kRoutingIdNone; |
+ params->opener_routing_id = IPC::mojom::kRoutingIdNone; |
+ params->parent_routing_id = parent_routing_id; |
+ params->previous_sibling_routing_id = IPC::mojom::kRoutingIdNone; |
+ params->widget_params = mojom::CreateFrameWidgetParams::New(); |
+ params->widget_params->routing_id = widget_routing_id; |
+ params->widget_params->hidden = true; |
+ params->replication_state.name = "name"; |
+ params->replication_state.unique_name = "name"; |
+ RenderProcessHostImpl::GetRendererInterface(process)->CreateFrame( |
+ std::move(params)); |
} |
// The test must wait for the process to exit, but if there is no leak, the |