summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Karlin <jkarlin@chromium.org>2014-11-14 14:15:23 -0500
committerJosh Karlin <jkarlin@chromium.org>2014-11-14 19:16:41 +0000
commit3f72e55243bb461b53e0e1597ad4ed7a4a2c8141 (patch)
tree70299b6df4a241b63d292ee48aad947f922a29a4
parentd5bd8540a1070ee47ec3336560d79c4e0d3afc8e (diff)
downloadchromium_src-3f72e55243bb461b53e0e1597ad4ed7a4a2c8141.zip
chromium_src-3f72e55243bb461b53e0e1597ad4ed7a4a2c8141.tar.gz
chromium_src-3f72e55243bb461b53e0e1597ad4ed7a4a2c8141.tar.bz2
[ServiceWorkerCache] Check for a blob storage handle before storing it.
Note that we *really* need cache listener unit tests. Added bug 431951 for that. BUG=431905 TBR=michaeln@chromium.org Review URL: https://codereview.chromium.org/715703002 Cr-Commit-Position: refs/heads/master@{#303585} (cherry picked from commit 571592491c6fcb462c9d88d2adcddf84226e03a8) Review URL: https://codereview.chromium.org/725223002 Cr-Commit-Position: refs/branch-heads/2214@{#47} Cr-Branched-From: 03655fd3f6d72165dc3c9bd2c89807305316fe6c-refs/heads/master@{#303346}
-rw-r--r--content/browser/service_worker/service_worker_cache_listener.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/content/browser/service_worker/service_worker_cache_listener.cc b/content/browser/service_worker/service_worker_cache_listener.cc
index 911517a..e52c940 100644
--- a/content/browser/service_worker/service_worker_cache_listener.cc
+++ b/content/browser/service_worker/service_worker_cache_listener.cc
@@ -417,7 +417,8 @@ void ServiceWorkerCacheListener::OnCachePutCallback(
return;
}
- StoreBlobDataHandle(blob_data_handle.Pass());
+ if (blob_data_handle)
+ StoreBlobDataHandle(blob_data_handle.Pass());
std::vector<ServiceWorkerResponse> responses;
responses.push_back(*response);
@@ -438,6 +439,7 @@ void ServiceWorkerCacheListener::DropCacheReference(CacheID cache_id) {
void ServiceWorkerCacheListener::StoreBlobDataHandle(
scoped_ptr<storage::BlobDataHandle> blob_data_handle) {
+ DCHECK(blob_data_handle);
std::pair<UUIDToBlobDataHandleList::iterator, bool> rv =
blob_handle_store_.insert(std::make_pair(
blob_data_handle->uuid(), std::list<storage::BlobDataHandle>()));