Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(888)

Unified Diff: content/renderer/render_view_impl.cc

Issue 281663002: Create RenderFrameProxyHost at time of swap-out instead of commit. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ready for review Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_view_impl.cc
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index f46da97c6b175f12de695861fec9990ec0943ce7..1bafdfdbad6fc7ade6949afcf499da062ba4e060 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -96,6 +96,7 @@
#include "content/renderer/mhtml_generator.h"
#include "content/renderer/push_messaging_dispatcher.h"
#include "content/renderer/render_frame_impl.h"
+#include "content/renderer/render_frame_proxy.h"
#include "content/renderer/render_process.h"
#include "content/renderer/render_thread_impl.h"
#include "content/renderer/render_view_impl_params.h"
@@ -693,6 +694,14 @@ void RenderViewImpl::Initialize(RenderViewImplParams* params) {
WebLocalFrame* web_frame = WebLocalFrame::create(main_render_frame);
main_render_frame->SetWebFrame(web_frame);
+ if (params->proxy_routing_id != MSG_ROUTING_NONE) {
+ CHECK(params->swapped_out);
+ RenderFrameProxy* proxy =
+ RenderFrameProxy::CreateFrameProxy(params->proxy_routing_id,
+ params->main_frame_routing_id);
+ main_render_frame->set_render_frame_proxy(proxy);
+ }
+
webwidget_ = WebView::create(this);
webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_));
@@ -903,6 +912,7 @@ RenderViewImpl* RenderViewImpl::Create(
const WebPreferences& webkit_prefs,
int32 routing_id,
int32 main_frame_routing_id,
+ int32 proxy_routing_id,
int32 surface_id,
int64 session_storage_namespace_id,
const base::string16& frame_name,
@@ -920,6 +930,7 @@ RenderViewImpl* RenderViewImpl::Create(
webkit_prefs,
routing_id,
main_frame_routing_id,
+ proxy_routing_id,
surface_id,
session_storage_namespace_id,
frame_name,
@@ -1457,6 +1468,7 @@ WebView* RenderViewImpl::createView(WebLocalFrame* creator,
webkit_preferences_,
routing_id,
main_frame_routing_id,
+ MSG_ROUTING_NONE,
surface_id,
cloned_session_storage_namespace_id,
base::string16(), // WebCore will take care of setting the correct name.

Powered by Google App Engine
This is Rietveld 408576698