Enable blocking access to storage from tracking resources by default on all desktop platforms on Nightly

RESOLVED FIXED in Firefox 64

Status

()

P1
normal
RESOLVED FIXED
6 months ago
3 months ago

People

(Reporter: Ehsan, Assigned: Ehsan)

Tracking

(Blocks: 1 bug)

unspecified
Firefox 64
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox64 fixed)

Details

Attachments

(1 attachment)

(Assignee)

Description

6 months ago
It is time to flip this pref on Nightly!
Status: NEW → ASSIGNED
Priority: -- → P1
Comment on attachment 9010504 [details]
Bug 1492563 - Enable blocking access to storage from tracking resources by default on all desktop platforms on Nightly

Andrea Marchesini [:baku] has approved the revision.
Attachment #9010504 - Flags: review+

Comment 3

6 months ago
Pushed by eakhgari@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e762b63c9af7
Enable blocking access to storage from tracking resources by default on all desktop platforms on Nightly r=baku
Backed out changeset e762b63c9af7 (bug 1492563) for mochitest failures on /builds/worker/workspace/build/src/toolkit/components/antitracking/AntiTrackingCommon.cpp. CLOSED TREE

Log:
Backed out changeset e762b63c9af7 (bug 1492563) for mochitest failures on /builds/worker/workspace/build/src/toolkit/components/antitracking/AntiTrackingCommon.cpp. CLOSED TREE

