Chromium Code Reviews| Index: chrome/browser/prerender/prerender_manager.cc |
| diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc |
| index 93fff740e5d0ffa46c87dc7dcc2d50df4c89ec9d..d583be56c0bef50c6c73ddc42e8ecb6446a8d181 100644 |
| --- a/chrome/browser/prerender/prerender_manager.cc |
| +++ b/chrome/browser/prerender/prerender_manager.cc |
| @@ -411,13 +411,23 @@ PrerenderContents* PrerenderManager::GetEntry(const GURL& url) { |
| return GetEntryButNotSpecifiedTC(url, NULL); |
| } |
| -bool PrerenderManager::MaybeUsePreloadedPageOld(TabContents* tab_contents, |
| - const GURL& url) { |
| +bool PrerenderManager::MaybeUsePreloadedPageOld( |
| + TabContents* tab_contents, |
| + const GURL& url, |
| + const PrerenderManager::PrerenderedPageProperties& properties) { |
| DCHECK(CalledOnValidThread()); |
| scoped_ptr<PrerenderContents> prerender_contents(GetEntry(url)); |
| if (prerender_contents.get() == NULL) |
| return false; |
| + // Do not use the prerendered version if the opener window.property was |
| + // supposed to be set. |
| + if (properties.has_opener_set_) { |
| + LOG(ERROR) << "Not using prerendered page."; |
|
cbentzel
2011/05/04 17:10:15
Remove LOG(ERROR)
Shishir
2011/05/05 23:09:54
Done.
|
| + prerender_contents->set_final_status(FINAL_STATUS_WINDOW_OPENER); |
| + return false; |
| + } |
| + |
| // If we are just in the control group (which can be detected by noticing |
| // that prerendering hasn't even started yet), record that |tab_contents| now |
| // would be showing a prerendered contents, but otherwise, don't do anything. |
| @@ -497,11 +507,14 @@ bool PrerenderManager::MaybeUsePreloadedPageOld(TabContents* tab_contents, |
| return true; |
| } |
| -bool PrerenderManager::MaybeUsePreloadedPage(TabContents* tab_contents, |
| - const GURL& url) { |
| +bool PrerenderManager::MaybeUsePreloadedPage( |
| + TabContents* tab_contents, |
| + const GURL& url, |
| + const PrerenderManager::PrerenderedPageProperties& properties) { |
| if (!PrerenderContents::UseTabContents()) { |
| LOG(INFO) << "Checking for prerender with LEGACY code\n"; |
| - return PrerenderManager::MaybeUsePreloadedPageOld(tab_contents, url); |
| + return PrerenderManager::MaybeUsePreloadedPageOld(tab_contents, url, |
| + properties); |
| } |
| LOG(INFO) << "Checking for prerender with NEW code\n"; |
| DCHECK(CalledOnValidThread()); |
| @@ -510,6 +523,14 @@ bool PrerenderManager::MaybeUsePreloadedPage(TabContents* tab_contents, |
| if (prerender_contents.get() == NULL) |
| return false; |
| + // Do not use the prerendered version if the opener window.property was |
| + // supposed to be set. |
| + if (properties.has_opener_set_) { |
| + LOG(ERROR) << "Not using prerendered page."; |
|
cbentzel
2011/05/04 17:10:15
Remove LOG(ERROR)
Shishir
2011/05/05 23:09:54
Done.
|
| + prerender_contents->set_final_status(FINAL_STATUS_WINDOW_OPENER); |
| + return false; |
| + } |
| + |
| // If we are just in the control group (which can be detected by noticing |
| // that prerendering hasn't even started yet), record that |tab_contents| now |
| // would be showing a prerendered contents, but otherwise, don't do anything. |