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

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: Addresing Chris's comments. Created 9 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
Index: chrome/browser/prerender/prerender_observer.cc
diff --git a/chrome/browser/prerender/prerender_observer.cc b/chrome/browser/prerender/prerender_observer.cc
index 52d377a80ba53725210bcb1a350d4cd65559819a..dd06792d043a356660f7b373fcbad86b62a3adaa 100644
--- a/chrome/browser/prerender/prerender_observer.cc
+++ b/chrome/browser/prerender/prerender_observer.cc
@@ -20,11 +20,12 @@ 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)
prerender_manager->MarkTabContentsAsNotPrerendered(tab_contents());
- MaybeUsePreloadedPage(url);
+ MaybeUsePreloadedPage(url, has_opener_set);
}
bool PrerenderObserver::OnMessageReceived(const IPC::Message& message) {
@@ -37,6 +38,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) {
if (is_main_frame) {
// Record the beginning of a new PPLT navigation.
@@ -59,12 +61,14 @@ 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 &&
- prerender_manager->MaybeUsePreloadedPage(tab_contents(), url))
- return true;
- return false;
+
+ return prerender_manager &&
+ prerender_manager->MaybeUsePreloadedPage(tab_contents(),
+ url,
+ has_opener_set);
}
} // namespace prerender

Powered by Google App Engine
This is Rietveld 408576698