INFO - GECKO(3911) | ++DOMWINDOW == 20 (0x7f921f42fc00) [pid = 4013] [serial = 132] [outer = 0x7f9220ce3400]
[task 2018-09-20T16:25:19.208Z] 16:25:19     INFO - GECKO(3911) | Assertion failure: nsContentUtils::IsTrackingResourceWindow(a3rdPartyTrackingWindow), at /builds/worker/workspace/build/src/toolkit/components/antitracking/AntiTrackingCommon.cpp:66
[task 2018-09-20T16:26:05.224Z] 16:26:05     INFO - GECKO(3911) | #01: mozilla::AntiTrackingCommon::AddFirstPartyStorageAccessGrantedFor(nsTSubstring<char16_t> const&, nsPIDOMWindowInner*, mozilla::AntiTrackingCommon::StorageAccessGrantedReason) [toolkit/components/antitracking/AntiTrackingCommon.cpp:376]
[task 2018-09-20T16:26:05.226Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.227Z] 16:26:05     INFO - GECKO(3911) | #02: nsGlobalWindowOuter::MaybeAllowStorageForOpenedWindow(nsIURI*) [mfbt/RefPtr.h:84]
[task 2018-09-20T16:26:05.228Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.230Z] 16:26:05     INFO - GECKO(3911) | #03: nsGlobalWindowOuter::OpenInternal(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, bool, bool, bool, bool, bool, nsIArray*, nsISupports*, nsDocShellLoadInfo*, bool, nsPIDOMWindowOuter**) [xpcom/base/nsCOMPtr.h:803]
[task 2018-09-20T16:26:05.234Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.236Z] 16:26:05     INFO - GECKO(3911) | #04: nsGlobalWindowOuter::OpenOuter(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, mozilla::ErrorResult&) [dom/bindings/ErrorResult.h:379]
[task 2018-09-20T16:26:05.237Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.239Z] 16:26:05     INFO - GECKO(3911) | #05: nsGlobalWindowInner::Open(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, mozilla::ErrorResult&) [dom/base/nsGlobalWindowInner.cpp:4062]
[task 2018-09-20T16:26:05.240Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.242Z] 16:26:05     INFO - GECKO(3911) | #06: mozilla::dom::Window_Binding::open(JSContext*, JS::Handle<JSObject*>, nsGlobalWindowInner*, JSJitMethodCallArgs const&) [mfbt/AlreadyAddRefed.h:144]
[task 2018-09-20T16:26:05.243Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.244Z] 16:26:05     INFO - GECKO(3911) | #07: bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::MaybeGlobalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) [dom/bindings/BindingUtils.cpp:3299]
[task 2018-09-20T16:26:05.246Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.247Z] 16:26:05     INFO - GECKO(3911) | #08: CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) [js/src/vm/Interpreter.cpp:461]
[task 2018-09-20T16:26:05.249Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.251Z] 16:26:05     INFO - GECKO(3911) | #09: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) [js/src/vm/Interpreter.cpp:553]
[task 2018-09-20T16:26:05.252Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.253Z] 16:26:05     INFO - GECKO(3911) | #10: Interpret(JSContext*, js::RunState&) [js/src/vm/Interpreter.cpp:613]
[task 2018-09-20T16:26:05.254Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.256Z] 16:26:05     INFO - GECKO(3911) | #11: js::RunScript(JSContext*, js::RunState&) [js/src/vm/Interpreter.cpp:440]
[task 2018-09-20T16:26:05.257Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.258Z] 16:26:05     INFO - GECKO(3911) | #12: js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) [js/src/vm/Interpreter.cpp:580]
[task 2018-09-20T16:26:05.259Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.261Z] 16:26:05     INFO - GECKO(3911) | #13: <name omitted> [js/src/vm/Interpreter.cpp:626]
[task 2018-09-20T16:26:05.262Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.263Z] 16:26:05     INFO - GECKO(3911) | #14: JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) [js/src/jsapi.cpp:2957]
[task 2018-09-20T16:26:05.264Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.265Z] 16:26:05     INFO - GECKO(3911) | #15: mozilla::dom::EventListener::HandleEvent(JSContext*, JS::Handle<JS::Value>, mozilla::dom::Event&, mozilla::ErrorResult&) [s3:gecko-generated-sources:ccbadb8791154c00d5d9f3f34300a418cdfa4b3b0b60424e60394883162a95118b3edbfce81cbc7a5b48193d5a2618fc449143e250bd5c61dd1340709a3af189/dom/bindings/EventListenerBinding.cpp::51]
[task 2018-09-20T16:26:05.267Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.268Z] 16:26:05     INFO - GECKO(3911) | #16: void mozilla::dom::EventListener::HandleEvent<mozilla::dom::EventTarget*>(mozilla::dom::EventTarget* const&, mozilla::dom::Event&, mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*) [s3:gecko-generated-sources:f3d9c01258576daaac3afc4fb3b283652e7f1168abb5287eff6775451ebd0ab6a0e4c8d88d3a67f7147042501bc091c6dfed25b4b8ccf4e4f420897b8d0ba906/dist/include/mozilla/dom/EventListenerBinding.h::66]
[task 2018-09-20T16:26:05.269Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.270Z] 16:26:05     INFO - GECKO(3911) | #17: mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, mozilla::dom::Event*, mozilla::dom::EventTarget*) [dom/bindings/ErrorResult.h:399]
[task 2018-09-20T16:26:05.271Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.272Z] 16:26:05     INFO - GECKO(3911) | #18: mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) [dom/events/EventListenerManager.cpp:1342]
[task 2018-09-20T16:26:05.274Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.275Z] 16:26:05     INFO - GECKO(3911) | #19: mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) [dom/events/EventDispatcher.cpp:425]
[task 2018-09-20T16:26:05.278Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.279Z] 16:26:05     INFO - GECKO(3911) | #20: mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) [dom/events/EventDispatcher.cpp:639]
[task 2018-09-20T16:26:05.280Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.281Z] 16:26:05     INFO - GECKO(3911) | #21: mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) [dom/events/EventDispatcher.cpp:1112]
[task 2018-09-20T16:26:05.282Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.284Z] 16:26:05     INFO - GECKO(3911) | #22: mozilla::dom::PostMessageEvent::Dispatch(nsGlobalWindowInner*, mozilla::dom::Event*) [mfbt/RefPtr.h:84]
[task 2018-09-20T16:26:05.285Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.286Z] 16:26:05     INFO - GECKO(3911) | #23: mozilla::dom::PostMessageEvent::Run() [dom/base/PostMessageEvent.cpp:167]
[task 2018-09-20T16:26:05.287Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.289Z] 16:26:05     INFO - GECKO(3911) | #24: mozilla::SchedulerGroup::Runnable::Run() [xpcom/threads/SchedulerGroup.cpp:337]
[task 2018-09-20T16:26:05.290Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.291Z] 16:26:05     INFO - GECKO(3911) | #25: nsThread::ProcessNextEvent(bool, bool*) [mfbt/Atomics.h:576]
[task 2018-09-20T16:26:05.292Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.294Z] 16:26:05     INFO - GECKO(3911) | #26: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:519]
[task 2018-09-20T16:26:05.295Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.296Z] 16:26:05     INFO - GECKO(3911) | #27: mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:97]
[task 2018-09-20T16:26:05.297Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.298Z] 16:26:05     INFO - GECKO(3911) | #28: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:598]
[task 2018-09-20T16:26:05.300Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.301Z] 16:26:05     INFO - GECKO(3911) | #29: nsBaseAppShell::Run() [widget/nsBaseAppShell.cpp:160]
[task 2018-09-20T16:26:05.302Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.303Z] 16:26:05     INFO - GECKO(3911) | #30: XRE_RunAppShell() [toolkit/xre/nsEmbedFunctions.cpp:939]
[task 2018-09-20T16:26:05.304Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.306Z] 16:26:05     INFO - GECKO(3911) | #31: mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:269]
[task 2018-09-20T16:26:05.307Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.308Z] 16:26:05     INFO - GECKO(3911) | #32: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:598]
[task 2018-09-20T16:26:05.309Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.311Z] 16:26:05     INFO - GECKO(3911) | #33: XRE_InitChildProcess(int, char**, XREChildData const*) [toolkit/xre/nsEmbedFunctions.cpp:765]
[task 2018-09-20T16:26:05.312Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.389Z] 16:26:05     INFO - GECKO(3911) | #34: content_process_main(mozilla::Bootstrap*, int, char**) [ipc/contentproc/plugin-container.cpp:51]
[task 2018-09-20T16:26:05.391Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.396Z] 16:26:05     INFO - GECKO(3911) | #35: main [browser/app/nsBrowserApp.cpp:287]
[task 2018-09-20T16:26:05.397Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.398Z] 16:26:05     INFO - GECKO(3911) | #36: libc.so.6 + 0x20830
[task 2018-09-20T16:26:05.399Z] 16:26:05     INFO - 
[task 2018-09-20T16:26:05.401Z] 16:26:05     INFO - GECKO(3911) | #37: _start

Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed,busted,exception&classifiedState=unclassified&group_state=expanded&revision=e762b63c9af793617fca37cc260025e411e315ac

