File: RFPTargets.inc

package info (click to toggle)
firefox 142.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,591,884 kB
  • sloc: cpp: 7,451,570; javascript: 6,392,463; ansic: 3,712,584; python: 1,388,569; xml: 629,223; asm: 426,919; java: 184,857; sh: 63,439; makefile: 19,150; objc: 13,059; perl: 12,983; yacc: 4,583; cs: 3,846; pascal: 3,352; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 53; csh: 10
file content (133 lines) | stat: -rw-r--r-- 5,919 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/. */

// Names should not be re-used.

ITEM_VALUE(TouchEvents,                 1)
ITEM_VALUE(PointerEvents,               2)
ITEM_VALUE(KeyboardEvents,              3)
ITEM_VALUE(ScreenOrientation,           4)
// SpeechSynthesis part of the Web Speech API
ITEM_VALUE(SpeechSynthesis,             5)
// `prefers-color-scheme` CSS media feature
ITEM_VALUE(CSSPrefersColorScheme,       6)
// `prefers-reduced-motion` CSS media feature
ITEM_VALUE(CSSPrefersReducedMotion,     7)
// `prefers-contrast` CSS media feature
ITEM_VALUE(CSSPrefersContrast,          8)
// Add random noises to image data extracted from canvas.
ITEM_VALUE(CanvasRandomization,         9)
// Canvas targets: For unusual combinations of these, see comments
// in IsImageExtractionAllowed
ITEM_VALUE(CanvasImageExtractionPrompt, 10)
ITEM_VALUE(CanvasExtractionFromThirdPartiesIsBlocked, 11)
ITEM_VALUE(CanvasExtractionBeforeUserInputIsBlocked,  12)

ITEM_VALUE(JSLocale,                13)

// Various "client identification" values of the navigator object
ITEM_VALUE(NavigatorAppVersion,         14)
ITEM_VALUE(NavigatorBuildID,            15)
ITEM_VALUE(NavigatorHWConcurrency,      16)
ITEM_VALUE(NavigatorOscpu,              17)
ITEM_VALUE(NavigatorPlatform,           18)
ITEM_VALUE(NavigatorUserAgent,          19)
ITEM_VALUE(PointerId,                   20)
ITEM_VALUE(StreamVideoFacingMode,       21)
ITEM_VALUE(JSDateTimeUTC,               22)
ITEM_VALUE(JSMathFdlibm,                23)
ITEM_VALUE(Gamepad,                     24)
ITEM_VALUE(HttpUserAgent,               25)
ITEM_VALUE(WindowOuterSize,             26)
ITEM_VALUE(WindowScreenXY,              27)
ITEM_VALUE(WindowInnerScreenXY,         28)
ITEM_VALUE(ScreenPixelDepth,            29)
ITEM_VALUE(ScreenRect,                  30)
ITEM_VALUE(ScreenAvailRect,             31)
// HTMLVideoElement
// mozParsedFrames, mozDecodedFrames, mozPresentedFrames, mozPaintedFrames
ITEM_VALUE(VideoElementMozFrames,       32)
// mozFrameDelay
ITEM_VALUE(VideoElementMozFrameDelay,   33)
// getVideoPlaybackQuality()
ITEM_VALUE(VideoElementPlaybackQuality, 34)
// See also Reduce Timer Precision (RTP) Caller Type
ITEM_VALUE(ReduceTimerPrecision,        35)
// Hide keyboard and pointer WidgetEvents
ITEM_VALUE(WidgetEvents,                36)
ITEM_VALUE(MediaDevices,                37)
ITEM_VALUE(MediaCapabilities,           38)
ITEM_VALUE(AudioSampleRate,             39)
ITEM_VALUE(NetworkConnection,           40)
ITEM_VALUE(WindowDevicePixelRatio,      41)
ITEM_VALUE(MouseEventScreenPoint,       42)
// Visibility level of font families available to CSS font-matching
ITEM_VALUE(FontVisibilityBaseSystem,    43)
ITEM_VALUE(FontVisibilityLangPack,      44)
ITEM_VALUE(DeviceSensors,               45)
ITEM_VALUE(FrameRate,                   46)
ITEM_VALUE(RoundWindowSize,             47)
ITEM_VALUE(UseStandinsForNativeColors,  48)
ITEM_VALUE(AudioContext,                49)
ITEM_VALUE(MediaError,                  50)
ITEM_VALUE(DOMStyleOsxFontSmoothing,    51)
// `device-height`/`device-width` CSS media features
ITEM_VALUE(CSSDeviceSize,               52)
// `color`/`color-gamut` CSS media features
ITEM_VALUE(CSSColorInfo,                53)
// `resolution` CSS media feature
ITEM_VALUE(CSSResolution,               54)
// `prefers-reduced-transparency` CSS media feature
ITEM_VALUE(CSSPrefersReducedTransparency, 55)
// `inverted-colors` CSS media feature
ITEM_VALUE(CSSInvertedColors,           56)
// `video-dynamic-range` CSS media feature
ITEM_VALUE(CSSVideoDynamicRange,        57)
ITEM_VALUE(CSSPointerCapabilities,      58)
// WebGL
ITEM_VALUE(WebGLRenderCapability,       59)
ITEM_VALUE(WebGLRenderInfo,             60)
ITEM_VALUE(SiteSpecificZoom,            61)
// Are font visibility restrictions applied when resolving a CSS <generic-family>?
// (This may block the fonts selected in Preferences from actually being used.)
ITEM_VALUE(FontVisibilityRestrictGenerics, 62)
ITEM_VALUE(WebVTT,                      63)
ITEM_VALUE(WebGPULimits,                64)
ITEM_VALUE(WebGPUIsFallbackAdapter,     65)
ITEM_VALUE(WebGPUSubgroupSizes,         66)
ITEM_VALUE(JSLocalePrompt,              67)
ITEM_VALUE(ScreenAvailToResolution,     68)
ITEM_VALUE(UseHardcodedFontSubstitutes, 69)
ITEM_VALUE(DiskStorageLimit,            70)
ITEM_VALUE(WebCodecs,                   71)
ITEM_VALUE(MaxTouchPoints,              72)
ITEM_VALUE(MaxTouchPointsCollapse,      73)


// !!! Don't forget to update kDefaultFingerprintingProtections in nsRFPService.cpp
// if necessary.

/*
 * In certain cases, we precompute the value of ShouldRFP for e.g. a Document.
 * (This saves us more computation and casting later.)  This document will still
 * need to check whether an individual target is allowed, but the initial
 * question of "Does this document have any RFP applied to it ever?" can still
 * be precomputed. This enum value will always be included in FPP, so when a
 * document asks if they might have RFP enabled, it will return true. (Putting
 * this value in the overrides pref is undefined behavior and may do anything.)
 */
ITEM_VALUE(IsAlwaysEnabledForPrecompute, 0)

/*
 * Some users desperately want the entire ResistFingerprinting experience, except
 * one particular behavior (usually TimeZone or ColorScheme.)  This value enables
 * them to specify an override list that will include or exclude everything,
 * allowing them to opt-in or opt-out of new RFPTargets we add in Firefox or to
 * the default set enabled.  It should come first, otherwise behavior is undefined.
 * Examples:
 *    +AllTargets,-CSSPrefersColorScheme
 *    -AllTargets,+Gamepad
 */
ITEM_VALUE(AllTargets, 127)