зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1054572 - Don't mark cache entries as classified if on the allow list r=mmc
This commit is contained in:
Родитель
4ee21d300f
Коммит
5d052eb5d5
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче