Closed Bug 1576291 (etp-fission) Opened 1 year ago Closed 3 months ago

[meta] Make the Anti-Tracking backend Fission compatible

Categories

(Core :: Privacy: Anti-Tracking, task, P3)

task

Tracking

()

RESOLVED FIXED
Fission Milestone M6b

People

(Reporter: ehsan, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: meta)

We need to be able to apply ETP to trackers no matter which process they're hiding in.

Depends on: 1575609
Depends on: 1576944
Depends on: WindowContext
No longer blocks: fission
Fission Milestone: --- → M5
Priority: -- → P2
Depends on: 1587743

I was debugging some tests in browser/base/content/test/trackingUI, and I wanted to share a couple of findings. These are relevant to when we load a simple page that contains a third-party iframe [1], with privacy.trackingprotection.enabled=true.

  1. We show the usual console message indicating that the tracker was indeed blocked, but getContentBlockingLog returns an empty object. Seems like it isn't fission compatible yet, but I need to look into that tomorrow.
  2. The frontend doesn't seem to receive any content blocking events - our UI doesn't react at all, and we show "No Trackers Detected". We're hitting [2] only for a tracker page (not for a "benign page" [3]) but I didn't manage to successfully attach a debugger to the child without the parent crashing, so I need to dig into that further too.

Are these known issues? I'm going to be filing bugs tomorrow - just wanted to log my findings here before going to bed.

[1] https://searchfox.org/mozilla-central/rev/5e830ac8f56fe191cb58a264e01cdbf6b6e847bd/browser/base/content/test/trackingUI/trackingPage.html
[2] https://searchfox.org/mozilla-central/rev/5e830ac8f56fe191cb58a264e01cdbf6b6e847bd/netwerk/ipc/DocumentChannelChild.cpp#39
[3] https://searchfox.org/mozilla-central/rev/5e830ac8f56fe191cb58a264e01cdbf6b6e847bd/browser/base/content/test/trackingUI/benignPage.html

(In reply to Nihanth Subramanya [:nhnt11] from comment #1)

I was debugging some tests in browser/base/content/test/trackingUI, and I wanted to share a couple of findings. These are relevant to when we load a simple page that contains a third-party iframe [1], with privacy.trackingprotection.enabled=true.

  1. We show the usual console message indicating that the tracker was indeed blocked, but getContentBlockingLog returns an empty object. Seems like it isn't fission compatible yet, but I need to look into that tomorrow.
  2. The frontend doesn't seem to receive any content blocking events - our UI doesn't react at all, and we show "No Trackers Detected". We're hitting [2] only for a tracker page (not for a "benign page" [3]) but I didn't manage to successfully attach a debugger to the child without the parent crashing, so I need to dig into that further too.

Are these known issues? I'm going to be filing bugs tomorrow - just wanted to log my findings here before going to bed.

[1] https://searchfox.org/mozilla-central/rev/5e830ac8f56fe191cb58a264e01cdbf6b6e847bd/browser/base/content/test/trackingUI/trackingPage.html
[2] https://searchfox.org/mozilla-central/rev/5e830ac8f56fe191cb58a264e01cdbf6b6e847bd/netwerk/ipc/DocumentChannelChild.cpp#39
[3] https://searchfox.org/mozilla-central/rev/5e830ac8f56fe191cb58a264e01cdbf6b6e847bd/browser/base/content/test/trackingUI/benignPage.html

OK! I spent some more time on this and, I can only reproduce this in a mochitest. In a normal run with fission enabled, having a third party tracker in an iframe is blocked as expected, the content blocking log looks good, and the UI responds properly too. I'm not sure what to make of this, but basically the issues I mentioned in comment 1 are probably not really issues.

You're right, the content blocking log doesn't work in Fission mode, and that is one of the problems we'd need to fix here...

FWIW, I'm seeing an empty content blocking log only when we're blocking loads, and not just cookies. So for blocked tracking content, fingerprinters, cryptominers.

Depends on: 1590696

Moving anti-tracking from milestone M5 (dogfooding) to M6 (enable in Nightly) because ETP does not block dogfooding.

Fission Milestone: M5 → M6
Depends on: 1599043
Depends on: 1599046
Depends on: 1599048
Blocks: 1599278
Depends on: 1608516
Depends on: 1614071
Depends on: 1616570
Depends on: 1612378
Depends on: 1616775
Depends on: 1612376
Depends on: 1616784
Depends on: 1616788
No longer depends on: 1616570
Depends on: 1617784
Depends on: 1611755
Depends on: 1619401
Depends on: 1624268
Depends on: 1624269
Depends on: 1624552
No longer depends on: 1624552
Depends on: 1626194
Depends on: 1626226
Depends on: 1626260
Depends on: 1631560
Depends on: 1632076
No longer depends on: 1632076
Depends on: 1632500
Depends on: 1633340
Depends on: 1633401
Depends on: 1633851
Depends on: 1635261
Depends on: 1636116
Depends on: 1637194
Fission Milestone: M6 → M6c
Depends on: 1637634
Depends on: 1637739
Depends on: 1637897
Blocks: 1639140
No longer depends on: 1587743
Depends on: 1639969
Depends on: 1640259
Severity: normal → S3
Priority: P2 → P3
Summary: Make the Anti-Tracking backend Fission compatible → [meta] Make the Anti-Tracking backend Fission compatible
Fission Milestone: M6c → M6b

Tim, Dimi: Can we close out this meta bug now that we've finished our work?

Flags: needinfo?(tihuang)
Flags: needinfo?(dlee)

(In reply to Steven Englehardt [:englehardt] from comment #6)

Tim, Dimi: Can we close out this meta bug now that we've finished our work?

yes, i think we can close this one :)

Status: NEW → RESOLVED
Closed: 3 months ago
Flags: needinfo?(dlee)
Resolution: --- → FIXED
Flags: needinfo?(tihuang)
You need to log in before you can comment on or make changes to this bug.