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

Unified Diff: content/browser/renderer_host/render_widget_helper.cc

Issue 1303773002: Give the main frame a RenderWidget. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix merge conflicts Created 5 years, 2 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/browser/renderer_host/render_widget_helper.cc
diff --git a/content/browser/renderer_host/render_widget_helper.cc b/content/browser/renderer_host/render_widget_helper.cc
index 0aad52a6dcbf2ac466a0d85e8f749e7566b45f14..72b2d55ddc93cb27064f17eaf1f2bf5220054bab 100644
--- a/content/browser/renderer_host/render_widget_helper.cc
+++ b/content/browser/renderer_host/render_widget_helper.cc
@@ -102,8 +102,9 @@ void RenderWidgetHelper::CreateNewWindow(
const ViewHostMsg_CreateWindow_Params& params,
bool no_javascript_access,
base::ProcessHandle render_process,
- int* route_id,
- int* main_frame_route_id,
+ int32_t* route_id,
+ int32_t* main_frame_route_id,
+ int32_t* main_frame_widget_route_id,
SessionStorageNamespace* session_storage_namespace) {
if (params.opener_suppressed || no_javascript_access) {
// If the opener is supppressed or script access is disallowed, we should
@@ -113,9 +114,14 @@ void RenderWidgetHelper::CreateNewWindow(
// in OnCreateWindowOnUI, using the params provided here.
*route_id = MSG_ROUTING_NONE;
*main_frame_route_id = MSG_ROUTING_NONE;
+ *main_frame_widget_route_id = MSG_ROUTING_NONE;
} else {
*route_id = GetNextRoutingID();
*main_frame_route_id = GetNextRoutingID();
+ // TODO(avi): When RenderViewHostImpl has-a RenderWidgetHostImpl, this
+ // should be updated to give the widget a distinct routing ID.
+ // https://crbug.com/545684
+ *main_frame_widget_route_id = *route_id;
// Block resource requests until the view is created, since the HWND might
// be needed if a response ends up creating a plugin.
resource_dispatcher_host_->BlockRequestsForRoute(
@@ -126,21 +132,23 @@ void RenderWidgetHelper::CreateNewWindow(
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
- base::Bind(&RenderWidgetHelper::OnCreateWindowOnUI,
- this, params, *route_id, *main_frame_route_id,
+ base::Bind(&RenderWidgetHelper::OnCreateWindowOnUI, this, params,
+ *route_id, *main_frame_route_id, *main_frame_widget_route_id,
make_scoped_refptr(session_storage_namespace)));
}
void RenderWidgetHelper::OnCreateWindowOnUI(
const ViewHostMsg_CreateWindow_Params& params,
- int route_id,
- int main_frame_route_id,
+ int32_t route_id,
+ int32_t main_frame_route_id,
+ int32_t main_frame_widget_route_id,
SessionStorageNamespace* session_storage_namespace) {
RenderViewHostImpl* host =
RenderViewHostImpl::FromID(render_process_id_, params.opener_id);
if (host)
- host->CreateNewWindow(route_id, main_frame_route_id, params,
- session_storage_namespace);
+ host->CreateNewWindow(route_id, main_frame_route_id,
+ main_frame_widget_route_id, params,
+ session_storage_namespace);
}
void RenderWidgetHelper::OnResumeRequestsForView(int route_id) {

Powered by Google App Engine
This is Rietveld 408576698