brizental pushed to branch mullvad-browser-146.0a1-16.0-1 at The Tor Project / Applications / Mullvad Browser

WARNING: The push did not contain any new commits, but force pushed to delete the commits and changes below.

Deleted commits:

25 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/app/Makefile.in
    ... ... @@ -92,7 +92,6 @@ tools repackage:: $(DIST)/bin/$(MOZ_APP_NAME) $(objdir)/macbuild/Contents/MacOS-
    92 92
     	rsync -aL $(DIST)/bin/$(MOZ_APP_NAME) '$(dist_dest)/Contents/MacOS'
    
    93 93
     	cp -RL $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/firefox.icns '$(dist_dest)/Contents/Resources/firefox.icns'
    
    94 94
     	cp -RL $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/document.icns '$(dist_dest)/Contents/Resources/document.icns'
    
    95
    -	cp -RL $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/Assets.car '$(dist_dest)/Contents/Resources/Assets.car'
    
    96 95
     ifndef BASE_BROWSER_UPDATE
    
    97 96
     	$(MKDIR) -p '$(dist_dest)/Contents/Library/LaunchServices'
    
    98 97
     ifdef MOZ_UPDATER
    

  • browser/app/macbuild/Contents/Info.plist.in
    ... ... @@ -190,8 +190,6 @@
    190 190
     	<string>@MAC_APP_NAME@ @APP_VERSION@</string>
    
    191 191
     	<key>CFBundleIconFile</key>
    
    192 192
     	<string>firefox.icns</string>
    
    193
    -	<key>CFBundleIconName</key>
    
    194
    -	<string>AppIcon</string>
    
    195 193
     	<key>CFBundleIdentifier</key>
    
    196 194
     	<string>@MOZ_MACBUNDLE_ID@</string>
    
    197 195
     	<key>CFBundleInfoDictionaryVersion</key>
    

  • browser/branding/aurora/Assets.car deleted
    No preview for this file type
  • browser/branding/nightly/Assets.car deleted
    No preview for this file type
  • browser/branding/official/Assets.car deleted
    No preview for this file type
  • browser/branding/unofficial/Assets.car deleted
    No preview for this file type
  • browser/components/about/AboutRedirector.cpp
    ... ... @@ -36,6 +36,7 @@ struct RedirEntry {
    36 36
     
    
    37 37
     static const uint32_t BASE_BROWSER_HOME_PAGE_FLAGS =
    
    38 38
         nsIAboutModule::URI_MUST_LOAD_IN_CHILD |
    
    39
    +    nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS |
    
    39 40
         nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
    
    40 41
         nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI;
    
    41 42
     
    

  • browser/components/securitylevel/content/securityLevelPanel.css
    ... ... @@ -59,7 +59,7 @@
    59 59
     }
    
    60 60
     
    
    61 61
     #securityLevel-level {
    
    62
    -  font-size: 1.25em;
    
    62
    +  font-size: larger;
    
    63 63
       font-weight: var(--font-weight-bold);
    
    64 64
       grid-area: title;
    
    65 65
     }
    

  • browser/components/securitylevel/content/securityLevelPreferences.css
    ... ... @@ -63,7 +63,7 @@
    63 63
     
    
    64 64
     .security-level-name {
    
    65 65
       grid-area: name;
    
    66
    -  font-weight: bold;
    
    66
    +  font-weight: var(--font-weight-bold);
    
    67 67
       align-self: center;
    
    68 68
       white-space: nowrap;
    
    69 69
     }
    
    ... ... @@ -97,7 +97,7 @@
    97 97
     #security-level-current {
    
    98 98
       margin-block-start: var(--space-large);
    
    99 99
       background: var(--background-color-box);
    
    100
    -  border: 1px solid var(--in-content-box-border-color);
    
    100
    +  border: 1px solid var(--border-color);
    
    101 101
       border-radius: var(--border-radius-small);
    
    102 102
       padding: var(--space-medium);
    
    103 103
     }
    

  • browser/installer/package-manifest.in
    ... ... @@ -44,7 +44,6 @@
    44 44
     @APPNAME@/Contents/PkgInfo
    
    45 45
     @RESPATH@/firefox.icns
    
    46 46
     @RESPATH@/document.icns
    
    47
    -@RESPATH@/Assets.car
    
    48 47
     @RESPATH@/@LPROJ_ROOT@.lproj/*
    
    49 48
     #endif
    
    50 49
     
    

  • build/moz.configure/basebrowser-resources.configure
    ... ... @@ -55,6 +55,7 @@ option(
    55 55
         nargs=1,
    
    56 56
         default=None,
    
    57 57
         help="Path to location of fonts directory.",
    
    58
    +    when=is_desktop_build,
    
    58 59
     )
    
    59 60
     
    
    60 61
     
    
    ... ... @@ -63,8 +64,11 @@ option(
    63 64
         mozbuild_state_path,
    
    64 65
         bootstrap_path(
    
    65 66
             "fonts",
    
    66
    -        when=depends("--with-tor-browser-fonts")(lambda x: not x) & is_desktop_build,
    
    67
    +        when=depends("--with-tor-browser-fonts", when=is_desktop_build)(
    
    68
    +            lambda x: not x
    
    69
    +        ),
    
    67 70
         ),
    
    71
    +    when=is_desktop_build,
    
    68 72
     )
    
    69 73
     @checking("for tor-browser fonts directory")
    
    70 74
     @imports(_from="pathlib", _import="Path")
    

  • eslint.config.mjs
    ... ... @@ -420,7 +420,7 @@ let config = [
    420 420
         ignores: ["toolkit/**/test/**", "toolkit/**/tests/**"],
    
    421 421
         plugins: { mozilla },
    
    422 422
         rules: {
    
    423
    -      "mozilla/no-browser-refs-in-toolkit": "error",
    
    423
    +      "mozilla/no-browser-refs-in-toolkit": "warn",
    
    424 424
         },
    
    425 425
       },
    
    426 426
       {
    

  • mobile/android/mach_commands.py
    ... ... @@ -197,8 +197,7 @@ def android_archive_geckoview(command_context, args):
    197 197
     
    
    198 198
         if ret != 0:
    
    199 199
             return ret
    
    200
    -    if "MOZ_AUTOMATION" in os.environ:
    
    201
    -        create_maven_archive(command_context.topobjdir)
    
    200
    +    create_maven_archive(command_context.topobjdir)
    
    202 201
     
    
    203 202
         return 0
    
    204 203
     
    

  • python/mach/mach/sentry.py
    ... ... @@ -35,7 +35,8 @@ class SentryErrorReporter(ErrorReporter):
    35 35
         """Reports errors using Sentry."""
    
    36 36
     
    
    37 37
         def report_exception(self, exception):
    
    38
    -        return sentry_sdk.capture_exception(exception)
    
    38
    +        pass
    
    39
    +        # return sentry_sdk.capture_exception(exception)
    
    39 40
     
    
    40 41
     
    
    41 42
     class NoopErrorReporter(ErrorReporter):
    
    ... ... @@ -61,10 +62,10 @@ def register_sentry(argv, settings, topsrcdir: Path):
    61 62
         )
    
    62 63
         _is_unmodified_mach_core_thread.start()
    
    63 64
     
    
    64
    -    sentry_sdk.init(
    
    65
    -        _SENTRY_DSN, before_send=lambda event, _: _process_event(event, topsrcdir)
    
    66
    -    )
    
    67
    -    sentry_sdk.add_breadcrumb(message="./mach {}".format(" ".join(argv)))
    
    65
    +    # sentry_sdk.init(
    
    66
    +    #     _SENTRY_DSN, before_send=lambda event, _: _process_event(event, topsrcdir)
    
    67
    +    # )
    
    68
    +    # sentry_sdk.add_breadcrumb(message="./mach {}".format(" ".join(argv)))
    
    68 69
         return SentryErrorReporter()
    
    69 70
     
    
    70 71
     
    

  • python/mach/mach/telemetry.py
    ... ... @@ -7,7 +7,6 @@ import importlib.util
    7 7
     import os
    
    8 8
     import subprocess
    
    9 9
     import sys
    
    10
    -import urllib.parse as urllib_parse
    
    11 10
     from pathlib import Path
    
    12 11
     from textwrap import dedent
    
    13 12
     
    
    ... ... @@ -129,40 +128,6 @@ def resolve_setting_from_arcconfig(topsrcdir: Path, setting):
    129 128
     
    
    130 129
     def resolve_is_employee_by_credentials(topsrcdir: Path):
    
    131 130
         return None
    
    132
    -    try:
    
    133
    -        phabricator_uri = resolve_setting_from_arcconfig(topsrcdir, "phabricator.uri")
    
    134
    -
    
    135
    -        if not phabricator_uri:
    
    136
    -            return None
    
    137
    -
    
    138
    -        with arcrc_path().open() as arcrc_file:
    
    139
    -            arcrc = json.load(arcrc_file)
    
    140
    -
    
    141
    -        phabricator_token = (
    
    142
    -            arcrc.get("hosts", {})
    
    143
    -            .get(urllib_parse.urljoin(phabricator_uri, "api/"), {})
    
    144
    -            .get("token")
    
    145
    -        )
    
    146
    -
    
    147
    -        if not phabricator_token:
    
    148
    -            return None
    
    149
    -
    
    150
    -        bmo_uri = (
    
    151
    -            resolve_setting_from_arcconfig(topsrcdir, "bmo_url")
    
    152
    -            or "https://bugzilla.mozilla.org"
    
    153
    -        )
    
    154
    -        bmo_api_url = urllib_parse.urljoin(bmo_uri, "rest/whoami")
    
    155
    -        bmo_result = requests.get(
    
    156
    -            bmo_api_url, headers={"X-PHABRICATOR-TOKEN": phabricator_token}
    
    157
    -        )
    
    158
    -
    
    159
    -        return "mozilla-employee-confidential" in bmo_result.json().get("groups", [])
    
    160
    -    except (
    
    161
    -        FileNotFoundError,
    
    162
    -        json.JSONDecodeError,
    
    163
    -        requests.exceptions.RequestException,
    
    164
    -    ):
    
    165
    -        return None
    
    166 131
     
    
    167 132
     
    
    168 133
     def resolve_is_employee_by_vcs(topsrcdir: Path):
    

  • python/mozlint/mozlint/cli.py
    ... ... @@ -16,8 +16,11 @@ from mozlint.formatters import all_formatters
    16 16
     # Below is a list of linters we do not use,
    
    17 17
     # these will be skipped when running `./mach lint` commands.
    
    18 18
     INACTIVE_LINTERS = [
    
    19
    +    "android-ac",
    
    19 20
         "android-api-lint",
    
    20 21
         "android-checkstyle",
    
    22
    +    "android-fenix",
    
    23
    +    "android-focus",
    
    21 24
         "android-format",
    
    22 25
         "android-javadoc",
    
    23 26
         "android-lint",
    
    ... ... @@ -33,7 +36,10 @@ INACTIVE_LINTERS = [
    33 36
         "rejected-words",
    
    34 37
         "rst",
    
    35 38
         "updatebot",
    
    39
    +    "typescript",
    
    36 40
         "wpt",
    
    41
    +    "stylelint",
    
    42
    +    "glean-parser",
    
    37 43
     ]
    
    38 44
     
    
    39 45
     
    

  • testing/testsuite-targets.mk
    ... ... @@ -151,7 +151,7 @@ download-wpt-manifest:
    151 151
     	$(call py_action,download_wpt_manifest)
    
    152 152
     
    
    153 153
     define package_archive
    
    154
    -package-tests-$(1): stage-all package-tests-prepare-dest download-wpt-manifest
    
    154
    +package-tests-$(1): stage-all package-tests-prepare-dest
    
    155 155
     	$$(call py_action,test_archive, \
    
    156 156
     		$(1) \
    
    157 157
     		'$$(abspath $$(test_archive_dir))/$$(PKG_BASENAME).$(1).tests.$(2)')
    

  • toolkit/components/resistfingerprinting/content/letterboxing.css
    ... ... @@ -17,6 +17,9 @@
    17 17
       }
    
    18 18
     }
    
    19 19
     
    
    20
    +/* stylelint-disable stylelint-plugin-mozilla/use-border-color-tokens */
    
    21
    +/* stylelint-disable stylelint-plugin-mozilla/use-border-radius-tokens */
    
    22
    +
    
    20 23
     #tabbrowser-tabbox.letterboxing {
    
    21 24
       --letterboxing-bgcolor: var(--background-color-canvas);
    
    22 25
       /* Match the border radius used for the sidebar. */
    

  • toolkit/components/search/content/base-browser-search-engine-icons.json
    ... ... @@ -2,6 +2,9 @@
    2 2
       "ddg": [
    
    3 3
         { "url": "chrome://global/content/search/duckduckgo.ico", "imageSize": 32 }
    
    4 4
       ],
    
    5
    +  "ddg-noai": [
    
    6
    +    { "url": "chrome://global/content/search/duckduckgo.ico", "imageSize": 32 }
    
    7
    +  ],
    
    5 8
       "startpage": [
    
    6 9
         {
    
    7 10
           "url": "chrome://global/content/search/startpage-16.png",
    

  • toolkit/components/search/content/base-browser-search-engines.json
    ... ... @@ -17,6 +17,24 @@
    17 17
         "recordType": "engine",
    
    18 18
         "variants": [{ "environment": { "allRegionsAndLocales": true } }]
    
    19 19
       },
    
    20
    +  {
    
    21
    +    "base": {
    
    22
    +      "aliases": ["ddgnoai"],
    
    23
    +      "classification": "general",
    
    24
    +      "name": "DuckDuckGo (no AI)",
    
    25
    +      "urls": {
    
    26
    +        "search": {
    
    27
    +          "base": "https://noai.duckduckgo.com/",
    
    28
    +          "params": [],
    
    29
    +          "searchTermParamName": "q"
    
    30
    +        }
    
    31
    +      }
    
    32
    +    },
    
    33
    +    "id": "91687f02-56dd-4fef-ba26-bf139dff3166",
    
    34
    +    "identifier": "ddg-noai",
    
    35
    +    "recordType": "engine",
    
    36
    +    "variants": [{ "environment": { "allRegionsAndLocales": true } }]
    
    37
    +  },
    
    20 38
       {
    
    21 39
         "base": {
    
    22 40
           "aliases": ["startpage", "sp"],
    
    ... ... @@ -39,5 +57,14 @@
    39 57
         "recordType": "defaultEngines",
    
    40 58
         "globalDefault": "ddg",
    
    41 59
         "globalDefaultPrivate": "ddg"
    
    60
    +  },
    
    61
    +  {
    
    62
    +    "recordType": "engineOrders",
    
    63
    +    "orders": [
    
    64
    +      {
    
    65
    +        "environment": { "allRegionsAndLocales": true },
    
    66
    +        "order": ["ddg", "ddg-noai", "startpage"]
    
    67
    +      }
    
    68
    +    ]
    
    42 69
       }
    
    43 70
     ]

  • toolkit/components/search/tests/xpcshell/test_base_browser.js
    ... ... @@ -4,12 +4,15 @@
    4 4
     /**
    
    5 5
      * This tests the SearchService to check our override of the remote settings is
    
    6 6
      * working as expected.
    
    7
    + *
    
    8
    + * When adding new engines, it should be enough to change expectedURLs below.
    
    7 9
      */
    
    8 10
     
    
    9 11
     "use strict";
    
    10 12
     
    
    11 13
     const expectedURLs = {
    
    12 14
       ddg: "https://duckduckgo.com/?q=test",
    
    15
    +  "ddg-noai": "https://noai.duckduckgo.com/?q=test",
    
    13 16
       startpage: "https://www.startpage.com/sp/search?q=test",
    
    14 17
     };
    
    15 18
     const defaultEngine = "ddg";
    
    ... ... @@ -45,3 +48,11 @@ add_task(function test_checkSearchURLs() {
    45 48
         Assert.equal(foundUrl, url, `The URL of ${engine.name} is not altered.`);
    
    46 49
       }
    
    47 50
     });
    
    51
    +
    
    52
    +add_task(async function test_iconsDoesNotFail() {
    
    53
    +  for (const id of Object.keys(expectedURLs)) {
    
    54
    +    const engine = Services.search.getEngineById(id);
    
    55
    +    // No need to assert anything, as in case of error this method should throw.
    
    56
    +    await engine.getIconURL();
    
    57
    +  }
    
    58
    +});

  • toolkit/mozapps/update/updater/updater.cpp
    ... ... @@ -3326,6 +3326,10 @@ int NS_main(int argc, NS_tchar** argv) {
    3326 3326
       putenv(const_cast<char*>("MOZ_USING_SERVICE="));
    
    3327 3327
     #endif
    
    3328 3328
     
    
    3329
    +#if defined(XP_UNIX) && !defined(XP_MACOSX)
    
    3330
    +  unsetenv("FONTCONFIG_PATH");
    
    3331
    +#endif
    
    3332
    +
    
    3329 3333
       if (argc == 2 && NS_tstrcmp(argv[1], NS_T("--channels-allowed")) == 0) {
    
    3330 3334
     #ifdef MOZ_VERIFY_MAR_SIGNATURE
    
    3331 3335
         int rv = PopulategMARStrings();