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

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

Issue 2566163002: [PlzNavigate] Add load flags for prefetch navigations (Closed)
Patch Set: Less hacky implementation Created 4 years 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 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.

Powered by Google App Engine
This is Rietveld 408576698