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..884cb147f948725095303f673b2f176c70a625f3 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,9 @@ void PrerenderManager::CancelOmniboxPrerenders() { |
} |
bool PrerenderManager::MaybeUsePrerenderedPage(WebContents* web_contents, |
- const GURL& url, |
- const GURL& opener_url) { |
+ const GURL& url) { |
DCHECK(CalledOnValidThread()); |
+ DCHECK(!IsWebContentsPrerendering(web_contents)); |
RecordNavigation(url); |
scoped_ptr<PrerenderContents> prerender_contents( |
@@ -330,7 +330,9 @@ 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 && |
dominich
2012/02/28 16:21:00
I'm unclear what it means to have a NULL web_conte
cbentzel
2012/02/29 18:16:13
This is not needed anymore - thanks for the catch.
|
+ 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/28 16:21:00
nit: indent
cbentzel
2012/02/29 18:16:13
Done.
|
TabContentsWrapper* new_tab_contents = |