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

Unified Diff: chrome/browser/prerender/prerender_observer.cc

Issue 6915019: Changes to not use the prerendered contents when window.opener needs to be set. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Synced for Commit. Created 9 years, 7 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/prerender/prerender_observer.cc
diff --git a/chrome/browser/prerender/prerender_observer.cc b/chrome/browser/prerender/prerender_observer.cc
index d00aa32a61742b4b5eac12309ab6165ede4e8dda..64db37ab742fbf38a8dc2f7da0e2fe5096adb3bf 100644
--- a/chrome/browser/prerender/prerender_observer.cc
+++ b/chrome/browser/prerender/prerender_observer.cc
@@ -20,14 +20,15 @@ PrerenderObserver::PrerenderObserver(TabContents* tab_contents)
PrerenderObserver::~PrerenderObserver() {
}
-void PrerenderObserver::ProvisionalChangeToMainFrameUrl(const GURL& url) {
+void PrerenderObserver::ProvisionalChangeToMainFrameUrl(const GURL& url,
+ bool has_opener_set) {
PrerenderManager* prerender_manager = MaybeGetPrerenderManager();
if (!prerender_manager)
return;
if (prerender_manager->IsTabContentsPrerendering(tab_contents()))
return;
prerender_manager->MarkTabContentsAsNotPrerendered(tab_contents());
- MaybeUsePreloadedPage(url);
+ MaybeUsePreloadedPage(url, has_opener_set);
prerender_manager->RecordNavigation(url);
}
@@ -41,6 +42,7 @@ bool PrerenderObserver::OnMessageReceived(const IPC::Message& message) {
void PrerenderObserver::OnDidStartProvisionalLoadForFrame(int64 frame_id,
bool is_main_frame,
+ bool has_opener_set,
const GURL& url) {
// Don't include prerendered pages in the PPLT metric until after they are
// swapped in.
@@ -72,14 +74,15 @@ PrerenderManager* PrerenderObserver::MaybeGetPrerenderManager() {
return tab_contents()->profile()->GetPrerenderManager();
}
-bool PrerenderObserver::MaybeUsePreloadedPage(const GURL& url) {
+bool PrerenderObserver::MaybeUsePreloadedPage(const GURL& url,
+ bool has_opener_set) {
PrerenderManager* prerender_manager = MaybeGetPrerenderManager();
if (!prerender_manager)
return false;
DCHECK(!prerender_manager->IsTabContentsPrerendering(tab_contents()));
- if (prerender_manager->MaybeUsePreloadedPage(tab_contents(), url))
- return true;
- return false;
+ return prerender_manager->MaybeUsePreloadedPage(tab_contents(),
+ url,
+ has_opener_set);
}
bool PrerenderObserver::IsPrerendering() {
« no previous file with comments | « chrome/browser/prerender/prerender_observer.h ('k') | chrome/browser/prerender/prerender_render_view_host_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698