| Index: content/browser/renderer_host/resource_dispatcher_host.cc
|
| diff --git a/content/browser/renderer_host/resource_dispatcher_host.cc b/content/browser/renderer_host/resource_dispatcher_host.cc
|
| index c32d8b907695b8f02805d9dcebd470ebdca10201..9535cee2d01ad87cdf704260c911ecef6da41621 100644
|
| --- a/content/browser/renderer_host/resource_dispatcher_host.cc
|
| +++ b/content/browser/renderer_host/resource_dispatcher_host.cc
|
| @@ -423,6 +423,19 @@ void ResourceDispatcherHost::BeginRequest(
|
| // Otherwise, treat like a normal request, and fall-through.
|
| }
|
|
|
| + // Abort any prerenders that spawn requests that use invalid HTTP methods.
|
| + if (is_prerendering &&
|
| + !prerender::PrerenderManager::IsValidHttpMethod(request_data.method)) {
|
| + BrowserThread::PostTask(
|
| + BrowserThread::UI, FROM_HERE,
|
| + NewRunnableFunction(
|
| + prerender::DestroyPreloadForChildRouteIdPairOnUIThread,
|
| + resource_context.prerender_manager(),
|
| + std::make_pair(child_id, route_id),
|
| + prerender::FINAL_STATUS_INVALID_HTTP_METHOD));
|
| + AbortRequestBeforeItStarts(filter_, sync_result, route_id, request_id);
|
| + return;
|
| + }
|
|
|
| // Construct the event handler.
|
| scoped_refptr<ResourceHandler> handler;
|
|
|