Commit 8353aba8 authored by Chase Phillips's avatar Chase Phillips Committed by Commit Bot

AppCache: Add checks around resource and master entry fetches

Bug: 989611
Change-Id: I44bc45661e194f78f5cfa90d59e0e78c8b20c278
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2005670
Auto-Submit: Chase Phillips <cmp@chromium.org>
Reviewed-by: default avatarVictor Costan <pwnall@chromium.org>
Commit-Queue: Chase Phillips <cmp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#734172}
parent 528fea0c
...@@ -681,6 +681,10 @@ void AppCacheUpdateJob::HandleResourceFetchCompleted(URLFetcher* url_fetcher, ...@@ -681,6 +681,10 @@ void AppCacheUpdateJob::HandleResourceFetchCompleted(URLFetcher* url_fetcher,
std::unique_ptr<URLFetcher> entry_fetcher = std::move(it->second); std::unique_ptr<URLFetcher> entry_fetcher = std::move(it->second);
pending_url_fetches_.erase(it); pending_url_fetches_.erase(it);
// URLFetcher should only trigger this for resources, even if those entries
// happen to be manifest entries.
DCHECK_EQ(entry_fetcher->fetch_type(), URLFetcher::FetchType::kResource);
NotifyAllProgress(url); NotifyAllProgress(url);
++url_fetches_completed_; ++url_fetches_completed_;
...@@ -805,6 +809,11 @@ void AppCacheUpdateJob::HandleNewMasterEntryFetchCompleted( ...@@ -805,6 +809,11 @@ void AppCacheUpdateJob::HandleNewMasterEntryFetchCompleted(
std::unique_ptr<URLFetcher> entry_fetcher = std::move(it->second); std::unique_ptr<URLFetcher> entry_fetcher = std::move(it->second);
master_entry_fetches_.erase(it); master_entry_fetches_.erase(it);
// URLFetcher triggers this function, so we verify here that the fetch type
// in URLFetcher is what we expect: kNewMasterEntry.
DCHECK_EQ(entry_fetcher->fetch_type(),
URLFetcher::FetchType::kNewMasterEntry);
++master_entries_completed_; ++master_entries_completed_;
int response_code = net_error == net::OK ? request->GetResponseCode() : -1; int response_code = net_error == net::OK ? request->GetResponseCode() : -1;
......
...@@ -146,6 +146,8 @@ void AppCacheUpdateJob::URLFetcher::AddConditionalHeaders( ...@@ -146,6 +146,8 @@ void AppCacheUpdateJob::URLFetcher::AddConditionalHeaders(
const net::HttpResponseHeaders* headers) { const net::HttpResponseHeaders* headers) {
DCHECK(request_); DCHECK(request_);
DCHECK(headers); DCHECK(headers);
DCHECK_NE(fetch_type_, FetchType::kNewMasterEntry);
net::HttpRequestHeaders extra_headers; net::HttpRequestHeaders extra_headers;
// Add If-Modified-Since header if response info has Last-Modified header. // Add If-Modified-Since header if response info has Last-Modified header.
......
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