Chromium Code Reviews| Index: chrome/browser/renderer_host/render_widget_helper.cc |
| diff --git a/chrome/browser/renderer_host/render_widget_helper.cc b/chrome/browser/renderer_host/render_widget_helper.cc |
| index 0ea4f8ca17fe90965e98da3a7be4dc4dfbc0fe05..8e7079b85019be6d8b220af046a08f1f39ffefa6 100644 |
| --- a/chrome/browser/renderer_host/render_widget_helper.cc |
| +++ b/chrome/browser/renderer_host/render_widget_helper.cc |
| @@ -9,7 +9,9 @@ |
| #include "chrome/browser/browser_thread.h" |
| #include "chrome/browser/renderer_host/render_process_host.h" |
| #include "chrome/browser/renderer_host/render_view_host.h" |
| +#include "chrome/browser/renderer_host/render_view_host_delegate.h" |
| #include "chrome/browser/renderer_host/resource_dispatcher_host.h" |
| +#include "chrome/common/notification_service.h" |
| #include "chrome/common/render_messages_params.h" |
| // A Task used with InvokeLater that we hold a pointer to in pending_paints_. |
| @@ -200,10 +202,7 @@ void RenderWidgetHelper::OnCrossSiteClosePageACK( |
| } |
| void RenderWidgetHelper::CreateNewWindow( |
| - int opener_id, |
| - bool user_gesture, |
| - WindowContainerType window_container_type, |
| - const string16& frame_name, |
| + const ViewHostMsg_CreateWindow_Params& params, |
| base::ProcessHandle render_process, |
| int* route_id) { |
| *route_id = GetNextRoutingID(); |
| @@ -215,18 +214,23 @@ void RenderWidgetHelper::CreateNewWindow( |
| BrowserThread::PostTask( |
| BrowserThread::UI, FROM_HERE, |
| NewRunnableMethod( |
| - this, &RenderWidgetHelper::OnCreateWindowOnUI, opener_id, *route_id, |
| - window_container_type, frame_name)); |
| + this, &RenderWidgetHelper::OnCreateWindowOnUI, params, *route_id)); |
| } |
| void RenderWidgetHelper::OnCreateWindowOnUI( |
| - int opener_id, |
| - int route_id, |
| - WindowContainerType window_container_type, |
| - string16 frame_name) { |
| - RenderViewHost* host = RenderViewHost::FromID(render_process_id_, opener_id); |
| - if (host) |
| - host->CreateNewWindow(route_id, window_container_type, frame_name); |
| + const ViewHostMsg_CreateWindow_Params& params, |
| + int route_id) { |
| + RenderViewHost* host = |
| + RenderViewHost::FromID(render_process_id_, params.opener_id); |
| + if (host) { |
| + host->CreateNewWindow(route_id, |
| + params.window_container_type, |
| + params.frame_name); |
| + NotificationService::current()->Notify( |
| + NotificationType::CREATING_NEW_WINDOW, |
| + Source<TabContents>(host->delegate()->GetAsTabContents()), |
|
Matt Perry
2011/01/18 20:30:31
I don't think we're guaranteed to use a TabContent
Matt Perry
2011/01/20 22:53:57
Don't forget to handle a NULL return value here. I
|
| + Details<const ViewHostMsg_CreateWindow_Params>(¶ms)); |
| + } |
| BrowserThread::PostTask( |
| BrowserThread::IO, FROM_HERE, |