Backout:
https://hg.mozilla.org/integration/autoland/rev/e762b63c9af793617fca37cc260025e411e315ac
Flags: needinfo?(ehsan)

Comment 5

6 months ago
Backout by dluca@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ec6f11031366
Backed out changeset e762b63c9af7 for mochitest failures on /builds/worker/workspace/build/src/toolkit/components/antitracking/AntiTrackingCommon.cpp. CLOSED TREE
(Assignee)

Comment 6

6 months ago
This landing uncovered at least one buggy assert, and several tests that were depending on the default value of network.cookie.cookieBehavior.

I have some further patches to fix things up...
Flags: needinfo?(ehsan)
(Assignee)

Comment 7

6 months ago
Looking at the state of things on the try server (https://treeherder.mozilla.org/#/jobs?repo=try&revision=d2951b0d86d9b8b471ccfc818d63e5c9c83f144d), looks like this also breaks service worker interception somehow.  I'm going to submit some of the fixes here as dependencies because fixing them all may take some time...
(Assignee)

Updated

6 months ago
Depends on: 1493057
(Assignee)

Updated

6 months ago
Depends on: 1493058
(Assignee)

Updated

6 months ago
Depends on: 1493060
(Assignee)

Updated

6 months ago
Depends on: 1493211
(Assignee)

Comment 8

6 months ago
This is now ready to land once the dependencies get reviewed: https://treeherder.mozilla.org/#/jobs?repo=try&revision=84a5965097cd59b7529b23a7208df9efbb1eb317

Comment 9

6 months ago
Pushed by eakhgari@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fc6cb7765e8f
Enable blocking access to storage from tracking resources by default on all desktop platforms on Nightly r=baku

Updated

6 months ago
See Also: → bug 1494182

Comment 10

6 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/fc6cb7765e8f
Status: ASSIGNED → RESOLVED
Last Resolved: 6 months ago
status-firefox64: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 64

Comment 12

6 months ago
Backout by shindli@mozilla.com:
https://hg.mozilla.org/mozilla-central/rev/62308095ad0d
Backed out changeset fc6cb7765e8f for for mochitest failures on /test_main.html CLOSED TREE
(Assignee)

Comment 13

6 months ago
OK, I'm giving up on landing this patch before I go on PTO, sorry.

Bug 1494166 is filed for this new intermittent failure.

Some notes:

  * I'm almost 100% sure the intermittent in comment 11 is unrelated to this patch, this has somehow gotten unlucky.  Nothing in the contentblocking tests looks at the cookieBehavior pref.  This test doesn't use storage, cookies or a tracking domain.
  * The way in which the test fails here is also intermittently different, sometimes the test fails with one message (about "image") sometimes with two (about "image" and "imageLeavePicture").
  * I'm not able to reproduce this failure locally on Linux with a debug build.  I tried running the failing test 50 times, and it passed every time.
  * This test seems to be very flaky.  Here are the existing intermittent failure bugs filed on it already: bug 1259908, bug 1440171, bug 1494198, bug 1402554, bug 1402554.
  * This test has been already disabled on a couple of platform for its flakiness: https://searchfox.org/mozilla-central/rev/ce57be88b8aa2ad03ace1b9684cd6c361be5109f/dom/security/test/mixedcontentblocker/mochitest.ini#23

Andrea, if you find some time, can you see if you can figure out a way to enable this feature in Nightly?  I would really like for this to happen earlier than in two weeks when I'm back (it has already been waiting a week...)

Thanks!
Assignee: ehsan → nobody
Status: RESOLVED → REOPENED
Depends on: 1494166
Flags: needinfo?(ehsan) → needinfo?(amarchesini)
Resolution: FIXED → ---
(Assignee)

Comment 14

6 months ago
FWIW forcefully setting the pref to BEHAVIOR_ACCEPT in the test makes it pass: https://treeherder.mozilla.org/#/jobs?repo=try&selectedJob=201831579&revision=21765fd0455a2bed71b677aa37f691be9f0b37c6

Comment 15

6 months ago
Pushed by amarchesini@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/83efe831ed1d
Enable blocking access to storage from tracking resources by default on all desktop platforms on Nightly r=baku

Comment 16

6 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/83efe831ed1d
Status: REOPENED → RESOLVED
Last Resolved: 6 months ago6 months ago
Resolution: --- → FIXED
Assignee: nobody → ehsan

Comment 18

6 months ago
backoutbugherder
https://hg.mozilla.org/mozilla-central/rev/463e670ab9dd
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Flags: needinfo?(ehsan)

Comment 19

6 months ago
Pushed by amarchesini@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/fdbb1ad69539
Enable blocking access to storage from tracking resources by default on all desktop platforms on Nightly r=baku
Flags: needinfo?(ehsan)
Flags: needinfo?(amarchesini)

Comment 20

6 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/fdbb1ad69539
Status: REOPENED → RESOLVED
Last Resolved: 6 months ago6 months ago
Resolution: --- → FIXED
Depends on: 1495285
Backed out 1 changesets (bug 1492563) for breaking nightly builds

push that caused the failure: https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&revision=0d4e73bc2cd705d7a021c75a0e8aeb174ab4db59

backout: https://hg.mozilla.org/mozilla-central/rev/5675805eb31d158cefbc249603fefda457a89ad4
Status: RESOLVED → REOPENED
Flags: needinfo?(ehsan)
Resolution: FIXED → ---
Flags: needinfo?(amarchesini)
Adding to comment 21: Backed out 1 changesets (bug 1492563) for causing nightly topcrash bug 1495285
Target Milestone: Firefox 64 → ---
status-firefox64: fixed → ---
(Assignee)

Updated

5 months ago
Flags: needinfo?(ehsan)

Comment 23

5 months ago
Pushed by eakhgari@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ccf6f87d3430
Enable blocking access to storage from tracking resources by default on all desktop platforms on Nightly r=baku
Depends on: 1499397

Comment 25

5 months ago
Pushed by amarchesini@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/84f5f337b0a3
Enable blocking access to storage from tracking resources by default on all desktop platforms on Nightly r=baku

Comment 26

5 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/84f5f337b0a3
Status: REOPENED → RESOLVED
Last Resolved: 6 months ago5 months ago
status-firefox64: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 64
(Assignee)

Updated

5 months ago
Flags: needinfo?(ehsan)
Flags: needinfo?(amarchesini)

Updated

3 months ago
Blocks: 1515833
You need to log in before you can comment on or make changes to this bug.