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

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

Issue 6363002: Implement the onBeforeRetarget event of the webNavigation API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tests Created 9 years, 11 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: 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>(&params));
+ }
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,

Powered by Google App Engine
This is Rietveld 408576698