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 |