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

Unified Diff: content/browser/web_contents/web_contents_view_helper.cc

Issue 10171018: Create swapped-out opener RVHs after a process swap. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove parameter comments. Created 8 years, 8 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 | « content/browser/web_contents/web_contents_view_helper.h ('k') | content/common/view_messages.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/web_contents/web_contents_view_helper.cc
diff --git a/content/browser/web_contents/web_contents_view_helper.cc b/content/browser/web_contents/web_contents_view_helper.cc
index b3bf9be8b52f5d9c908b83483a9f16240a96b270..a79f8d05e74f296e0ecb6eb0db2887d9e69dcdbd 100644
--- a/content/browser/web_contents/web_contents_view_helper.cc
+++ b/content/browser/web_contents/web_contents_view_helper.cc
@@ -21,6 +21,7 @@ using content::RenderWidgetHost;
using content::RenderWidgetHostImpl;
using content::RenderWidgetHostView;
using content::RenderWidgetHostViewPort;
+using content::SiteInstance;
WebContentsViewHelper::WebContentsViewHelper() {
registrar_.Add(this,
@@ -46,13 +47,13 @@ void WebContentsViewHelper::Observe(
}
WebContentsImpl* WebContentsViewHelper::CreateNewWindow(
- WebContentsImpl* web_contents,
+ WebContentsImpl* opener,
int route_id,
const ViewHostMsg_CreateWindow_Params& params) {
bool should_create = true;
- if (web_contents->GetDelegate()) {
- should_create = web_contents->GetDelegate()->ShouldCreateWebContents(
- web_contents,
+ if (opener->GetDelegate()) {
+ should_create = opener->GetDelegate()->ShouldCreateWebContents(
+ opener,
route_id,
params.window_container_type,
params.frame_name,
@@ -66,22 +67,22 @@ WebContentsImpl* WebContentsViewHelper::CreateNewWindow(
// script-related windows), by passing in the current SiteInstance. However,
// if the opener is being suppressed, we create a new SiteInstance in its own
// BrowsingInstance.
- scoped_refptr<content::SiteInstance> site_instance =
+ scoped_refptr<SiteInstance> site_instance =
params.opener_suppressed ?
- content::SiteInstance::Create(web_contents->GetBrowserContext()) :
- web_contents->GetSiteInstance();
+ SiteInstance::Create(opener->GetBrowserContext()) :
+ opener->GetSiteInstance();
// Create the new web contents. This will automatically create the new
// WebContentsView. In the future, we may want to create the view separately.
WebContentsImpl* new_contents =
- new WebContentsImpl(web_contents->GetBrowserContext(),
+ new WebContentsImpl(opener->GetBrowserContext(),
site_instance,
route_id,
- web_contents,
+ opener,
+ params.opener_suppressed ? NULL : opener,
NULL);
new_contents->set_opener_web_ui_type(
- web_contents->GetWebUITypeForCurrentState());
- new_contents->set_has_opener(!params.opener_url.is_empty());
+ opener->GetWebUITypeForCurrentState());
if (!params.opener_suppressed) {
content::WebContentsView* new_view = new_contents->GetView();
@@ -96,20 +97,21 @@ WebContentsImpl* WebContentsViewHelper::CreateNewWindow(
pending_contents_[route_id] = new_contents;
}
- if (web_contents->GetDelegate())
- web_contents->GetDelegate()->WebContentsCreated(web_contents,
- params.opener_frame_id,
- params.target_url,
- new_contents);
+ if (opener->GetDelegate()) {
+ opener->GetDelegate()->WebContentsCreated(opener,
+ params.opener_frame_id,
+ params.target_url,
+ new_contents);
+ }
if (params.opener_suppressed) {
// When the opener is suppressed, the original renderer cannot access the
// new window. As a result, we need to show and navigate the window here.
gfx::Rect initial_pos;
- web_contents->AddNewContents(new_contents,
- params.disposition,
- initial_pos,
- params.user_gesture);
+ opener->AddNewContents(new_contents,
+ params.disposition,
+ initial_pos,
+ params.user_gesture);
content::OpenURLParams open_params(params.target_url, content::Referrer(),
CURRENT_TAB,
« no previous file with comments | « content/browser/web_contents/web_contents_view_helper.h ('k') | content/common/view_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698