Bug 741059 - Part 4: Update the callers to mozIAsyncFavicon::SetAndFetchFaviconForPage; r=jdm,bz,mak

This commit is contained in:
Ehsan Akhgari
2012-09-06 00:34:50 -04:00
parent 368298ce10
commit 86b8096134
20 changed files with 101 additions and 37 deletions

View File

@@ -8152,8 +8152,9 @@ class nsCopyFaviconCallback MOZ_FINAL : public nsIFaviconDataCallback
public:
NS_DECL_ISUPPORTS
nsCopyFaviconCallback(nsIURI *aNewURI)
nsCopyFaviconCallback(nsIURI *aNewURI, bool aInPrivateBrowsing)
: mNewURI(aNewURI)
, mInPrivateBrowsing(aInPrivateBrowsing)
{
}
@@ -8173,23 +8174,28 @@ public:
NS_ENSURE_STATE(favSvc);
return favSvc->SetAndFetchFaviconForPage(mNewURI, aFaviconURI,
false, nullptr);
false,
mInPrivateBrowsing ?
nsIFaviconService::FAVICON_LOAD_PRIVATE :
nsIFaviconService::FAVICON_LOAD_NON_PRIVATE,
nullptr);
}
private:
nsCOMPtr<nsIURI> mNewURI;
bool mInPrivateBrowsing;
};
NS_IMPL_ISUPPORTS1(nsCopyFaviconCallback, nsIFaviconDataCallback)
// Tell the favicon service that aNewURI has the same favicon as aOldURI.
void CopyFavicon(nsIURI *aOldURI, nsIURI *aNewURI)
void CopyFavicon(nsIURI *aOldURI, nsIURI *aNewURI, bool inPrivateBrowsing)
{
nsCOMPtr<mozIAsyncFavicons> favSvc =
do_GetService("@mozilla.org/browser/favicon-service;1");
if (favSvc) {
nsCOMPtr<nsIFaviconDataCallback> callback =
new nsCopyFaviconCallback(aNewURI);
new nsCopyFaviconCallback(aNewURI, inPrivateBrowsing);
favSvc->GetFaviconURLForPage(aOldURI, callback);
}
}
@@ -8856,7 +8862,7 @@ nsDocShell::InternalLoad(nsIURI * aURI,
// Inform the favicon service that the favicon for oldURI also
// applies to aURI.
CopyFavicon(oldURI, aURI);
CopyFavicon(oldURI, aURI, mInPrivateBrowsing);
return NS_OK;
}
@@ -10195,7 +10201,7 @@ nsDocShell::AddState(nsIVariant *aData, const nsAString& aTitle,
// Inform the favicon service that our old favicon applies to this new
// URI.
CopyFavicon(oldURI, newURI);
CopyFavicon(oldURI, newURI, mInPrivateBrowsing);
}
else {
FireDummyOnLocationChange();