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 138785a7df0093d648f3140f3e8e18d95b94f2ff..7a2ddc8da0715218d180f1eaf561693323a8c354 100644 |
| --- a/chrome/browser/prerender/prerender_manager.cc |
| +++ b/chrome/browser/prerender/prerender_manager.cc |
| @@ -35,7 +35,7 @@ |
| #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
| #include "chrome/common/chrome_notification_types.h" |
| #include "chrome/common/chrome_switches.h" |
| -#include "chrome/common/render_messages.h" |
| +#include "chrome/common/prerender_messages.h" |
| #include "content/browser/in_process_webkit/session_storage_namespace.h" |
| #include "content/browser/renderer_host/render_view_host.h" |
| #include "content/public/browser/browser_thread.h" |
| @@ -316,9 +316,10 @@ void PrerenderManager::CancelOmniboxPrerenders() { |
| } |
| bool PrerenderManager::MaybeUsePrerenderedPage(WebContents* web_contents, |
| - const GURL& url, |
| - const GURL& opener_url) { |
| + const GURL& url) { |
| DCHECK(CalledOnValidThread()); |
| + DCHECK(web_contents); |
| + DCHECK(!IsWebContentsPrerendering(web_contents)); |
| RecordNavigation(url); |
| scoped_ptr<PrerenderContents> prerender_contents( |
| @@ -330,7 +331,8 @@ bool PrerenderManager::MaybeUsePrerenderedPage(WebContents* web_contents, |
| // window.opener property has the same origin as the url. |
| // NOTE: This is broken in the cases where the document domain is modified |
| // using the javascript property for "document.domain". |
| - if (opener_url.GetOrigin() == url.GetOrigin()) { |
| + // TODO(cbentzel): I think the document.domain case is fixed now. |
| + if (web_contents->GetOpenerOrigin() == url.GetOrigin()) { |
| prerender_contents.release()->Destroy(FINAL_STATUS_WINDOW_OPENER); |
| return false; |
| } |
| @@ -416,7 +418,7 @@ bool PrerenderManager::MaybeUsePrerenderedPage(WebContents* web_contents, |
| prerender_contents->set_final_status(FINAL_STATUS_USED); |
| new_render_view_host->Send( |
| - new ChromeViewMsg_SetIsPrerendering(new_render_view_host->routing_id(), |
| + new PrerenderMsg_SetIsPrerendering(new_render_view_host->routing_id(), |
| false)); |
|
dominich
2012/02/29 19:44:35
nit: indent is off by one.
|
| TabContentsWrapper* new_tab_contents = |