Bug 1312954 - Part 1: Add the nsILoadContextInfo as one additional argument of nsILoadContextInfo.onCacheEntryInfo() and CacheStorageService::EntryInfoCallback.OnEntryInfo(). r=mayhemer

This commit is contained in:
Tim Huang 2017-02-02 22:14:00 -05:00
Родитель ed17f6c827
Коммит f747db3bbd
7 изменённых файлов: 24 добавлений и 11 удалений

Просмотреть файл

@ -2020,7 +2020,7 @@ NS_IMETHODIMP
Predictor::Resetter::OnCacheEntryInfo(nsIURI *uri, const nsACString &idEnhance,
int64_t dataSize, int32_t fetchCount,
uint32_t lastModifiedTime, uint32_t expirationTime,
bool aPinned)
bool aPinned, nsILoadContextInfo* aInfo)
{
MOZ_ASSERT(NS_IsMainThread());

Просмотреть файл

@ -2467,7 +2467,8 @@ CacheFileIOManager::GetEntryInfo(const SHA1Sum::Hash *aHash,
// Call directly on the callback.
aCallback->OnEntryInfo(uriSpec, enhanceId, dataSize, fetchCount,
lastModified, expirationTime, metadata->Pinned());
lastModified, expirationTime, metadata->Pinned(),
info);
return NS_OK;
}

Просмотреть файл

@ -325,7 +325,7 @@ private:
virtual void OnEntryInfo(const nsACString & aURISpec, const nsACString & aIdEnhance,
int64_t aDataSize, int32_t aFetchCount,
uint32_t aLastModifiedTime, uint32_t aExpirationTime,
bool aPinned) override
bool aPinned, nsILoadContextInfo* aInfo) override
{
nsresult rv;
@ -336,7 +336,8 @@ private:
}
rv = mCallback->OnCacheEntryInfo(uri, aIdEnhance, aDataSize, aFetchCount,
aLastModifiedTime, aExpirationTime, aPinned);
aLastModifiedTime, aExpirationTime,
aPinned, aInfo);
if (NS_FAILED(rv)) {
LOG((" callback failed, canceling the walk"));
mCancel = true;
@ -403,7 +404,7 @@ private:
rv = mWalker->mCallback->OnCacheEntryInfo(
uri, mIdEnhance, mDataSize, mFetchCount,
mLastModifiedTime, mExpirationTime, mPinned);
mLastModifiedTime, mExpirationTime, mPinned, mInfo);
if (NS_FAILED(rv)) {
mWalker->mCancel = true;
}
@ -420,6 +421,7 @@ private:
uint32_t mLastModifiedTime;
uint32_t mExpirationTime;
bool mPinned;
nsCOMPtr<nsILoadContextInfo> mInfo;
};
NS_IMETHOD Run() override
@ -500,7 +502,7 @@ private:
virtual void OnEntryInfo(const nsACString & aURISpec, const nsACString & aIdEnhance,
int64_t aDataSize, int32_t aFetchCount,
uint32_t aLastModifiedTime, uint32_t aExpirationTime,
bool aPinned) override
bool aPinned, nsILoadContextInfo* aInfo) override
{
// Called directly from CacheFileIOManager::GetEntryInfo.
@ -513,6 +515,7 @@ private:
info->mLastModifiedTime = aLastModifiedTime;
info->mExpirationTime = aExpirationTime;
info->mPinned = aPinned;
info->mInfo = aInfo;
NS_DispatchToMainThread(info);
}
@ -1988,6 +1991,12 @@ CacheStorageService::GetCacheEntryInfo(CacheEntry* aEntry,
nsCString const uriSpec = aEntry->GetURI();
nsCString const enhanceId = aEntry->GetEnhanceID();
nsAutoCString entryKey;
aEntry->HashingKeyWithStorage(entryKey);
nsCOMPtr<nsILoadContextInfo> info =
CacheFileUtils::ParseKey(entryKey);
uint32_t dataSize;
if (NS_FAILED(aEntry->GetStorageDataSize(&dataSize))) {
dataSize = 0;
@ -2007,7 +2016,7 @@ CacheStorageService::GetCacheEntryInfo(CacheEntry* aEntry,
aCallback->OnEntryInfo(uriSpec, enhanceId, dataSize,
fetchCount, lastModified, expirationTime,
aEntry->IsPinned());
aEntry->IsPinned(), info);
}
// static

Просмотреть файл

@ -105,7 +105,7 @@ public:
virtual void OnEntryInfo(const nsACString & aURISpec, const nsACString & aIdEnhance,
int64_t aDataSize, int32_t aFetchCount,
uint32_t aLastModifiedTime, uint32_t aExpirationTime,
bool aPinned) = 0;
bool aPinned, nsILoadContextInfo* aInfo) = 0;
};
// Invokes OnEntryInfo for the given aEntry, synchronously.

Просмотреть файл

@ -262,7 +262,8 @@ NS_IMETHODIMP _OldVisitCallbackWrapper::VisitEntry(const char * deviceID,
// Send them to the consumer.
rv = mCB->OnCacheEntryInfo(
uri, enhanceId, (int64_t)dataSize, fetchCount, lastModified, expirationTime, false);
uri, enhanceId, (int64_t)dataSize, fetchCount, lastModified,
expirationTime, false, mLoadInfo);
*_retval = NS_SUCCEEDED(rv);
return NS_OK;

Просмотреть файл

@ -6,6 +6,7 @@
interface nsIURI;
interface nsIFile;
interface nsILoadContextInfo;
[scriptable, uuid(6cc7c253-93b6-482b-8e9d-1e04d8e9d655)]
interface nsICacheStorageVisitor : nsISupports
@ -25,7 +26,8 @@ interface nsICacheStorageVisitor : nsISupports
in long aFetchCount,
in uint32_t aLastModifiedTime,
in uint32_t aExpirationTime,
in boolean aPinned);
in boolean aPinned,
in nsILoadContextInfo aInfo);
/**
*/

Просмотреть файл

@ -396,7 +396,7 @@ NS_IMETHODIMP
nsAboutCache::Channel::OnCacheEntryInfo(nsIURI *aURI, const nsACString & aIdEnhance,
int64_t aDataSize, int32_t aFetchCount,
uint32_t aLastModified, uint32_t aExpirationTime,
bool aPinned)
bool aPinned, nsILoadContextInfo* aInfo)
{
// We need mStream for this
if (!mStream || mCancel) {