Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6946)

Unified Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 2352083003: Allow top-level navigation in extension pop-ups if it only triggers a download. (Closed)
Patch Set: Changed bug reference (in a TODO comment) to a fresh bug. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/chrome_content_renderer_client.cc
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index e697090a73f8365f19011e067d2accc10792fcad..de14cb2d7570fd28d69d16a819ee8928eff23d19 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -1096,6 +1096,16 @@ bool ChromeContentRendererClient::ShouldFork(WebLocalFrame* frame,
return true;
}
+ // TODO(lukasza): https://crbug.com/650694: For now, we skip the rest for POST
+ // submissions. This is because 1) in M54 there are some remaining issues
+ // with POST in OpenURL path (e.g. https://crbug.com/648648) and 2) OpenURL
+ // path regresses (blocks) navigations that result in downloads
+ // (https://crbug.com/646261). In the long-term we should avoid forking for
+ // extensions (not hosted apps though) altogether and rely on transfers logic
+ // instead.
+ if (http_method != "GET")
+ return false;
+
// If |url| matches one of the prerendered URLs, stop this navigation and try
// to swap in the prerendered page on the browser process. If the prerendered
// page no longer exists by the time the OpenURL IPC is handled, a normal

Powered by Google App Engine
This is Rietveld 408576698