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 dbc6c6559b2c8986d37c1ecbba0bc76a9d3f3416..63277c9735f5362a59491ca5097a72169a9afdad 100644 |
| --- a/chrome/browser/prerender/prerender_resource_throttle.cc |
| +++ b/chrome/browser/prerender/prerender_resource_throttle.cc |
| @@ -9,10 +9,10 @@ |
| #include "base/numerics/safe_conversions.h" |
| #include "build/build_config.h" |
| #include "chrome/browser/prerender/prerender_final_status.h" |
| -#include "chrome/browser/prerender/prerender_manager.h" |
| #include "chrome/browser/prerender/prerender_util.h" |
| #include "content/public/browser/browser_thread.h" |
| #include "content/public/browser/web_contents.h" |
| +#include "net/base/load_flags.h" |
| #include "net/http/http_response_headers.h" |
| #include "net/url_request/redirect_info.h" |
| #include "net/url_request/url_request.h" |
| @@ -83,6 +83,7 @@ void PrerenderResourceThrottle::OverridePrerenderContentsForTesting( |
| PrerenderResourceThrottle::PrerenderResourceThrottle(net::URLRequest* request) |
| : request_(request), |
| + prerender_mode_(NO_PRERENDER), |
| prerender_throttle_info_(new PrerenderThrottleInfo()) {} |
| PrerenderResourceThrottle::~PrerenderResourceThrottle() {} |
| @@ -139,6 +140,8 @@ const char* PrerenderResourceThrottle::GetNameForLogging() const { |
| } |
| void PrerenderResourceThrottle::ResumeHandler() { |
| + if (prerender_mode_ == PREFETCH_ONLY) |
|
mattcary
2016/12/15 15:58:41
Is there any reason to defer setting the load flag
droger
2016/12/15 16:32:36
Done.
|
| + request_->SetLoadFlags(request_->load_flags() | net::LOAD_PREFETCH); |
| Resume(); |
| } |
| @@ -158,6 +161,10 @@ void PrerenderResourceThrottle::WillStartRequestOnUI( |
| prerender_throttle_info->Set(prerender_contents->prerender_mode(), |
| prerender_contents->origin(), |
| prerender_contents->prerender_manager()); |
| + BrowserThread::PostTask( |
| + BrowserThread::IO, FROM_HERE, |
| + base::Bind(&PrerenderResourceThrottle::set_prerender_mode, throttle, |
| + prerender_contents->prerender_mode())); |
| // Abort any prerenders that spawn requests that use unsupported HTTP |
| // methods or schemes. |