Chromium Code Reviews| 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); |