Commit 42c496dd authored by zhenw's avatar zhenw Committed by Commit bot

Add LOAD_PREFETCH flag for all requests sent by resource prefetcher

1. This allows other constraints about prefetched resources to be applied.
2. Together with another CL https://codereview.chromium.org/793823002/, the prefetched resources can temporarily bypass revalidation.

BUG=405690, 406209

Review URL: https://codereview.chromium.org/891343007

Cr-Commit-Position: refs/heads/master@{#315369}
parent 68e0874d
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "base/stl_util.h" #include "base/stl_util.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "net/base/io_buffer.h" #include "net/base/io_buffer.h"
#include "net/base/load_flags.h"
#include "net/base/request_priority.h" #include "net/base/request_priority.h"
#include "net/url_request/url_request_context.h" #include "net/url_request/url_request_context.h"
...@@ -134,6 +135,7 @@ void ResourcePrefetcher::SendRequest(Request* request) { ...@@ -134,6 +135,7 @@ void ResourcePrefetcher::SendRequest(Request* request) {
url_request->set_method("GET"); url_request->set_method("GET");
url_request->set_first_party_for_cookies(navigation_id_.main_frame_url); url_request->set_first_party_for_cookies(navigation_id_.main_frame_url);
url_request->SetReferrer(navigation_id_.main_frame_url.spec()); url_request->SetReferrer(navigation_id_.main_frame_url.spec());
url_request->SetLoadFlags(url_request->load_flags() | net::LOAD_PREFETCH);
StartURLRequest(url_request); StartURLRequest(url_request);
} }
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include "chrome/browser/predictors/resource_prefetcher_manager.h" #include "chrome/browser/predictors/resource_prefetcher_manager.h"
#include "chrome/test/base/testing_profile.h" #include "chrome/test/base/testing_profile.h"
#include "content/public/test/test_browser_thread.h" #include "content/public/test/test_browser_thread.h"
#include "net/base/load_flags.h"
#include "net/url_request/redirect_info.h" #include "net/url_request/redirect_info.h"
#include "net/url_request/url_request.h" #include "net/url_request/url_request.h"
#include "net/url_request/url_request_test_util.h" #include "net/url_request/url_request_test_util.h"
...@@ -37,6 +38,7 @@ class TestResourcePrefetcher : public ResourcePrefetcher { ...@@ -37,6 +38,7 @@ class TestResourcePrefetcher : public ResourcePrefetcher {
MOCK_METHOD1(StartURLRequest, void(net::URLRequest* request)); MOCK_METHOD1(StartURLRequest, void(net::URLRequest* request));
void ReadFullResponse(net::URLRequest* request) override { void ReadFullResponse(net::URLRequest* request) override {
EXPECT_TRUE(request->load_flags() & net::LOAD_PREFETCH);
FinishRequest(request, Request::PREFETCH_STATUS_FROM_CACHE); FinishRequest(request, Request::PREFETCH_STATUS_FROM_CACHE);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment