Open Bug 1531873 (perframeresistfp) Opened 5 years ago Updated 4 months ago

[meta] Make resist fingerprinting work per-frame

Categories

(Core :: Privacy: Anti-Tracking, enhancement)

enhancement

Tracking

()

People

(Reporter: ehsan.akhgari, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: meta)

nsContentUtils::ShouldResistFingerprinting() has three variants, one that takes no arguments, one that takes a document pointer and one that takes a docshell pointer.

The goal of this bug is to eliminate the first variant, so that we can enable fingerprintng resistance checks per-frame.

Summary: Make resist fingerprinting work per-frame → [meta] Make resist fingerprinting work per-frame

What does per-frame mean? In Bug 1450398 we discussed how in the future we want RFP to be able to be individually controlled based on PBM/non-PBM mode, (disabled in) Web Extensions, and (able to be disabled on) a per-origin basis.

Flags: needinfo?(ehsan)
Depends on: 1532402

Per-frame means per-docshell.

That bug can be fixed once the work here is done, since at that point we will have enough information to tell whether we are in PB more (and/or whether the content loaded is Web Extension content).

Flags: needinfo?(ehsan)
Depends on: 1532408
Depends on: 1532411
Depends on: 1532414
Depends on: 1532417

Some helpful information from Ethan Tseng that I'm copying here for my future reference.

RFP features which cannot be performed per frame:
Fonts
Per-site zooming level (affects top-level)
Window size / CSS query
Timezone (set by env)
Language setting (locale) (has to change impl. if we want to make it per frame)

Not sure whether can be made as per frame:
System color
WebGL
JavaScript timing precision (check with baku or tritter)

RFP features which cannot be turned on/off dynamically:
Language setting (RFPHelper.jsm)
Window dimension

Blocks: 1580351
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.