Pier Angelo Vendrame pushed to branch base-browser-140.5.0esr-15.0-1 at The Tor Project / Applications / Tor Browser

Commits:

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)