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, |