diff options
author | acolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-21 16:13:17 +0000 |
---|---|---|
committer | acolwell@chromium.org <acolwell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-21 16:13:17 +0000 |
commit | 781ca4e4ebd35dba5012a86ef68921d0b6b9d74b (patch) | |
tree | f2039a4297a4a5ff13f6713dc46afcc2e02db41b | |
parent | 336e4489eacbb470ff5d22deb464beb9cb832422 (diff) | |
download | chromium_src-781ca4e4ebd35dba5012a86ef68921d0b6b9d74b.zip chromium_src-781ca4e4ebd35dba5012a86ef68921d0b6b9d74b.tar.gz chromium_src-781ca4e4ebd35dba5012a86ef68921d0b6b9d74b.tar.bz2 |
Fix DCHECK caused by updating total_memory_usage_ for cloned streams.
BUG=240603
Review URL: https://chromiumcodereview.appspot.com/23726048
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224586 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | content/browser/streams/stream_registry.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/content/browser/streams/stream_registry.cc b/content/browser/streams/stream_registry.cc index 1a83c41..f722f57 100644 --- a/content/browser/streams/stream_registry.cc +++ b/content/browser/streams/stream_registry.cc @@ -55,9 +55,14 @@ void StreamRegistry::UnregisterStream(const GURL& url) { if (iter == streams_.end()) return; - size_t buffered_bytes = iter->second->last_total_buffered_bytes(); - DCHECK_LE(buffered_bytes, total_memory_usage_); - total_memory_usage_ -= buffered_bytes; + // Only update |total_memory_usage_| if |url| is NOT a Stream clone because + // cloned streams do not update |total_memory_usage_|. + if (iter->second->url() == url) { + size_t buffered_bytes = iter->second->last_total_buffered_bytes(); + DCHECK_LE(buffered_bytes, total_memory_usage_); + total_memory_usage_ -= buffered_bytes; + } + streams_.erase(url); } |