Closed Bug 1492563 Opened 6 years ago Closed 6 years ago

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

Categories

(Firefox :: Protections UI, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
Firefox 64
Tracking Status
firefox64 --- fixed

People

(Reporter: ehsan.akhgari, Assigned: ehsan.akhgari)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

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+
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)
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
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)
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...
Depends on: 1493057
Depends on: 1493058
Depends on: 1493060
Depends on: 1493211
This is now ready to land once the dependencies get reviewed: https://treeherder.mozilla.org/#/jobs?repo=try&revision=84a5965097cd59b7529b23a7208df9efbb1eb317
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
See Also: → 1494182
https://hg.mozilla.org/mozilla-central/rev/fc6cb7765e8f
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 64
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
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 → ---
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
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
https://hg.mozilla.org/mozilla-central/rev/83efe831ed1d
Status: REOPENED → RESOLVED
Closed: 6 years ago6 years ago
Resolution: --- → FIXED
Assignee: nobody → ehsan
https://hg.mozilla.org/mozilla-central/rev/463e670ab9dd
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Flags: needinfo?(ehsan)
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)
https://hg.mozilla.org/mozilla-central/rev/fdbb1ad69539
Status: REOPENED → RESOLVED
Closed: 6 years ago6 years 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 → ---
Flags: needinfo?(ehsan)
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
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
https://hg.mozilla.org/mozilla-central/rev/84f5f337b0a3
Status: REOPENED → RESOLVED
Closed: 6 years ago6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 64
Flags: needinfo?(ehsan)
Flags: needinfo?(amarchesini)
Blocks: 1515833
Blocks: 1776760
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: