diff options
author | shishir@chromium.org <shishir@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-22 19:40:26 +0000 |
---|---|---|
committer | shishir@chromium.org <shishir@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-22 19:40:26 +0000 |
commit | eacb080b2f054436ebb781044a20f36819b1c1be (patch) | |
tree | abfe5c3e628b8c0444bba359cab0a772e11b4c1c /content/browser | |
parent | 8523ba5fab2b52f359b644fea1b9c2b3ea078260 (diff) | |
download | chromium_src-eacb080b2f054436ebb781044a20f36819b1c1be.zip chromium_src-eacb080b2f054436ebb781044a20f36819b1c1be.tar.gz chromium_src-eacb080b2f054436ebb781044a20f36819b1c1be.tar.bz2 |
Changes to not use the prerendered contents when window.opener needs to be set.
BUG=79922
TEST=browser_tests
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=85394
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=85689
Review URL: http://codereview.chromium.org/6915019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86242 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
4 files changed, 12 insertions, 4 deletions
diff --git a/content/browser/tab_contents/tab_contents.cc b/content/browser/tab_contents/tab_contents.cc index d990a23..5fdf888 100644 --- a/content/browser/tab_contents/tab_contents.cc +++ b/content/browser/tab_contents/tab_contents.cc @@ -884,6 +884,7 @@ void TabContents::SetContentRestrictions(int restrictions) { void TabContents::OnDidStartProvisionalLoadForFrame(int64 frame_id, bool is_main_frame, + bool has_opener_set, const GURL& url) { bool is_error_page = (url.spec() == chrome::kUnreachableWebDataURL); GURL validated_url(url); @@ -901,11 +902,12 @@ void TabContents::OnDidStartProvisionalLoadForFrame(int64 frame_id, if (is_main_frame) { // Notify observers about the provisional change in the main frame URL. FOR_EACH_OBSERVER(TabContentsObserver, observers_, - ProvisionalChangeToMainFrameUrl(url)); + ProvisionalChangeToMainFrameUrl(url, has_opener_set)); } } void TabContents::OnDidRedirectProvisionalLoad(int32 page_id, + bool has_opener_set, const GURL& source_url, const GURL& target_url) { // TODO(creis): Remove this method and have the pre-rendering code listen to @@ -921,7 +923,8 @@ void TabContents::OnDidRedirectProvisionalLoad(int32 page_id, // Notify observers about the provisional change in the main frame URL. FOR_EACH_OBSERVER(TabContentsObserver, observers_, - ProvisionalChangeToMainFrameUrl(target_url)); + ProvisionalChangeToMainFrameUrl(target_url, + has_opener_set)); } void TabContents::OnDidFailProvisionalLoadWithError( diff --git a/content/browser/tab_contents/tab_contents.h b/content/browser/tab_contents/tab_contents.h index a1e70ee..d2233f1 100644 --- a/content/browser/tab_contents/tab_contents.h +++ b/content/browser/tab_contents/tab_contents.h @@ -564,8 +564,10 @@ class TabContents : public PageNavigator, // Message handlers. void OnDidStartProvisionalLoadForFrame(int64 frame_id, bool main_frame, + bool has_opener_set, const GURL& url); void OnDidRedirectProvisionalLoad(int32 page_id, + bool has_opener_set, const GURL& source_url, const GURL& target_url); void OnDidFailProvisionalLoadWithError(int64 frame_id, diff --git a/content/browser/tab_contents/tab_contents_observer.cc b/content/browser/tab_contents/tab_contents_observer.cc index 4342aa1..ef06b0a7 100644 --- a/content/browser/tab_contents/tab_contents_observer.cc +++ b/content/browser/tab_contents/tab_contents_observer.cc @@ -48,7 +48,9 @@ void TabContentsObserver::DidStartProvisionalLoadForFrame( RenderViewHost* render_view_host) { } -void TabContentsObserver::ProvisionalChangeToMainFrameUrl(const GURL& url) { +void TabContentsObserver::ProvisionalChangeToMainFrameUrl( + const GURL& url, + bool has_opener_set) { } void TabContentsObserver::DidCommitProvisionalLoadForFrame( diff --git a/content/browser/tab_contents/tab_contents_observer.h b/content/browser/tab_contents/tab_contents_observer.h index d8598c7..1e5c379 100644 --- a/content/browser/tab_contents/tab_contents_observer.h +++ b/content/browser/tab_contents/tab_contents_observer.h @@ -56,7 +56,8 @@ class TabContentsObserver : public IPC::Channel::Listener, const GURL& validated_url, bool is_error_page, RenderViewHost* render_view_host); - virtual void ProvisionalChangeToMainFrameUrl(const GURL& url); + virtual void ProvisionalChangeToMainFrameUrl(const GURL& url, + bool has_opener_set); virtual void DidCommitProvisionalLoadForFrame( int64 frame_id, bool is_main_frame, |