Index: content/browser/loader/async_revalidation_manager.cc |
diff --git a/content/browser/loader/async_revalidation_manager.cc b/content/browser/loader/async_revalidation_manager.cc |
index abdf659fd228059833fa8c422dedf0099ee207a0..719ae4a1e68ac60c2a85879211f13ddf1cb66f25 100644 |
--- a/content/browser/loader/async_revalidation_manager.cc |
+++ b/content/browser/loader/async_revalidation_manager.cc |
@@ -9,7 +9,6 @@ |
#include "base/logging.h" |
#include "content/browser/loader/async_revalidation_driver.h" |
-#include "content/browser/loader/resource_message_filter.h" |
#include "content/browser/loader/resource_request_info_impl.h" |
#include "content/browser/loader/resource_scheduler.h" |
#include "content/common/resource_messages.h" |
@@ -52,13 +51,14 @@ AsyncRevalidationManager::~AsyncRevalidationManager() { |
} |
void AsyncRevalidationManager::BeginAsyncRevalidation( |
- const net::URLRequest& for_request, |
+ net::URLRequest* for_request, |
ResourceScheduler* scheduler) { |
- DCHECK_EQ(for_request.url_chain().size(), 1u); |
- const ResourceRequestInfoImpl* info = |
- ResourceRequestInfoImpl::ForRequest(&for_request); |
+ DCHECK_EQ(for_request->url_chain().size(), 1u); |
+ ResourceRequestInfoImpl* info = |
+ ResourceRequestInfoImpl::ForRequest(for_request); |
DCHECK(info); |
- if (!info->filter()) { |
+ DCHECK(info->requester_info()->IsRenderer()); |
+ if (!info->requester_info()->filter()) { |
// The child has gone away and we can no longer get ResourceContext and |
// URLRequestContext to perform async revalidation. |
// This can happen in the following cases, ordered from bad to not-so-bad |
@@ -89,12 +89,12 @@ void AsyncRevalidationManager::BeginAsyncRevalidation( |
// The embedder of //content needs to ensure that the URLRequestContext object |
// remains valid until after the ResourceContext object is destroyed. |
- info->filter()->GetContexts(info->GetResourceType(), &resource_context, |
- &request_context); |
+ info->requester_info()->GetContexts(info->GetResourceType(), |
+ &resource_context, &request_context); |
AsyncRevalidationKey async_revalidation_key( |
resource_context, request_context->http_transaction_factory()->GetCache(), |
- for_request.url()); |
+ for_request->url()); |
std::pair<AsyncRevalidationMap::iterator, bool> insert_result = |
in_progress_.insert(AsyncRevalidationMap::value_type( |
async_revalidation_key, std::unique_ptr<AsyncRevalidationDriver>())); |
@@ -108,17 +108,18 @@ void AsyncRevalidationManager::BeginAsyncRevalidation( |
headers.AddHeadersFromString(info->original_headers()); |
// Construct the request. |
- std::unique_ptr<net::URLRequest> new_request = request_context->CreateRequest( |
- for_request.url(), net::IDLE, nullptr); |
+ std::unique_ptr<net::URLRequest> new_request = |
+ request_context->CreateRequest(for_request->url(), net::IDLE, nullptr); |
- new_request->set_method(for_request.method()); |
+ new_request->set_method(for_request->method()); |
new_request->set_first_party_for_cookies( |
- for_request.first_party_for_cookies()); |
- new_request->set_initiator(for_request.initiator()); |
- new_request->set_first_party_url_policy(for_request.first_party_url_policy()); |
+ for_request->first_party_for_cookies()); |
+ new_request->set_initiator(for_request->initiator()); |
+ new_request->set_first_party_url_policy( |
+ for_request->first_party_url_policy()); |
- new_request->SetReferrer(for_request.referrer()); |
- new_request->set_referrer_policy(for_request.referrer_policy()); |
+ new_request->SetReferrer(for_request->referrer()); |
+ new_request->set_referrer_policy(for_request->referrer_policy()); |
new_request->SetExtraRequestHeaders(headers); |
@@ -127,7 +128,7 @@ void AsyncRevalidationManager::BeginAsyncRevalidation( |
// Also remove things which shouldn't have been there to begin with, |
// and unrecognised flags. |
int load_flags = |
- for_request.load_flags() & |
+ for_request->load_flags() & |
(net::LOAD_DO_NOT_SAVE_COOKIES | net::LOAD_BYPASS_PROXY | |
net::LOAD_VERIFY_EV_CERT | net::LOAD_DO_NOT_SEND_COOKIES | |
net::LOAD_DO_NOT_SEND_AUTH_DATA | net::LOAD_MAYBE_USER_GESTURE | |