Backed out changeset dfc775a144ad (bug 1504728) for Brwoser-chrome failure in browser/base/content/test/trackingUI/browser_trackingUI_trackers_subview.js. CLOSED TREE

This commit is contained in:
Dorel Luca 2018-11-19 18:34:50 +02:00
parent d6df0e3688
commit 3a97449464
34 changed files with 82 additions and 371 deletions

View File

@ -153,7 +153,6 @@ function startTest1() {
gAllNotifications = [ gAllNotifications = [
"onStateChange", "onStateChange",
"onSecurityChange",
"onLocationChange", "onLocationChange",
"onSecurityChange", "onSecurityChange",
"onStateChange", "onStateChange",
@ -166,7 +165,6 @@ function startTest2() {
info("\nTest 2"); info("\nTest 2");
gAllNotifications = [ gAllNotifications = [
"onStateChange", "onStateChange",
"onSecurityChange",
"onLocationChange", "onLocationChange",
"onSecurityChange", "onSecurityChange",
"onStateChange", "onStateChange",
@ -179,7 +177,6 @@ function startTest3() {
info("\nTest 3"); info("\nTest 3");
gAllNotifications = [ gAllNotifications = [
"onStateChange", "onStateChange",
"onSecurityChange",
"onLocationChange", "onLocationChange",
"onSecurityChange", "onSecurityChange",
"onStateChange", "onStateChange",
@ -192,7 +189,6 @@ function startTest4() {
info("\nTest 4"); info("\nTest 4");
gAllNotifications = [ gAllNotifications = [
"onStateChange", "onStateChange",
"onSecurityChange",
"onLocationChange", "onLocationChange",
"onSecurityChange", "onSecurityChange",
"onStateChange", "onStateChange",
@ -213,7 +209,6 @@ function startTest5() {
gAllNotifications = [ gAllNotifications = [
"onStateChange", "onStateChange",
"onSecurityChange",
"onLocationChange", "onLocationChange",
"onSecurityChange", "onSecurityChange",
"onStateChange", "onStateChange",
@ -226,7 +221,6 @@ function startTest6() {
info("\nTest 6"); info("\nTest 6");
gAllNotifications = [ gAllNotifications = [
"onStateChange", "onStateChange",
"onSecurityChange",
"onLocationChange", "onLocationChange",
"onSecurityChange", "onSecurityChange",
"onStateChange", "onStateChange",

View File

@ -189,19 +189,19 @@ add_task(async function navigate_around() {
}, },
"security.insecure_connection_icon.pbmode.enabled": { "security.insecure_connection_icon.pbmode.enabled": {
min: 20, min: 20,
max: 60, max: 30,
}, },
"security.insecure_connection_icon.enabled": { "security.insecure_connection_icon.enabled": {
min: 20, min: 20,
max: 60, max: 30,
}, },
"security.insecure_connection_text.enabled": { "security.insecure_connection_text.enabled": {
min: 20, min: 20,
max: 60, max: 30,
}, },
"security.insecure_connection_text.pbmode.enabled": { "security.insecure_connection_text.pbmode.enabled": {
min: 20, min: 20,
max: 60, max: 30,
}, },
"toolkit.cosmeticAnimations.enabled": { "toolkit.cosmeticAnimations.enabled": {
min: 45, min: 45,

View File

@ -31,11 +31,11 @@ add_task(async function() {
BrowserTestUtils.loadURI(browser, uri); BrowserTestUtils.loadURI(browser, uri);
await BrowserTestUtils.browserLoaded(browser, false, uri); await BrowserTestUtils.browserLoaded(browser, false, uri);
is(onLocationChangeCount, 1, "should have 1 onLocationChange event"); is(onLocationChangeCount, 1, "should have 1 onLocationChange event");
is(onSecurityChangeCount, 2, "should have 2 onSecurityChange event"); is(onSecurityChangeCount, 1, "should have 1 onSecurityChange event");
await ContentTask.spawn(browser, null, async () => { await ContentTask.spawn(browser, null, async () => {
content.history.pushState({}, "", "https://example.com"); content.history.pushState({}, "", "https://example.com");
}); });
is(onLocationChangeCount, 2, "should have 2 onLocationChange events"); is(onLocationChangeCount, 2, "should have 2 onLocationChange events");
is(onSecurityChangeCount, 2, "should still have only 2 onSecurityChange event"); is(onSecurityChangeCount, 1, "should still have only 1 onSecurityChange event");
}); });
}); });

View File

@ -11,8 +11,6 @@ const BENIGN_PAGE = "http://tracking.example.org/browser/browser/base/content/te
const TRACKING_PAGE = "http://tracking.example.org/browser/browser/base/content/test/trackingUI/trackingPage.html"; const TRACKING_PAGE = "http://tracking.example.org/browser/browser/base/content/test/trackingUI/trackingPage.html";
const COOKIE_PAGE = "http://tracking.example.org/browser/browser/base/content/test/trackingUI/cookiePage.html"; const COOKIE_PAGE = "http://tracking.example.org/browser/browser/base/content/test/trackingUI/cookiePage.html";
requestLongerTimeout(2);
registerCleanupFunction(function() { registerCleanupFunction(function() {
UrlClassifierTestUtils.cleanupTestTrackers(); UrlClassifierTestUtils.cleanupTestTrackers();
Services.prefs.clearUserPref(TP_PREF); Services.prefs.clearUserPref(TP_PREF);
@ -85,7 +83,7 @@ async function testTrackingProtectionAnimation(tabbrowser) {
ok(!ContentBlocking.iconBox.hasAttribute("animate"), "iconBox not animating"); ok(!ContentBlocking.iconBox.hasAttribute("animate"), "iconBox not animating");
info("Reload tracking cookies tab"); info("Reload tracking cookies tab");
securityChanged = waitForSecurityChange(tabbrowser, 4); securityChanged = waitForSecurityChange(tabbrowser, 2);
tabbrowser.reload(); tabbrowser.reload();
await securityChanged; await securityChanged;
@ -94,7 +92,7 @@ async function testTrackingProtectionAnimation(tabbrowser) {
await BrowserTestUtils.waitForEvent(ContentBlocking.animatedIcon, "animationend"); await BrowserTestUtils.waitForEvent(ContentBlocking.animatedIcon, "animationend");
info("Reload tracking tab"); info("Reload tracking tab");
securityChanged = waitForSecurityChange(tabbrowser, 5); securityChanged = waitForSecurityChange(tabbrowser, 3);
tabbrowser.selectedTab = trackingTab; tabbrowser.selectedTab = trackingTab;
tabbrowser.reload(); tabbrowser.reload();
await securityChanged; await securityChanged;
@ -104,7 +102,7 @@ async function testTrackingProtectionAnimation(tabbrowser) {
await BrowserTestUtils.waitForEvent(ContentBlocking.animatedIcon, "animationend"); await BrowserTestUtils.waitForEvent(ContentBlocking.animatedIcon, "animationend");
info("Inject tracking cookie inside tracking tab"); info("Inject tracking cookie inside tracking tab");
securityChanged = waitForSecurityChange(tabbrowser, 2); securityChanged = waitForSecurityChange(tabbrowser);
await ContentTask.spawn(tabbrowser.selectedBrowser, {}, await ContentTask.spawn(tabbrowser.selectedBrowser, {},
function() { function() {
content.postMessage("cookie", "*"); content.postMessage("cookie", "*");
@ -128,7 +126,7 @@ async function testTrackingProtectionAnimation(tabbrowser) {
tabbrowser.selectedTab = trackingCookiesTab; tabbrowser.selectedTab = trackingCookiesTab;
info("Inject tracking cookie inside tracking cookies tab"); info("Inject tracking cookie inside tracking cookies tab");
securityChanged = waitForSecurityChange(tabbrowser, 2); securityChanged = waitForSecurityChange(tabbrowser);
await ContentTask.spawn(tabbrowser.selectedBrowser, {}, await ContentTask.spawn(tabbrowser.selectedBrowser, {},
function() { function() {
content.postMessage("cookie", "*"); content.postMessage("cookie", "*");
@ -139,7 +137,7 @@ async function testTrackingProtectionAnimation(tabbrowser) {
ok(!ContentBlocking.iconBox.hasAttribute("animate"), "iconBox not animating"); ok(!ContentBlocking.iconBox.hasAttribute("animate"), "iconBox not animating");
info("Inject tracking element inside tracking cookies tab"); info("Inject tracking element inside tracking cookies tab");
securityChanged = waitForSecurityChange(tabbrowser, 2); securityChanged = waitForSecurityChange(tabbrowser);
await ContentTask.spawn(tabbrowser.selectedBrowser, {}, await ContentTask.spawn(tabbrowser.selectedBrowser, {},
function() { function() {
content.postMessage("tracking", "*"); content.postMessage("tracking", "*");

View File

@ -51,7 +51,7 @@ add_task(async function testShieldHistogram() {
getShieldHistogram().clear(); getShieldHistogram().clear();
await promiseTabLoadEvent(tab, BENIGN_PAGE); await promiseTabLoadEvent(tab, BENIGN_PAGE);
is(getShieldCounts()[0], 2, "Page loads without tracking"); is(getShieldCounts()[0], 1, "Page loads without tracking");
await promiseTabLoadEvent(tab, TRACKING_PAGE); await promiseTabLoadEvent(tab, TRACKING_PAGE);
// Note that right now the shield histogram is not measuring what // Note that right now the shield histogram is not measuring what

View File

@ -1512,14 +1512,6 @@ nsDocShell::GetHasForeignCookiesBeenBlocked(bool* aHasForeignCookiesBeenBlocked)
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP
nsDocShell::GetHasCookiesLoaded(bool* aHasCookiesLoaded)
{
nsCOMPtr<nsIDocument> doc(GetDocument());
*aHasCookiesLoaded = doc && doc->GetHasCookiesLoaded();
return NS_OK;
}
NS_IMETHODIMP NS_IMETHODIMP
nsDocShell::GetAllowPlugins(bool* aAllowPlugins) nsDocShell::GetAllowPlugins(bool* aAllowPlugins)
{ {

View File

@ -649,12 +649,6 @@ interface nsIDocShell : nsIDocShellTreeItem
*/ */
[infallible] readonly attribute boolean hasForeignCookiesBeenBlocked; [infallible] readonly attribute boolean hasForeignCookiesBeenBlocked;
/**
* This attribute determines whether a document seen cookies or storage
* attempts ever whether they've been allowed or blocked.
*/
[infallible] readonly attribute boolean hasCookiesLoaded;
/** /**
* Disconnects this docshell's editor from its window, and stores the * Disconnects this docshell's editor from its window, and stores the
* editor data in the open document's session history entry. This * editor data in the open document's session history entry. This

View File

@ -544,17 +544,16 @@ Navigator::CookieEnabled()
} }
uint32_t rejectedReason = 0; uint32_t rejectedReason = 0;
bool granted = if (AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor(mWindow,
AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor(mWindow, codebaseURI,
codebaseURI, &rejectedReason)) {
&rejectedReason); return true;
}
AntiTrackingCommon::NotifyBlockingDecision(mWindow, if (rejectedReason) {
granted ? AntiTrackingCommon::NotifyRejection(mWindow, rejectedReason);
AntiTrackingCommon::BlockingDecision::eAllow : }
AntiTrackingCommon::BlockingDecision::eBlock, return false;
rejectedReason);
return granted;
} }
bool bool

View File

@ -8956,19 +8956,11 @@ nsContentUtils::StorageDisabledByAntiTracking(nsPIDOMWindowInner* aWindow,
bool disabled = bool disabled =
StorageDisabledByAntiTrackingInternal(aWindow, aChannel, aPrincipal, aURI, StorageDisabledByAntiTrackingInternal(aWindow, aChannel, aPrincipal, aURI,
&rejectedReason); &rejectedReason);
if (sAntiTrackingControlCenterUIEnabled) { if (disabled && sAntiTrackingControlCenterUIEnabled && rejectedReason) {
if (aWindow) { if (aWindow) {
AntiTrackingCommon::NotifyBlockingDecision(aWindow, AntiTrackingCommon::NotifyRejection(aWindow, rejectedReason);
disabled ?
AntiTrackingCommon::BlockingDecision::eBlock :
AntiTrackingCommon::BlockingDecision::eAllow,
rejectedReason);
} else if (aChannel) { } else if (aChannel) {
AntiTrackingCommon::NotifyBlockingDecision(aChannel, AntiTrackingCommon::NotifyRejection(aChannel, rejectedReason);
disabled ?
AntiTrackingCommon::BlockingDecision::eBlock :
AntiTrackingCommon::BlockingDecision::eAllow,
rejectedReason);
} }
} }
return disabled; return disabled;

View File

@ -5383,14 +5383,6 @@ nsGlobalWindowOuter::NotifyContentBlockingState(unsigned aState,
if (!aBlocked) { if (!aBlocked) {
unblocked = !doc->GetHasForeignCookiesBlocked(); unblocked = !doc->GetHasForeignCookiesBlocked();
} }
} else if (aState == nsIWebProgressListener::STATE_COOKIES_LOADED) {
MOZ_ASSERT(!aBlocked, "We don't expected to see blocked STATE_COOKIES_LOADED");
// Note that the logic in this branch is the logical negation of the logic
// in other branches, since the nsIDocument API we have is phrased in
// "loaded" terms as opposed to "blocked" terms.
doc->SetHasCookiesLoaded(!aBlocked, origin);
aBlocked = true;
unblocked = false;
} else { } else {
// Ignore nsIWebProgressListener::STATE_BLOCKED_UNSAFE_CONTENT; // Ignore nsIWebProgressListener::STATE_BLOCKED_UNSAFE_CONTENT;
} }

View File

@ -1111,26 +1111,6 @@ public:
aHasCookiesBlockedByPermission); aHasCookiesBlockedByPermission);
} }
/**
* Set the cookies loaded flag for this document.
*/
void SetHasCookiesLoaded(bool aHasCookiesLoaded,
const nsAString& aOriginLoaded)
{
RecordContentBlockingLog(aOriginLoaded,
nsIWebProgressListener::STATE_COOKIES_LOADED,
aHasCookiesLoaded);
}
/**
* Get cookies loaded flag for this document.
*/
bool GetHasCookiesLoaded()
{
return mContentBlockingLog.HasBlockedAnyOfType(
nsIWebProgressListener::STATE_COOKIES_LOADED);
}
/** /**
* Get tracking content loaded flag for this document. * Get tracking content loaded flag for this document.
*/ */

View File

@ -38,13 +38,6 @@ SimpleChannelParent::NotifyTrackingProtectionDisabled()
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP
SimpleChannelParent::NotifyCookieAllowed()
{
// Nothing to do.
return NS_OK;
}
NS_IMETHODIMP NS_IMETHODIMP
SimpleChannelParent::NotifyTrackingCookieBlocked(uint32_t aRejectedReason) SimpleChannelParent::NotifyTrackingCookieBlocked(uint32_t aRejectedReason)
{ {

View File

@ -34,12 +34,6 @@ interface nsIParentChannel : nsIStreamListener
*/ */
[noscript] void notifyTrackingProtectionDisabled(); [noscript] void notifyTrackingProtectionDisabled();
/**
* Called to notify the HttpChannelChild that cookie has been allowed for
* this load.
*/
[noscript] void notifyCookieAllowed();
/** /**
* Called to notify the HttpChannelChild that cookie has been blocked for * Called to notify the HttpChannelChild that cookie has been blocked for
* this load. * this load.

View File

@ -2269,7 +2269,6 @@ nsCookieService::SetCookieStringInternal(nsIURI *aHostURI,
return; return;
case STATUS_ACCEPTED: // Fallthrough case STATUS_ACCEPTED: // Fallthrough
case STATUS_ACCEPT_SESSION: case STATUS_ACCEPT_SESSION:
NotifyAccepted(aChannel);
if (aIsForeign) { if (aIsForeign) {
NotifyThirdParty(aHostURI, true, aChannel); NotifyThirdParty(aHostURI, true, aChannel);
} }
@ -2289,14 +2288,6 @@ nsCookieService::SetCookieStringInternal(nsIURI *aHostURI,
} }
} }
void
nsCookieService::NotifyAccepted(nsIChannel* aChannel)
{
AntiTrackingCommon::NotifyBlockingDecision(aChannel,
AntiTrackingCommon::BlockingDecision::eAllow,
0);
}
// notify observers that a cookie was rejected due to the users' prefs. // notify observers that a cookie was rejected due to the users' prefs.
void void
nsCookieService::NotifyRejected(nsIURI *aHostURI, nsIChannel* aChannel, nsCookieService::NotifyRejected(nsIURI *aHostURI, nsIChannel* aChannel,
@ -2307,9 +2298,7 @@ nsCookieService::NotifyRejected(nsIURI *aHostURI, nsIChannel* aChannel,
os->NotifyObservers(aHostURI, "cookie-rejected", nullptr); os->NotifyObservers(aHostURI, "cookie-rejected", nullptr);
} }
AntiTrackingCommon::NotifyBlockingDecision(aChannel, AntiTrackingCommon::NotifyRejection(aChannel, aRejectedReason);
AntiTrackingCommon::BlockingDecision::eBlock,
aRejectedReason);
} }
// notify observers that a third-party cookie was accepted/rejected // notify observers that a third-party cookie was accepted/rejected

View File

@ -319,7 +319,6 @@ class nsCookieService final : public nsICookieService
bool FindSecureCookie(const nsCookieKey& aKey, nsCookie* aCookie); bool FindSecureCookie(const nsCookieKey& aKey, nsCookie* aCookie);
void FindStaleCookies(nsCookieEntry *aEntry, int64_t aCurrentTime, const mozilla::Maybe<bool> &aIsSecure, nsTArray<nsListIter>& aOutput, uint32_t aLimit); void FindStaleCookies(nsCookieEntry *aEntry, int64_t aCurrentTime, const mozilla::Maybe<bool> &aIsSecure, nsTArray<nsListIter>& aOutput, uint32_t aLimit);
void TelemetryForEvictingStaleCookie(nsCookie* aEvicted, int64_t oldestCookieTime); void TelemetryForEvictingStaleCookie(nsCookie* aEvicted, int64_t oldestCookieTime);
void NotifyAccepted(nsIChannel* aChannel);
void NotifyRejected(nsIURI *aHostURI, nsIChannel* aChannel, uint32_t aRejectedReason); void NotifyRejected(nsIURI *aHostURI, nsIChannel* aChannel, uint32_t aRejectedReason);
void NotifyThirdParty(nsIURI *aHostURI, bool aAccepted, nsIChannel *aChannel); void NotifyThirdParty(nsIURI *aHostURI, bool aAccepted, nsIChannel *aChannel);
void NotifyChanged(nsISupports *aSubject, const char16_t *aData, bool aOldCookieIsSession = false, bool aFromHttp = false); void NotifyChanged(nsISupports *aSubject, const char16_t *aData, bool aOldCookieIsSession = false, bool aFromHttp = false);

View File

@ -38,13 +38,6 @@ DataChannelParent::NotifyTrackingProtectionDisabled()
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP
DataChannelParent::NotifyCookieAllowed()
{
// Nothing to do.
return NS_OK;
}
NS_IMETHODIMP NS_IMETHODIMP
DataChannelParent::NotifyTrackingCookieBlocked(uint32_t aRejectedReason) DataChannelParent::NotifyTrackingCookieBlocked(uint32_t aRejectedReason)
{ {

View File

@ -38,13 +38,6 @@ FileChannelParent::NotifyTrackingProtectionDisabled()
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP
FileChannelParent::NotifyCookieAllowed()
{
// Nothing to do.
return NS_OK;
}
NS_IMETHODIMP NS_IMETHODIMP
FileChannelParent::NotifyTrackingCookieBlocked(uint32_t aRejectedReason) FileChannelParent::NotifyTrackingCookieBlocked(uint32_t aRejectedReason)
{ {

View File

@ -577,13 +577,6 @@ FTPChannelParent::NotifyTrackingProtectionDisabled()
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP
FTPChannelParent::NotifyCookieAllowed()
{
// One day, this should probably be filled in.
return NS_OK;
}
NS_IMETHODIMP NS_IMETHODIMP
FTPChannelParent::NotifyTrackingCookieBlocked(uint32_t aRejectedReason) FTPChannelParent::NotifyTrackingCookieBlocked(uint32_t aRejectedReason)
{ {

View File

@ -348,21 +348,6 @@ HttpBackgroundChannelChild::RecvNotifyTrackingProtectionDisabled()
return IPC_OK(); return IPC_OK();
} }
IPCResult
HttpBackgroundChannelChild::RecvNotifyCookieAllowed()
{
LOG(("HttpBackgroundChannelChild::RecvNotifyCookieAllowed [this=%p]\n", this));
MOZ_ASSERT(OnSocketThread());
if (NS_WARN_IF(!mChannelChild)) {
return IPC_OK();
}
mChannelChild->ProcessNotifyCookieAllowed();
return IPC_OK();
}
IPCResult IPCResult
HttpBackgroundChannelChild::RecvNotifyTrackingCookieBlocked(const uint32_t& aRejectedReason) HttpBackgroundChannelChild::RecvNotifyTrackingCookieBlocked(const uint32_t& aRejectedReason)
{ {

View File

@ -65,8 +65,6 @@ protected:
IPCResult RecvNotifyTrackingProtectionDisabled() override; IPCResult RecvNotifyTrackingProtectionDisabled() override;
IPCResult RecvNotifyCookieAllowed() override;
IPCResult RecvNotifyTrackingCookieBlocked(const uint32_t& aRejectedReason) override; IPCResult RecvNotifyTrackingCookieBlocked(const uint32_t& aRejectedReason) override;
IPCResult RecvNotifyTrackingResource(const bool& aIsThirdParty) override; IPCResult RecvNotifyTrackingResource(const bool& aIsThirdParty) override;

View File

@ -379,35 +379,6 @@ HttpBackgroundChannelParent::OnNotifyTrackingProtectionDisabled()
return SendNotifyTrackingProtectionDisabled(); return SendNotifyTrackingProtectionDisabled();
} }
bool
HttpBackgroundChannelParent::OnNotifyCookieAllowed()
{
LOG(("HttpBackgroundChannelParent::OnNotifyCookieAllowed [this=%p]\n", this));
AssertIsInMainProcess();
if (NS_WARN_IF(!mIPCOpened)) {
return false;
}
if (!IsOnBackgroundThread()) {
MutexAutoLock lock(mBgThreadMutex);
RefPtr<HttpBackgroundChannelParent> self = this;
nsresult rv = mBackgroundThread->Dispatch(
NS_NewRunnableFunction(
"net::HttpBackgroundChannelParent::OnNotifyCookieAllowed",
[self]() {
self->OnNotifyCookieAllowed();
}),
NS_DISPATCH_NORMAL);
MOZ_DIAGNOSTIC_ASSERT(NS_SUCCEEDED(rv));
return NS_SUCCEEDED(rv);
}
return SendNotifyCookieAllowed();
}
bool bool
HttpBackgroundChannelParent::OnNotifyTrackingCookieBlocked(uint32_t aRejectedReason) HttpBackgroundChannelParent::OnNotifyTrackingCookieBlocked(uint32_t aRejectedReason)
{ {

View File

@ -69,9 +69,6 @@ public:
// To send NotifyTrackingProtectionDisabled message over background channel. // To send NotifyTrackingProtectionDisabled message over background channel.
bool OnNotifyTrackingProtectionDisabled(); bool OnNotifyTrackingProtectionDisabled();
// To send NotifyCookieAllowed message over background channel.
bool OnNotifyCookieAllowed();
// To send NotifyTrackingCookieBlocked message over background channel. // To send NotifyTrackingCookieBlocked message over background channel.
bool OnNotifyTrackingCookieBlocked(uint32_t aRejectedReason); bool OnNotifyTrackingCookieBlocked(uint32_t aRejectedReason);

View File

@ -2050,25 +2050,6 @@ HttpChannelChild::ProcessNotifyTrackingProtectionDisabled()
NS_DISPATCH_NORMAL); NS_DISPATCH_NORMAL);
} }
void
HttpChannelChild::ProcessNotifyCookieAllowed()
{
LOG(("HttpChannelChild::ProcessNotifyCookieAllowed [this=%p]\n", this));
MOZ_ASSERT(OnSocketThread());
RefPtr<HttpChannelChild> self = this;
nsCOMPtr<nsIEventTarget> neckoTarget = GetNeckoTarget();
neckoTarget->Dispatch(
NS_NewRunnableFunction(
"nsChannelClassifier::NotifyBlockingDecision",
[self]() {
AntiTrackingCommon::NotifyBlockingDecision(self,
AntiTrackingCommon::BlockingDecision::eAllow,
0);
}),
NS_DISPATCH_NORMAL);
}
void void
HttpChannelChild::ProcessNotifyTrackingCookieBlocked(uint32_t aRejectedReason) HttpChannelChild::ProcessNotifyTrackingCookieBlocked(uint32_t aRejectedReason)
{ {
@ -2081,9 +2062,7 @@ HttpChannelChild::ProcessNotifyTrackingCookieBlocked(uint32_t aRejectedReason)
NS_NewRunnableFunction( NS_NewRunnableFunction(
"nsChannelClassifier::NotifyTrackingCookieBlocked", "nsChannelClassifier::NotifyTrackingCookieBlocked",
[self, aRejectedReason]() { [self, aRejectedReason]() {
AntiTrackingCommon::NotifyBlockingDecision(self, AntiTrackingCommon::NotifyRejection(self, aRejectedReason);
AntiTrackingCommon::BlockingDecision::eBlock,
aRejectedReason);
}), }),
NS_DISPATCH_NORMAL); NS_DISPATCH_NORMAL);
} }

View File

@ -259,7 +259,6 @@ private:
void ProcessFlushedForDiversion(); void ProcessFlushedForDiversion();
void ProcessDivertMessages(); void ProcessDivertMessages();
void ProcessNotifyTrackingProtectionDisabled(); void ProcessNotifyTrackingProtectionDisabled();
void ProcessNotifyCookieAllowed();
void ProcessNotifyTrackingCookieBlocked(uint32_t aRejectedReason); void ProcessNotifyTrackingCookieBlocked(uint32_t aRejectedReason);
void ProcessNotifyTrackingResource(bool aIsThirdParty); void ProcessNotifyTrackingResource(bool aIsThirdParty);
void ProcessSetClassifierMatchedInfo(const nsCString& aList, void ProcessSetClassifierMatchedInfo(const nsCString& aList,

View File

@ -1903,17 +1903,6 @@ HttpChannelParent::NotifyTrackingProtectionDisabled()
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP
HttpChannelParent::NotifyCookieAllowed()
{
LOG(("HttpChannelParent::NotifyCookieAllowed [this=%p]\n", this));
if (!mIPCClosed) {
MOZ_ASSERT(mBgParent);
Unused << NS_WARN_IF(!mBgParent->OnNotifyCookieAllowed());
}
return NS_OK;
}
NS_IMETHODIMP NS_IMETHODIMP
HttpChannelParent::NotifyTrackingCookieBlocked(uint32_t aRejectedReason) HttpChannelParent::NotifyTrackingCookieBlocked(uint32_t aRejectedReason)
{ {

View File

@ -56,9 +56,6 @@ child:
// Tell the child that tracking protection was disabled for this load. // Tell the child that tracking protection was disabled for this load.
async NotifyTrackingProtectionDisabled(); async NotifyTrackingProtectionDisabled();
// Tell the child that cookies are allowed for this load.
async NotifyCookieAllowed();
// Tell the child that tracking cookies are blocked for this load. // Tell the child that tracking cookies are blocked for this load.
async NotifyTrackingCookieBlocked(uint32_t aRejectedReason); async NotifyTrackingCookieBlocked(uint32_t aRejectedReason);

View File

@ -832,18 +832,12 @@ nsHttpChannel::ConnectOnTailUnblock()
LOG(("nsHttpChannel::ConnectOnTailUnblock [this=%p]\n", this)); LOG(("nsHttpChannel::ConnectOnTailUnblock [this=%p]\n", this));
bool isTrackingResource = mIsThirdPartyTrackingResource; // is atomic bool isTrackingResource = mIsThirdPartyTrackingResource; // is atomic
if (isTrackingResource) { if (isTrackingResource && CheckFastBlocked()) {
bool engageFastBlock = CheckFastBlocked(); AntiTrackingCommon::NotifyRejection(this,
AntiTrackingCommon::NotifyBlockingDecision(this, nsIWebProgressListener::STATE_BLOCKED_SLOW_TRACKING_CONTENT);
engageFastBlock ? Unused << AsyncAbort(NS_ERROR_TRACKING_ANNOTATION_URI);
AntiTrackingCommon::BlockingDecision::eBlock : CloseCacheEntry(false);
AntiTrackingCommon::BlockingDecision::eAllow, return NS_OK;
nsIWebProgressListener::STATE_BLOCKED_SLOW_TRACKING_CONTENT);
if (engageFastBlock) {
Unused << AsyncAbort(NS_ERROR_TRACKING_ANNOTATION_URI);
CloseCacheEntry(false);
return NS_OK;
}
} }
// Consider opening a TCP connection right away. // Consider opening a TCP connection right away.

View File

@ -208,10 +208,6 @@ nsSecureBrowserUIImpl::CheckForBlockedContent()
if (docShell->GetHasAllCookiesBeenBlocked()) { if (docShell->GetHasAllCookiesBeenBlocked()) {
mState |= STATE_COOKIES_BLOCKED_ALL; mState |= STATE_COOKIES_BLOCKED_ALL;
} }
if (docShell->GetHasCookiesLoaded()) {
mState |= STATE_COOKIES_LOADED;
}
} }
// Helper function to determine if the given URI can be considered secure. // Helper function to determine if the given URI can be considered secure.

View File

@ -229,8 +229,7 @@ ReportBlockingToConsole(nsPIDOMWindowOuter* aWindow, nsIURI* aURI,
uint32_t aRejectedReason) uint32_t aRejectedReason)
{ {
MOZ_ASSERT(aWindow && aURI); MOZ_ASSERT(aWindow && aURI);
MOZ_ASSERT(aRejectedReason == 0 || MOZ_ASSERT(aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_BY_PERMISSION ||
aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_BY_PERMISSION ||
aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER || aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER ||
aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_ALL || aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_ALL ||
aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_FOREIGN || aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_FOREIGN ||
@ -495,7 +494,7 @@ AntiTrackingCommon::AddFirstPartyStorageAccessGrantedFor(nsIPrincipal* aPrincipa
LOG_SPEC(("Tracking principal (%s) hasn't been interacted with before, " LOG_SPEC(("Tracking principal (%s) hasn't been interacted with before, "
"refusing to add a first-party storage permission to access it", "refusing to add a first-party storage permission to access it",
_spec), trackingURI); _spec), trackingURI);
NotifyBlockingDecision(aParentWindow, BlockingDecision::eBlock, blockReason); NotifyRejection(aParentWindow, blockReason);
return StorageAccessGrantPromise::CreateAndReject(false, __func__); return StorageAccessGrantPromise::CreateAndReject(false, __func__);
} }
@ -1206,41 +1205,26 @@ AntiTrackingCommon::IsOnContentBlockingAllowList(nsIURI* aTopWinURI,
} }
/* static */ void /* static */ void
AntiTrackingCommon::NotifyBlockingDecision(nsIChannel* aChannel, AntiTrackingCommon::NotifyRejection(nsIChannel* aChannel,
BlockingDecision aDecision, uint32_t aRejectedReason)
uint32_t aRejectedReason)
{ {
MOZ_ASSERT(aRejectedReason == 0 || MOZ_ASSERT(aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_BY_PERMISSION ||
aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_BY_PERMISSION ||
aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER || aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER ||
aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_ALL || aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_ALL ||
aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_FOREIGN || aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_FOREIGN ||
aRejectedReason == nsIWebProgressListener::STATE_BLOCKED_SLOW_TRACKING_CONTENT); aRejectedReason == nsIWebProgressListener::STATE_BLOCKED_SLOW_TRACKING_CONTENT);
MOZ_ASSERT(aDecision == BlockingDecision::eBlock ||
aDecision == BlockingDecision::eAllow);
if (!aChannel) { if (!aChannel) {
return; return;
} }
// When we allow loads, collapse all cookie related reason codes into STATE_COOKIES_LOADED.
bool sendCookieLoadedNotification = false;
if (aRejectedReason != nsIWebProgressListener::STATE_BLOCKED_SLOW_TRACKING_CONTENT) {
sendCookieLoadedNotification = true;
}
// Can be called in EITHER the parent or child process. // Can be called in EITHER the parent or child process.
nsCOMPtr<nsIParentChannel> parentChannel; nsCOMPtr<nsIParentChannel> parentChannel;
NS_QueryNotificationCallbacks(aChannel, parentChannel); NS_QueryNotificationCallbacks(aChannel, parentChannel);
if (parentChannel) { if (parentChannel) {
// This channel is a parent-process proxy for a child process request. // This channel is a parent-process proxy for a child process request.
// Tell the child process channel to do this instead. // Tell the child process channel to do this instead.
if (aDecision == BlockingDecision::eBlock) { parentChannel->NotifyTrackingCookieBlocked(aRejectedReason);
parentChannel->NotifyTrackingCookieBlocked(aRejectedReason);
} else {
// Ignore the code related to fastblock
parentChannel->NotifyCookieAllowed();
}
return; return;
} }
@ -1262,38 +1246,22 @@ AntiTrackingCommon::NotifyBlockingDecision(nsIChannel* aChannel,
nsCOMPtr<nsIURI> uri; nsCOMPtr<nsIURI> uri;
aChannel->GetURI(getter_AddRefs(uri)); aChannel->GetURI(getter_AddRefs(uri));
if (aDecision == BlockingDecision::eBlock) { pwin->NotifyContentBlockingState(aRejectedReason, aChannel, true, uri);
pwin->NotifyContentBlockingState(aRejectedReason, aChannel, true, uri);
ReportBlockingToConsole(pwin, uri, aRejectedReason); ReportBlockingToConsole(pwin, uri, aRejectedReason);
}
if (sendCookieLoadedNotification) {
pwin->NotifyContentBlockingState(nsIWebProgressListener::STATE_COOKIES_LOADED,
aChannel, false, uri);
}
} }
/* static */ void /* static */ void
AntiTrackingCommon::NotifyBlockingDecision(nsPIDOMWindowInner* aWindow, AntiTrackingCommon::NotifyRejection(nsPIDOMWindowInner* aWindow,
BlockingDecision aDecision, uint32_t aRejectedReason)
uint32_t aRejectedReason)
{ {
MOZ_ASSERT(aWindow); MOZ_ASSERT(aWindow);
MOZ_ASSERT(aRejectedReason == 0 || MOZ_ASSERT(aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_BY_PERMISSION ||
aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_BY_PERMISSION ||
aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER || aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER ||
aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_ALL || aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_ALL ||
aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_FOREIGN || aRejectedReason == nsIWebProgressListener::STATE_COOKIES_BLOCKED_FOREIGN ||
aRejectedReason == nsIWebProgressListener::STATE_BLOCKED_SLOW_TRACKING_CONTENT); aRejectedReason == nsIWebProgressListener::STATE_BLOCKED_SLOW_TRACKING_CONTENT);
MOZ_ASSERT(aDecision == BlockingDecision::eBlock ||
aDecision == BlockingDecision::eAllow);
// When we allow loads, collapse all cookie related reason codes into STATE_COOKIES_LOADED.
bool sendCookieLoadedNotification = false;
if (aRejectedReason != nsIWebProgressListener::STATE_BLOCKED_SLOW_TRACKING_CONTENT) {
sendCookieLoadedNotification = true;
}
nsCOMPtr<nsPIDOMWindowOuter> pwin = GetTopWindow(aWindow); nsCOMPtr<nsPIDOMWindowOuter> pwin = GetTopWindow(aWindow);
if (!pwin) { if (!pwin) {
@ -1319,16 +1287,9 @@ AntiTrackingCommon::NotifyBlockingDecision(nsPIDOMWindowInner* aWindow,
} }
nsIURI* uri = document->GetDocumentURI(); nsIURI* uri = document->GetDocumentURI();
if (aDecision == BlockingDecision::eBlock) { pwin->NotifyContentBlockingState(aRejectedReason, channel, true, uri);
pwin->NotifyContentBlockingState(aRejectedReason, channel, true, uri);
ReportBlockingToConsole(pwin, uri, aRejectedReason); ReportBlockingToConsole(pwin, uri, aRejectedReason);
}
if (sendCookieLoadedNotification) {
pwin->NotifyContentBlockingState(nsIWebProgressListener::STATE_COOKIES_LOADED,
channel, false, uri);
}
} }
/* static */ void /* static */ void

View File

@ -129,18 +129,10 @@ public:
ContentBlockingAllowListPurpose aPurpose, ContentBlockingAllowListPurpose aPurpose,
bool& aIsAllowListed); bool& aIsAllowListed);
enum class BlockingDecision {
eBlock,
eAllow,
};
// This method can be called on the parent process or on the content process. // This method can be called on the parent process or on the content process.
// The notification is propagated to the child channel if aChannel is a parent // The notification is propagated to the child channel if aChannel is a parent
// channel proxy. // channel proxy.
// //
// aDecision can be eBlock if we have decided to block some content, or eAllow
// if we have decided to allow the content through.
//
// aRejectedReason must be one of these values: // aRejectedReason must be one of these values:
// * nsIWebProgressListener::STATE_COOKIES_BLOCKED_BY_PERMISSION // * nsIWebProgressListener::STATE_COOKIES_BLOCKED_BY_PERMISSION
// * nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER // * nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER
@ -148,12 +140,10 @@ public:
// * nsIWebProgressListener::STATE_COOKIES_BLOCKED_FOREIGN // * nsIWebProgressListener::STATE_COOKIES_BLOCKED_FOREIGN
// * nsIWebProgressListener::STATE_BLOCKED_SLOW_TRACKING_CONTENT // * nsIWebProgressListener::STATE_BLOCKED_SLOW_TRACKING_CONTENT
static void static void
NotifyBlockingDecision(nsIChannel* aChannel, BlockingDecision aDecision, NotifyRejection(nsIChannel* aChannel, uint32_t aRejectedReason);
uint32_t aRejectedReason);
static void static void
NotifyBlockingDecision(nsPIDOMWindowInner* aWindow, BlockingDecision aDecision, NotifyRejection(nsPIDOMWindowInner* aWindow, uint32_t aRejectedReason);
uint32_t aRejectedReason);
}; };
} // namespace mozilla } // namespace mozilla

View File

@ -156,54 +156,29 @@ add_task(async function() {
is(text, 1, "One cookie received received for scripts."); is(text, 1, "One cookie received received for scripts.");
}); });
let expectTrackerBlocked = (item, blocked) => {
is(item[0], Ci.nsIWebProgressListener.STATE_COOKIES_BLOCKED_TRACKER,
"Correct blocking type reported");
is(item[1], blocked,
"Correct blocking status reported");
ok(item[2] >= 1,
"Correct repeat count reported");
};
let expectTrackerFound = item => {
is(item[0], Ci.nsIWebProgressListener.STATE_LOADED_TRACKING_CONTENT,
"Correct blocking type reported");
is(item[1], true,
"Correct blocking status reported");
ok(item[2] >= 1,
"Correct repeat count reported");
};
let expectCookiesLoaded = item => {
is(item[0], Ci.nsIWebProgressListener.STATE_COOKIES_LOADED,
"Correct blocking type reported");
is(item[1], true,
"Correct blocking status reported");
ok(item[2] >= 1,
"Correct repeat count reported");
};
let log = JSON.parse(await browser.getContentBlockingLog()); let log = JSON.parse(await browser.getContentBlockingLog());
for (let trackerOrigin in log) { for (let trackerOrigin in log) {
is(trackerOrigin, TEST_3RD_PARTY_DOMAIN, "Correct tracker origin must be reported"); is(trackerOrigin, TEST_3RD_PARTY_DOMAIN, "Correct tracker origin must be reported");
let originLog = log[trackerOrigin]; let originLog = log[trackerOrigin];
is(originLog.length, 16, "We should have 16 entries in the compressed log"); is(originLog.length, 3, "We should have 3 entries in the compressed log");
expectTrackerFound(originLog[0]); is(originLog[0][0], Ci.nsIWebProgressListener.STATE_LOADED_TRACKING_CONTENT,
expectCookiesLoaded(originLog[1]); "Correct blocking type reported");
expectTrackerBlocked(originLog[2], true); is(originLog[0][1], true,
expectCookiesLoaded(originLog[3]); "Correct blocking status reported");
expectTrackerBlocked(originLog[4], true); ok(originLog[0][2] >= 1,
expectCookiesLoaded(originLog[5]); "Correct repeat count reported");
expectTrackerBlocked(originLog[6], true); is(originLog[1][0], Ci.nsIWebProgressListener.STATE_COOKIES_BLOCKED_TRACKER,
expectCookiesLoaded(originLog[7]); "Correct blocking type reported");
expectTrackerBlocked(originLog[8], true); is(originLog[1][1], true,
expectCookiesLoaded(originLog[9]); "Correct blocking status reported");
expectTrackerBlocked(originLog[10], true); is(originLog[1][2], 6,
expectCookiesLoaded(originLog[11]); "Correct repeat count reported");
expectTrackerBlocked(originLog[12], true); is(originLog[2][0], Ci.nsIWebProgressListener.STATE_COOKIES_BLOCKED_TRACKER,
expectCookiesLoaded(originLog[13]); "Correct blocking type reported");
expectTrackerBlocked(originLog[14], false); is(originLog[2][1], false,
expectCookiesLoaded(originLog[15]); "Correct blocking status reported");
ok(originLog[2][2] >= 1,
"Correct repeat count reported");
} }
info("Removing the tab"); info("Removing the tab");

View File

@ -365,16 +365,10 @@ this.AntiTracking = {
let originLog = contentBlockingLog[trackerOrigin]; let originLog = contentBlockingLog[trackerOrigin];
for (let i = 0; i < originLog.length; ++i) { for (let i = 0; i < originLog.length; ++i) {
let item = originLog[i]; let item = originLog[i];
switch (item[0]) { is(item[0], Ci.nsIWebProgressListener.STATE_LOADED_TRACKING_CONTENT,
case Ci.nsIWebProgressListener.STATE_LOADED_TRACKING_CONTENT: "Correct blocking type must be reported");
is(item[1], true, "Correct blocking status reported"); is(item[1], true, "Correct blocking status reported");
ok(item[2] >= 1, "Correct repeat count reported"); ok(item[2] >= 1, "Correct repeat count reported");
break;
case Ci.nsIWebProgressListener.STATE_COOKIES_LOADED:
is(item[1], true, "Correct blocking status reported");
ok(item[2] >= 1, "Correct repeat count reported");
break;
}
} }
} }
} }
@ -554,11 +548,20 @@ this.AntiTracking = {
contentBlockingLog = JSON.parse(contentBlockingLogJSON); contentBlockingLog = JSON.parse(contentBlockingLogJSON);
} catch (e) { } catch (e) {
} }
// If this is the first cookie to be blocked, our state should have
// just changed, otherwise it should have previously contained the
// STATE_COOKIES_BLOCKED_TRACKER bit too.
if (cookieBlocked) { if (cookieBlocked) {
if (cookieBlocked == 1) {
is(oldState & Ci.nsIWebProgressListener.STATE_COOKIES_BLOCKED_TRACKER, 0,
"When blocking the first cookie, old state should not have had the " +
"STATE_COOKIES_BLOCKED_TRACKER bit");
}
for (let trackerOrigin in contentBlockingLog) { for (let trackerOrigin in contentBlockingLog) {
is(trackerOrigin, TEST_3RD_PARTY_DOMAIN, "Correct tracker origin must be reported"); is(trackerOrigin, TEST_3RD_PARTY_DOMAIN, "Correct tracker origin must be reported");
let originLog = contentBlockingLog[trackerOrigin]; let originLog = contentBlockingLog[trackerOrigin];
ok(originLog.length >= 1, "We should have at least two items in the log"); ok(originLog.length > 1, "We should have at least two items in the log");
for (let i = 0; i < originLog.length; ++i) { for (let i = 0; i < originLog.length; ++i) {
let item = originLog[i]; let item = originLog[i];
switch (item[0]) { switch (item[0]) {
@ -580,10 +583,6 @@ this.AntiTracking = {
is(item[2], 1, "Correct repeat count reported"); is(item[2], 1, "Correct repeat count reported");
} }
break; break;
case Ci.nsIWebProgressListener.STATE_COOKIES_LOADED:
is(item[1], true, "Correct blocking status reported");
ok(item[2] >= 1, "Correct repeat count reported");
break;
} }
} }
} }
@ -697,18 +696,17 @@ this.AntiTracking = {
} }
for (let trackerOrigin in contentBlockingLog) { for (let trackerOrigin in contentBlockingLog) {
is(trackerOrigin, TEST_3RD_PARTY_DOMAIN, "Correct tracker origin must be reported");
let originLog = contentBlockingLog[trackerOrigin]; let originLog = contentBlockingLog[trackerOrigin];
ok(originLog.length >= 1, "We should have at least two items in the log"); ok(originLog.length > 1, "We should have at least two items in the log");
for (let i = 0; i < originLog.length; ++i) { for (let i = 0; i < originLog.length; ++i) {
let item = originLog[i]; let item = originLog[i];
switch (item[0]) { switch (item[0]) {
case Ci.nsIWebProgressListener.STATE_LOADED_TRACKING_CONTENT: case Ci.nsIWebProgressListener.STATE_LOADED_TRACKING_CONTENT:
is(trackerOrigin, TEST_3RD_PARTY_DOMAIN, "Correct tracker origin must be reported");
is(item[1], true, "Correct blocking status reported"); is(item[1], true, "Correct blocking status reported");
ok(item[2] >= 1, "Correct repeat count reported"); ok(item[2] >= 1, "Correct repeat count reported");
break; break;
case Ci.nsIWebProgressListener.STATE_BLOCKED_TRACKING_CONTENT: case Ci.nsIWebProgressListener.STATE_BLOCKED_TRACKING_CONTENT:
is(trackerOrigin, TEST_3RD_PARTY_DOMAIN, "Correct tracker origin must be reported");
if (item[1]) { if (item[1]) {
ok(item[2] >= 1, "Correct repeat count reported"); ok(item[2] >= 1, "Correct repeat count reported");
} else { } else {
@ -718,16 +716,10 @@ this.AntiTracking = {
} }
break; break;
case Ci.nsIWebProgressListener.STATE_COOKIES_BLOCKED_TRACKER: case Ci.nsIWebProgressListener.STATE_COOKIES_BLOCKED_TRACKER:
is(trackerOrigin, TEST_3RD_PARTY_DOMAIN, "Correct tracker origin must be reported");
// We can expect 1 or more repeat count whether or not blocking has happened, // We can expect 1 or more repeat count whether or not blocking has happened,
// so nothing to assert on item[1]. // so nothing to assert on item[1].
ok(item[2] >= 1, "Correct repeat count reported"); ok(item[2] >= 1, "Correct repeat count reported");
break; break;
case Ci.nsIWebProgressListener.STATE_COOKIES_LOADED:
// The trackerOrigin here is sometimes TEST_DOMAIN, sometimes TEST_3RD_PARTY_DOMAIN.
is(item[1], true, "Correct blocking status reported");
ok(item[2] >= 1, "Correct repeat count reported");
break;
} }
} }
} }

View File

@ -327,7 +327,6 @@ interface nsIWebProgressListener : nsISupports
* STATE_BLOCKED_SLOW_TRACKING_CONTENT * STATE_BLOCKED_SLOW_TRACKING_CONTENT
* Rejected because of the FastBlock feature. * Rejected because of the FastBlock feature.
*/ */
const unsigned long STATE_COOKIES_LOADED = 0x00008000;
const unsigned long STATE_COOKIES_BLOCKED_BY_PERMISSION = 0x10000000; const unsigned long STATE_COOKIES_BLOCKED_BY_PERMISSION = 0x10000000;
const unsigned long STATE_COOKIES_BLOCKED_TRACKER = 0x20000000; const unsigned long STATE_COOKIES_BLOCKED_TRACKER = 0x20000000;
const unsigned long STATE_COOKIES_BLOCKED_ALL = 0x40000000; const unsigned long STATE_COOKIES_BLOCKED_ALL = 0x40000000;

View File

@ -422,12 +422,6 @@ NS_IMETHODIMP nsExtProtocolChannel::NotifyTrackingProtectionDisabled()
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP nsExtProtocolChannel::NotifyCookieAllowed()
{
// nothing to do
return NS_OK;
}
NS_IMETHODIMP nsExtProtocolChannel::NotifyTrackingCookieBlocked(uint32_t aRejectedReason) NS_IMETHODIMP nsExtProtocolChannel::NotifyTrackingCookieBlocked(uint32_t aRejectedReason)
{ {
// nothing to do // nothing to do