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

Unified Diff: chrome/browser/prerender/prerender_resource_throttle.cc

Issue 2355453002: [NoStatePrefetch] Support only GET and HEAD (Closed)
Patch Set: Review comments 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/browser/prerender/prerender_resource_throttle.cc
diff --git a/chrome/browser/prerender/prerender_resource_throttle.cc b/chrome/browser/prerender/prerender_resource_throttle.cc
index 200e2865557792db5a3c5c694c05a6bfac76474b..2ed43b81345901874916ed5fe529478dd48365f7 100644
--- a/chrome/browser/prerender/prerender_resource_throttle.cc
+++ b/chrome/browser/prerender/prerender_resource_throttle.cc
@@ -121,8 +121,13 @@ void PrerenderResourceThrottle::WillStartRequestOnUI(
if (prerender_contents) {
// Abort any prerenders that spawn requests that use unsupported HTTP
// methods or schemes.
- if (!PrerenderManager::IsValidHttpMethod(method)) {
- prerender_contents->Destroy(FINAL_STATUS_INVALID_HTTP_METHOD);
+ if (!prerender_contents->IsValidHttpMethod(method)) {
+ // If the HTTP method is invalid, cancel the request, but don't cancel the
+ // whole prefetch unless this is the main frame.
mmenke 2016/09/21 16:56:20 Think this would be clearer if it said what we're
droger 2016/09/22 08:42:01 Done.
+ if (prerender_contents->prerender_mode() == FULL_PRERENDER ||
+ resource_type == content::RESOURCE_TYPE_MAIN_FRAME) {
+ prerender_contents->Destroy(FINAL_STATUS_INVALID_HTTP_METHOD);
+ }
cancel = true;
} else if (!PrerenderManager::DoesSubresourceURLHaveValidScheme(url)) {
prerender_contents->Destroy(FINAL_STATUS_UNSUPPORTED_SCHEME);

Powered by Google App Engine
This is Rietveld 408576698