Commits:
-
aefedb35
by Pier Angelo Vendrame at 2025-11-24T10:31:55+01:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
Update GitLab templates.
Avoid mentioning existing issues/MRs, and update the channels.
-
6c7f3377
by Tom Ritter at 2025-11-24T10:31:58+01:00
Bug 1999126: Hide the value of the pdfjs pref from being disabled when RFP is enabled r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D272930
8 changed files:
Changes:
.gitlab/issue_templates/040 Feature.md
| ... |
... |
@@ -18,11 +18,11 @@ Provide an overview of the technical/implementation aspects of this feature |
|
18
|
18
|
|
|
19
|
19
|
### Proposal
|
|
20
|
20
|
<!-- Add links to associated proposal issues (or delete block) -->
|
|
21
|
|
-- tor-browser#12345
|
|
|
21
|
+- tor-browser#xxxxx
|
|
22
|
22
|
|
|
23
|
23
|
### Design
|
|
24
|
24
|
<!-- Add links to associated design issues (or delete block) -->
|
|
25
|
|
-- tpo/UX/Design#123
|
|
|
25
|
+- tpo/UX/Design#xyz
|
|
26
|
26
|
|
|
27
|
27
|
<!-- Do not edit beneath this line <3 -->
|
|
28
|
28
|
|
.gitlab/issue_templates/050 Backport.md
| ... |
... |
@@ -13,12 +13,12 @@ please ensure the title has the following format: |
|
13
|
13
|
## Bookkeeping
|
|
14
|
14
|
|
|
15
|
15
|
### Issue(s)
|
|
16
|
|
-- tor-browser#12345
|
|
17
|
|
-- mullvad-browser#123
|
|
18
|
|
-- https://bugzilla.mozilla.org/show_bug.cgi?id=1234567
|
|
|
16
|
+- tor-browser#xxxxx
|
|
|
17
|
+- mullvad-browser#xyz
|
|
|
18
|
+- https://bugzilla.mozilla.org/show_bug.cgi?id=xxxxxxx
|
|
19
|
19
|
|
|
20
|
20
|
### Merge Request(s)
|
|
21
|
|
-- tor-browser!123
|
|
|
21
|
+- tor-browser!xxxx
|
|
22
|
22
|
|
|
23
|
23
|
### Target Channels
|
|
24
|
24
|
|
.gitlab/merge_request_templates/Default.md
| ... |
... |
@@ -27,8 +27,8 @@ |
|
27
|
27
|
|
|
28
|
28
|
#### Target Channels
|
|
29
|
29
|
|
|
30
|
|
-- [ ] **Alpha**: esr140-15.0
|
|
31
|
|
-- [ ] **Stable**: esr128-14.5
|
|
|
30
|
+- [ ] **Alpha**: rapid release, 16.0
|
|
|
31
|
+- [ ] **Stable**: esr140-15.0
|
|
32
|
32
|
- [ ] **Legacy**: esr115-13.5
|
|
33
|
33
|
|
|
34
|
34
|
### Backporting
|
browser/components/resistfingerprinting/test/browser/browser_navigator_iframes.js
| ... |
... |
@@ -331,6 +331,13 @@ add_task(async () => { |
|
331
|
331
|
await simpleRFPTest(uri, testNavigator, expectedResults);
|
|
332
|
332
|
});
|
|
333
|
333
|
|
|
|
334
|
+add_task(async () => {
|
|
|
335
|
+ expectedResults = structuredClone(allSpoofed);
|
|
|
336
|
+ await simpleRFPTest(uri, testNavigator, expectedResults, {}, [
|
|
|
337
|
+ ["pdfjs.disabled", true],
|
|
|
338
|
+ ]);
|
|
|
339
|
+});
|
|
|
340
|
+
|
|
334
|
341
|
// In the below tests, we use the cross-origin domain as the base URI of a resource we fetch (on both the framer and framee)
|
|
335
|
342
|
// so we can check that the HTTP header is as expected.
|
|
336
|
343
|
|
dom/base/Navigator.cpp
| ... |
... |
@@ -510,7 +510,11 @@ nsPluginArray* Navigator::GetPlugins(ErrorResult& aRv) { |
|
510
|
510
|
return mPlugins;
|
|
511
|
511
|
}
|
|
512
|
512
|
|
|
513
|
|
-bool Navigator::PdfViewerEnabled() { return !StaticPrefs::pdfjs_disabled(); }
|
|
|
513
|
+bool Navigator::PdfViewerEnabled() {
|
|
|
514
|
+ return !StaticPrefs::pdfjs_disabled() ||
|
|
|
515
|
+ nsContentUtils::ShouldResistFingerprinting(GetDocShell(),
|
|
|
516
|
+ RFPTarget::PdfjsSpoof);
|
|
|
517
|
+}
|
|
514
|
518
|
|
|
515
|
519
|
Permissions* Navigator::GetPermissions(ErrorResult& aRv) {
|
|
516
|
520
|
if (!mWindow) {
|
dom/base/nsMimeTypeArray.cpp
| ... |
... |
@@ -79,7 +79,11 @@ void nsMimeTypeArray::GetSupportedNames(nsTArray<nsString>& retval) { |
|
79
|
79
|
}
|
|
80
|
80
|
}
|
|
81
|
81
|
|
|
82
|
|
-bool nsMimeTypeArray::ForceNoPlugins() { return StaticPrefs::pdfjs_disabled(); }
|
|
|
82
|
+bool nsMimeTypeArray::ForceNoPlugins() {
|
|
|
83
|
+ return StaticPrefs::pdfjs_disabled() &&
|
|
|
84
|
+ !nsContentUtils::ShouldResistFingerprinting(
|
|
|
85
|
+ mWindow ? mWindow->GetDocShell() : nullptr, RFPTarget::PdfjsSpoof);
|
|
|
86
|
+}
|
|
83
|
87
|
|
|
84
|
88
|
NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(nsMimeType, mPluginElement)
|
|
85
|
89
|
|
dom/base/nsPluginArray.cpp
| ... |
... |
@@ -97,7 +97,11 @@ void nsPluginArray::GetSupportedNames(nsTArray<nsString>& aRetval) { |
|
97
|
97
|
}
|
|
98
|
98
|
}
|
|
99
|
99
|
|
|
100
|
|
-bool nsPluginArray::ForceNoPlugins() { return StaticPrefs::pdfjs_disabled(); }
|
|
|
100
|
+bool nsPluginArray::ForceNoPlugins() {
|
|
|
101
|
+ return StaticPrefs::pdfjs_disabled() &&
|
|
|
102
|
+ !nsContentUtils::ShouldResistFingerprinting(
|
|
|
103
|
+ mWindow ? mWindow->GetDocShell() : nullptr, RFPTarget::PdfjsSpoof);
|
|
|
104
|
+}
|
|
101
|
105
|
|
|
102
|
106
|
NS_IMPL_CYCLE_COLLECTING_ADDREF(nsPluginArray)
|
|
103
|
107
|
NS_IMPL_CYCLE_COLLECTING_RELEASE(nsPluginArray)
|
toolkit/components/resistfingerprinting/RFPTargets.inc
| ... |
... |
@@ -34,7 +34,8 @@ ITEM_VALUE(NavigatorHWConcurrency, 16) |
|
34
|
34
|
ITEM_VALUE(NavigatorOscpu, 17)
|
|
35
|
35
|
ITEM_VALUE(NavigatorPlatform, 18)
|
|
36
|
36
|
ITEM_VALUE(NavigatorUserAgent, 19)
|
|
37
|
|
-// We no longer use PointerId, it can renamed and reused
|
|
|
37
|
+// If the user disables PDFJS via a pref, we do not expose that to the web
|
|
|
38
|
+ITEM_VALUE(PdfjsSpoof, 20)
|
|
38
|
39
|
ITEM_VALUE(StreamVideoFacingMode, 21)
|
|
39
|
40
|
ITEM_VALUE(JSDateTimeUTC, 22)
|
|
40
|
41
|
ITEM_VALUE(JSMathFdlibm, 23)
|
|