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 41600207b17e20aecfae2c8b0ba5f9fffd4cf391..df57aa36620930cec613afaab18205b7a9c4355b 100644 |
| --- a/chrome/browser/prerender/prerender_resource_throttle.cc |
| +++ b/chrome/browser/prerender/prerender_resource_throttle.cc |
| @@ -13,6 +13,7 @@ |
| #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 +84,7 @@ void PrerenderResourceThrottle::OverridePrerenderContentsForTesting( |
| PrerenderResourceThrottle::PrerenderResourceThrottle(net::URLRequest* request) |
| : request_(request), |
| + load_flags_(net::LOAD_NORMAL), |
| prerender_throttle_info_(new PrerenderThrottleInfo()) {} |
| PrerenderResourceThrottle::~PrerenderResourceThrottle() {} |
| @@ -139,6 +141,7 @@ const char* PrerenderResourceThrottle::GetNameForLogging() const { |
| } |
| void PrerenderResourceThrottle::ResumeHandler() { |
| + request_->SetLoadFlags(request_->load_flags() | load_flags_); |
| 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( |
|
clamy
2016/12/23 12:33:31
Rather than having two different PostTasks, why no
pasko
2016/12/23 13:28:51
I had the same question, but then saw that ResumeH
clamy
2016/12/23 14:21:10
Acknowledged.
|
| + BrowserThread::IO, FROM_HERE, |
| + base::Bind(&PrerenderResourceThrottle::SetPrerenderMode, throttle, |
| + prerender_contents->prerender_mode())); |
| // Abort any prerenders that spawn requests that use unsupported HTTP |
| // methods or schemes. |
| @@ -271,4 +278,8 @@ PrerenderContents* PrerenderResourceThrottle::PrerenderContentsFromGetter( |
| return PrerenderContents::FromWebContents(web_contents_getter.Run()); |
| } |
| +void PrerenderResourceThrottle::SetPrerenderMode(PrerenderMode mode) { |
| + load_flags_ = (mode == PREFETCH_ONLY) ? net::LOAD_PREFETCH : net::LOAD_NORMAL; |
| +} |
| + |
| } // namespace prerender |