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

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: updates 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
« no previous file with comments | « chrome/browser/renderer_host/render_widget_helper.h ('k') | chrome/common/notification_type.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..ff5112ad65790f29e96808acedae697e2909faf7 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,26 @@ 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);
+ TabContents* tab_contents = host->delegate()->GetAsTabContents();
+ if (tab_contents) {
+ NotificationService::current()->Notify(
+ NotificationType::CREATING_NEW_WINDOW,
+ Source<TabContents>(tab_contents),
+ Details<const ViewHostMsg_CreateWindow_Params>(&params));
+ }
+ }
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
« no previous file with comments | « chrome/browser/renderer_host/render_widget_helper.h ('k') | chrome/common/notification_type.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698