Commit 0ec75df2 authored by Ryan Sturm's avatar Ryan Sturm Committed by Commit Bot

Remove prerender pop up code

Prerender only runs in the NoState Prefetch configuration, which doesn't
run script. Since pop ups can only be opened by script or click,
removing the pop up handling code is safe.

The removed test runs in the deprecated prerender configuration.

Bug: 1038054
Change-Id: Ie2442bdd3c4d03e20f7dd7fff0f63ccc0029f816
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2161315Reviewed-by: default avatarTarun Bansal <tbansal@chromium.org>
Commit-Queue: Ryan Sturm <ryansturm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#761921}
parent 65a2a7cc
...@@ -2957,12 +2957,7 @@ bool ChromeContentBrowserClient::CanCreateWindow( ...@@ -2957,12 +2957,7 @@ bool ChromeContentBrowserClient::CanCreateWindow(
} }
#endif #endif
// Don't let prerenders open popups. DCHECK(!prerender::PrerenderContents::FromWebContents(web_contents));
if (auto* prerender_contents =
prerender::PrerenderContents::FromWebContents(web_contents)) {
prerender_contents->Destroy(prerender::FINAL_STATUS_CREATE_NEW_WINDOW);
return false;
}
BlockedWindowParams blocked_params( BlockedWindowParams blocked_params(
target_url, source_origin, opener->GetSiteInstance(), referrer, target_url, source_origin, opener->GetSiteInstance(), referrer,
......
...@@ -1107,12 +1107,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderNoSSLReferrer) { ...@@ -1107,12 +1107,6 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderNoSSLReferrer) {
NavigateToDestURL(); NavigateToDestURL();
} }
// Checks that popups on a prerendered page cause cancellation.
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPopup) {
PrerenderTestURL("/prerender/prerender_popup.html",
FINAL_STATUS_CREATE_NEW_WINDOW, 0);
}
// Checks that renderers using excessive memory will be terminated. // Checks that renderers using excessive memory will be terminated.
IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderExcessiveMemory) { IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderExcessiveMemory) {
ASSERT_TRUE(GetPrerenderManager()); ASSERT_TRUE(GetPrerenderManager());
......
...@@ -109,19 +109,6 @@ class PrerenderContents::WebContentsDelegateImpl ...@@ -109,19 +109,6 @@ class PrerenderContents::WebContentsDelegateImpl
std::move(callback).Run(false); std::move(callback).Run(false);
} }
bool IsWebContentsCreationOverridden(
content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type,
const GURL& opener_url,
const std::string& frame_name,
const GURL& target_url) override {
// Since we don't want to permit child windows that would have a
// window.opener property, terminate prerendering.
prerender_contents_->Destroy(FINAL_STATUS_CREATE_NEW_WINDOW);
// Cancel the popup.
return true;
}
bool OnGoToEntryOffset(int offset) override { bool OnGoToEntryOffset(int offset) override {
// This isn't allowed because the history merge operation // This isn't allowed because the history merge operation
// does not work if there are renderer issued challenges. // does not work if there are renderer issued challenges.
......
...@@ -22,7 +22,7 @@ enum FinalStatus { ...@@ -22,7 +22,7 @@ enum FinalStatus {
// Obsolete: FINAL_STATUS_EVICTED = 2, // Obsolete: FINAL_STATUS_EVICTED = 2,
// Obsolete: FINAL_STATUS_MANAGER_SHUTDOWN = 3, // Obsolete: FINAL_STATUS_MANAGER_SHUTDOWN = 3,
// Obsolete: FINAL_STATUS_CLOSED = 4, // Obsolete: FINAL_STATUS_CLOSED = 4,
FINAL_STATUS_CREATE_NEW_WINDOW = 5, // Obsolete: FINAL_STATUS_CREATE_NEW_WINDOW = 5,
FINAL_STATUS_PROFILE_DESTROYED = 6, FINAL_STATUS_PROFILE_DESTROYED = 6,
FINAL_STATUS_APP_TERMINATING = 7, FINAL_STATUS_APP_TERMINATING = 7,
// Obsolete: FINAL_STATUS_JAVASCRIPT_ALERT = 8, // Obsolete: FINAL_STATUS_JAVASCRIPT_ALERT = 8,
......
<html>
<!--
This test checks to make sure that a prerendered page which creates a
popup is cancelled.
-->
<head>
<title>Prerender Popup</title>
</head>
<body>
Creates a popup.
<script type="text/javascript">
window.open("doc1.html");
</script>
</body>
</html>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment