author | Ehsan Akhgari <ehsan@mozilla.com> |
Tue, 21 Apr 2015 21:25:30 -0400 | |
changeset 241224 | b0480e99fa3838dedb90eb67fe38551177528b0e |
parent 241223 | e0f7cbf55fdf504001b81475b9d1d38f2e9ce433 |
child 241225 | 5496344c05e9947d961d8ae939ed49ddbfc93b04 |
push id | 59053 |
push user | eakhgari@mozilla.com |
push date | Mon, 27 Apr 2015 17:04:38 +0000 |
treeherder | mozilla-inbound@5496344c05e9 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | michal |
bugs | 1156771 |
milestone | 40.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/netwerk/protocol/http/nsHttpChannel.cpp +++ b/netwerk/protocol/http/nsHttpChannel.cpp @@ -36,16 +36,17 @@ #include "mozilla/TimeStamp.h" #include "nsError.h" #include "nsPrintfCString.h" #include "nsAlgorithm.h" #include "nsQueryObject.h" #include "GeckoProfiler.h" #include "nsIConsoleService.h" #include "mozilla/Attributes.h" +#include "mozilla/DebugOnly.h" #include "mozilla/Preferences.h" #include "mozilla/VisualEventTracer.h" #include "nsISSLSocketControl.h" #include "sslt.h" #include "nsContentUtils.h" #include "nsIClassOfService.h" #include "nsIPermissionManager.h" #include "nsIPrincipal.h" @@ -2788,16 +2789,20 @@ nsHttpChannel::OpenCacheEntry(bool isHtt } if (PossiblyIntercepted()) { extension.Append(nsPrintfCString("u%lld", mInterceptionID)); } // If this channel should be intercepted, we do not open a cache entry for this channel // until the interception process is complete and the consumer decides what to do with it. if (mInterceptCache == MAYBE_INTERCEPT) { + DebugOnly<bool> exists; + MOZ_ASSERT(NS_FAILED(cacheStorage->Exists(openURI, extension, &exists)) || !exists, + "The entry must not exist in the cache before we create it here"); + nsCOMPtr<nsICacheEntry> entry; rv = cacheStorage->OpenTruncate(openURI, extension, getter_AddRefs(entry)); NS_ENSURE_SUCCESS(rv, rv); nsCOMPtr<nsINetworkInterceptController> controller; GetCallback(controller); nsRefPtr<InterceptedChannelChrome> intercepted =