henry pushed to branch mullvad-browser-140.0esr-15.0-1 at The Tor Project / Applications / Mullvad Browser

Commits:

8 changed files:

Changes:

  • browser/actors/moz.build
    ... ... @@ -32,8 +32,7 @@ with Files("WebRTCChild.sys.mjs"):
    32 32
         BUG_COMPONENT = ("Firefox", "Site Permissions")
    
    33 33
     
    
    34 34
     FINAL_TARGET_FILES.actors += [
    
    35
    -    "AboutNewTabChild.sys.mjs",
    
    36
    -    "AboutNewTabParent.sys.mjs",
    
    35
    +    # Remove newtab actors. tor-browser#43886.
    
    37 36
         "AboutPocketChild.sys.mjs",
    
    38 37
         "AboutPocketParent.sys.mjs",
    
    39 38
         "AboutPrivateBrowsingChild.sys.mjs",
    

  • browser/components/BrowserComponents.manifest
    ... ... @@ -16,7 +16,7 @@ category browser-before-ui-startup resource:///modules/BuiltInThemes.sys.mjs Bui
    16 16
     category browser-before-ui-startup resource://normandy/Normandy.sys.mjs Normandy.init
    
    17 17
     #endif
    
    18 18
     category browser-before-ui-startup resource:///modules/ResetPBMPanel.sys.mjs ResetPBMPanel.init
    
    19
    -category browser-before-ui-startup resource:///modules/AboutHomeStartupCache.sys.mjs AboutHomeStartupCache.init
    
    19
    +# newtab component is disabled. tor-browser#43886
    
    20 20
     category browser-before-ui-startup resource:///modules/AccountsGlue.sys.mjs AccountsGlue.init
    
    21 21
     
    
    22 22
     # Browser window lifecycle consumers
    

  • browser/components/BrowserGlue.sys.mjs
    ... ... @@ -8,7 +8,7 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
    8 8
     const lazy = {};
    
    9 9
     
    
    10 10
     ChromeUtils.defineESModuleGetters(lazy, {
    
    11
    -  AboutHomeStartupCache: "resource:///modules/AboutHomeStartupCache.sys.mjs",
    
    11
    +  // newtab component is disabled. tor-browser#43886
    
    12 12
       AWToolbarButton: "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs",
    
    13 13
       ASRouter: "resource:///modules/asrouter/ASRouter.sys.mjs",
    
    14 14
       AddonManager: "resource://gre/modules/AddonManager.sys.mjs",
    
    ... ... @@ -562,10 +562,7 @@ BrowserGlue.prototype = {
    562 562
     
    
    563 563
       // cleanup (called on application shutdown)
    
    564 564
       _dispose: function BG__dispose() {
    
    565
    -    // AboutHomeStartupCache might write to the cache during
    
    566
    -    // quit-application-granted, so we defer uninitialization
    
    567
    -    // until here.
    
    568
    -    lazy.AboutHomeStartupCache.uninit();
    
    565
    +    // newtab component is disabled. tor-browser#43886
    
    569 566
     
    
    570 567
         if (this._lateTasksIdleObserver) {
    
    571 568
           this._userIdleService.removeIdleObserver(
    

  • browser/components/about/AboutRedirector.cpp
    ... ... @@ -21,6 +21,7 @@
    21 21
     #define ABOUT_WELCOME_CHROME_URL \
    
    22 22
       "chrome://browser/content/aboutwelcome/aboutwelcome.html"
    
    23 23
     #define ABOUT_HOME_URL "about:home"
    
    24
    +#define BASE_BROWSER_HOME_PAGE_URL "about:mullvad-browser"
    
    24 25
     
    
    25 26
     namespace mozilla {
    
    26 27
     namespace browser {
    
    ... ... @@ -33,6 +34,11 @@ struct RedirEntry {
    33 34
       uint32_t flags;
    
    34 35
     };
    
    35 36
     
    
    37
    +static const uint32_t BASE_BROWSER_HOME_PAGE_FLAGS =
    
    38
    +    nsIAboutModule::URI_MUST_LOAD_IN_CHILD |
    
    39
    +    nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
    
    40
    +    nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI;
    
    41
    +
    
    36 42
     /*
    
    37 43
       Entries which do not have URI_SAFE_FOR_UNTRUSTED_CONTENT will run with chrome
    
    38 44
       privileges. This is potentially dangerous. Please use
    
    ... ... @@ -79,10 +85,7 @@ static const RedirEntry kRedirMap[] = {
    79 85
     #endif
    
    80 86
         {"policies", "chrome://browser/content/policies/aboutPolicies.html",
    
    81 87
          nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
    
    82
    -    {"privatebrowsing", "about:blank",
    
    83
    -     nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
    
    84
    -         nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT |
    
    85
    -         nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS},
    
    88
    +    {"privatebrowsing", "about:blank", BASE_BROWSER_HOME_PAGE_FLAGS},
    
    86 89
         {"profiling",
    
    87 90
          "chrome://devtools/content/performance-new/aboutprofiling/index.html",
    
    88 91
          nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
    
    ... ... @@ -103,11 +106,10 @@ static const RedirEntry kRedirMap[] = {
    103 106
         {"welcomeback", "chrome://browser/content/aboutWelcomeBack.xhtml",
    
    104 107
          nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::HIDE_FROM_ABOUTABOUT |
    
    105 108
              nsIAboutModule::IS_SECURE_CHROME_UI},
    
    106
    -    {"welcome", "about:blank",
    
    107
    -     nsIAboutModule::URI_MUST_LOAD_IN_CHILD |
    
    108
    -         nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS |
    
    109
    -         nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
    
    110
    -         nsIAboutModule::ALLOW_SCRIPT},
    
    109
    +    {"welcome", "about:blank", BASE_BROWSER_HOME_PAGE_FLAGS},
    
    110
    +    {"home", "about:blank", BASE_BROWSER_HOME_PAGE_FLAGS},
    
    111
    +    {"newtab", "chrome://browser/content/blanktab.html",
    
    112
    +     BASE_BROWSER_HOME_PAGE_FLAGS},
    
    111 113
         {"messagepreview",
    
    112 114
          "chrome://browser/content/messagepreview/messagepreview.html",
    
    113 115
          nsIAboutModule::URI_MUST_LOAD_IN_CHILD |
    
    ... ... @@ -171,9 +173,7 @@ static const RedirEntry kRedirMap[] = {
    171 173
     #endif
    
    172 174
         {"mullvad-browser",
    
    173 175
          "chrome://browser/content/mullvad-browser/aboutMullvadBrowser.html",
    
    174
    -     nsIAboutModule::URI_MUST_LOAD_IN_CHILD |
    
    175
    -         nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
    
    176
    -         nsIAboutModule::IS_SECURE_CHROME_UI},
    
    176
    +     BASE_BROWSER_HOME_PAGE_FLAGS},
    
    177 177
     };
    
    178 178
     
    
    179 179
     static nsAutoCString GetAboutModuleName(nsIURI* aURI) {
    
    ... ... @@ -220,13 +220,11 @@ AboutRedirector::NewChannel(nsIURI* aURI, nsILoadInfo* aLoadInfo,
    220 220
         if (!strcmp(path.get(), redir.id)) {
    
    221 221
           nsAutoCString url;
    
    222 222
     
    
    223
    -      if (path.EqualsLiteral("welcome")) {
    
    224
    -        NimbusFeatures::RecordExposureEvent("aboutwelcome"_ns, true);
    
    225
    -        if (NimbusFeatures::GetBool("aboutwelcome"_ns, "enabled"_ns, true)) {
    
    226
    -          url.AssignASCII(ABOUT_WELCOME_CHROME_URL);
    
    227
    -        } else {
    
    228
    -          url.AssignASCII(ABOUT_HOME_URL);
    
    229
    -        }
    
    223
    +      if (path.EqualsLiteral("welcome") || path.EqualsLiteral("home") ||
    
    224
    +          path.EqualsLiteral("privatebrowsing") ||
    
    225
    +          (path.EqualsLiteral("newtab") &&
    
    226
    +           StaticPrefs::browser_newtabpage_enabled())) {
    
    227
    +        url.AssignASCII(BASE_BROWSER_HOME_PAGE_URL);
    
    230 228
           }
    
    231 229
     
    
    232 230
           // fall back to the specified url in the map
    

  • browser/components/about/components.conf
    ... ... @@ -10,6 +10,8 @@ pages = [
    10 10
         'certerror',
    
    11 11
         'downloads',
    
    12 12
         'framecrashed',
    
    13
    +    'home',
    
    14
    +    'newtab',
    
    13 15
         'messagepreview',
    
    14 16
         'mullvad-browser',
    
    15 17
         'policies',
    

  • browser/components/moz.build
    ... ... @@ -43,7 +43,7 @@ DIRS += [
    43 43
         "migration",
    
    44 44
         "mullvad-browser",
    
    45 45
         "newidentity",
    
    46
    -    "newtab",
    
    46
    +    # Exclude newtab component. tor-browser#43886.
    
    47 47
         "originattributes",
    
    48 48
         "pagedata",
    
    49 49
         "permissions",
    

  • browser/components/newtab/AboutNewTabRedirector.sys.mjs
    ... ... @@ -416,7 +416,20 @@ class BaseAboutNewTabRedirector {
    416 416
        * the newtab page has no effect on the result of this function.
    
    417 417
        */
    
    418 418
       get defaultURL() {
    
    419
    -    return "about:mullvad-browser";
    
    419
    +    // Generate the desired activity stream resource depending on state, e.g.,
    
    420
    +    // "resource://newtab/prerendered/activity-stream.html"
    
    421
    +    // "resource://newtab/prerendered/activity-stream-debug.html"
    
    422
    +    // "resource://newtab/prerendered/activity-stream-noscripts.html"
    
    423
    +    return [
    
    424
    +      "resource://newtab/prerendered/",
    
    425
    +      "activity-stream",
    
    426
    +      // Debug version loads dev scripts but noscripts separately loads scripts
    
    427
    +      this.activityStreamDebug && !this.privilegedAboutProcessEnabled
    
    428
    +        ? "-debug"
    
    429
    +        : "",
    
    430
    +      this.privilegedAboutProcessEnabled ? "-noscripts" : "",
    
    431
    +      ".html",
    
    432
    +    ].join("");
    
    420 433
       }
    
    421 434
     
    
    422 435
       newChannel() {
    

  • browser/modules/AboutNewTab.sys.mjs
    ... ... @@ -154,6 +154,11 @@ export const AboutNewTab = {
    154 154
        * onBrowserReady - Continues the initialization of Activity Stream after browser is ready.
    
    155 155
        */
    
    156 156
       async onBrowserReady() {
    
    157
    +    if (AppConstants.BASE_BROWSER_VERSION) {
    
    158
    +      // Do not initialise ActivityStream, which we do not want and is not
    
    159
    +      // available. tor-browser#43886.
    
    160
    +      return;
    
    161
    +    }
    
    157 162
         if (this.activityStream && this.activityStream.initialized) {
    
    158 163
           return;
    
    159 164
         }