Bug 1054572 - Don't mark cache entries as classified if on the allow list r=mmc

This commit is contained in:
Steve Workman 2014-08-22 10:49:28 -07:00
Родитель 4ee21d300f
Коммит 5d052eb5d5
2 изменённых файлов: 10 добавлений и 2 удалений

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

@ -41,6 +41,7 @@ NS_IMPL_ISUPPORTS(nsChannelClassifier,
nsIURIClassifierCallback)
nsChannelClassifier::nsChannelClassifier()
: mIsAllowListed(false)
{
#if defined(PR_LOGGING)
if (!gChannelClassifierLog)
@ -122,7 +123,12 @@ nsChannelClassifier::ShouldEnableTrackingProtection(nsIChannel *aChannel,
}
#endif
*result = permissions != nsIPermissionManager::ALLOW_ACTION;
if (permissions == nsIPermissionManager::ALLOW_ACTION) {
mIsAllowListed = true;
*result = false;
} else {
*result = true;
}
// Tracking protection will be enabled so return without updating
// the security state. If any channels are subsequently cancelled
@ -259,7 +265,7 @@ void
nsChannelClassifier::MarkEntryClassified(nsresult status)
{
// Don't cache tracking classifications because we support allowlisting.
if (status == NS_ERROR_TRACKING_URI) {
if (status == NS_ERROR_TRACKING_URI || mIsAllowListed) {
return;
}

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

@ -24,6 +24,8 @@ public:
private:
nsCOMPtr<nsIChannel> mSuspendedChannel;
// Set true if the channel is on the allow list.
bool mIsAllowListed;
~nsChannelClassifier() {}
void MarkEntryClassified(nsresult status);