Index: chrome/browser/prerender/prerender_manager.cc |
diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc |
index 2c5832a4a67ae3752d7aa999c2e262498a4d93ab..541471593e4ebfc1c0058b94ae78dc8d874f6a3b 100644 |
--- a/chrome/browser/prerender/prerender_manager.cc |
+++ b/chrome/browser/prerender/prerender_manager.cc |
@@ -529,8 +529,10 @@ WebContents* PrerenderManager::SwapInternal( |
} |
} |
- // Do not use the prerendered version if there is an opener object. |
- if (web_contents->HasOpener()) { |
+ // Do not use the prerendered version if the target WebContents has an opener |
+ // or was created with one. The latter controls whether window.close() is |
+ // allowed, so the behavior is observable. |
+ if (web_contents->CreatedWithOpener()) { |
Charlie Reis
2014/04/05 01:41:25
Unfortunately, using the opener for this was the w
davidben
2014/04/07 17:57:52
Hrm, yeah, I'd been wondering if the opener check
|
prerender_data->contents()->Destroy(FINAL_STATUS_WINDOW_OPENER); |
return NULL; |
} |