diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 27b53d3ec..7a5ebc971 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -298,7 +298,6 @@ jobs: secrets: inherit with: use-sccache: ${{ inputs.use-sccache }} - force-candidate: ${{ !inputs.create_release }} build-version: ${{ needs.build-data.outputs.version }} generate-pgo: true profile-data-path-archive: zen-windows-profile-data-and-jarlog.zip @@ -314,7 +313,6 @@ jobs: secrets: inherit needs: [windows-step-1, build-data] with: - force-candidate: ${{ !inputs.create_release }} build-version: ${{ needs.build-data.outputs.version }} profile-data-path-archive: zen.win64-pgo-stage-1.zip release-branch: ${{ inputs.update_branch }} @@ -329,7 +327,6 @@ jobs: if: ${{ !failure() && !cancelled() }} needs: [build-data, windows-step-2, start-self-host, buildid] with: - force-candidate: ${{ !inputs.create_release }} build-version: ${{ needs.build-data.outputs.version }} generate-pgo: false disable-pgo: ${{ inputs.disable-pgo }} @@ -345,7 +342,6 @@ jobs: secrets: inherit needs: [build-data, start-self-host, buildid] with: - force-candidate: ${{ !inputs.create_release }} build-version: ${{ needs.build-data.outputs.version }} release-branch: ${{ inputs.update_branch }} MOZ_BUILD_DATE: ${{needs.buildid.outputs.buildids}} @@ -362,7 +358,6 @@ jobs: secrets: inherit with: use-sccache: ${{ inputs.use-sccache }} - force-candidate: ${{ !inputs.create_release }} build-version: ${{ needs.build-data.outputs.version }} generate-pgo: true release-branch: ${{ inputs.update_branch }} @@ -377,7 +372,6 @@ jobs: secrets: inherit needs: [mac-step-1, build-data] with: - force-candidate: ${{ !inputs.create_release }} build-version: ${{ needs.build-data.outputs.version }} release-branch: ${{ inputs.update_branch }} @@ -391,7 +385,6 @@ jobs: if: ${{ !failure() && !cancelled() }} needs: [build-data, mac-step-2, start-self-host, buildid] with: - force-candidate: ${{ !inputs.create_release }} build-version: ${{ needs.build-data.outputs.version }} generate-pgo: false disable-pgo: ${{ inputs.disable-pgo }} @@ -407,7 +400,6 @@ jobs: secrets: inherit needs: [build-data, mac-step-3] with: - force-candidate: ${{ !inputs.create_release }} build-version: ${{ needs.build-data.outputs.version }} release-branch: ${{ inputs.update_branch }} diff --git a/.github/workflows/linux-release-build.yml b/.github/workflows/linux-release-build.yml index 7415eee48..4841eea82 100644 --- a/.github/workflows/linux-release-build.yml +++ b/.github/workflows/linux-release-build.yml @@ -25,14 +25,6 @@ on: required: false type: boolean default: false - force-candidate: - description: "Force building against the Firefox release candidate" - required: false - type: boolean - default: false - -env: - SURFER_FORCE_CANDIDATE: ${{ inputs.force-candidate && '1' || '' }} jobs: build-linux: diff --git a/.github/workflows/macos-profile-build.yml b/.github/workflows/macos-profile-build.yml index 9dbbcaff4..43aa552b2 100644 --- a/.github/workflows/macos-profile-build.yml +++ b/.github/workflows/macos-profile-build.yml @@ -14,14 +14,6 @@ on: description: "The branch to build" required: true type: string - force-candidate: - description: "Force building against the Firefox release candidate" - required: false - type: boolean - default: false - -env: - SURFER_FORCE_CANDIDATE: ${{ inputs.force-candidate && '1' || '' }} jobs: macos-profile-build: diff --git a/.github/workflows/macos-release-build.yml b/.github/workflows/macos-release-build.yml index 6e45fd2fc..72d7f2ee9 100644 --- a/.github/workflows/macos-release-build.yml +++ b/.github/workflows/macos-release-build.yml @@ -32,14 +32,6 @@ on: required: true type: boolean default: false - force-candidate: - description: "Force building against the Firefox release candidate" - required: false - type: boolean - default: false - -env: - SURFER_FORCE_CANDIDATE: ${{ inputs.force-candidate && '1' || '' }} jobs: mac-build: diff --git a/.github/workflows/macos-universal-release-build.yml b/.github/workflows/macos-universal-release-build.yml index ecadde63f..101d39738 100644 --- a/.github/workflows/macos-universal-release-build.yml +++ b/.github/workflows/macos-universal-release-build.yml @@ -11,14 +11,6 @@ on: description: "The branch to build" required: true type: string - force-candidate: - description: "Force building against the Firefox release candidate" - required: false - type: boolean - default: false - -env: - SURFER_FORCE_CANDIDATE: ${{ inputs.force-candidate && '1' || '' }} jobs: mac-build: diff --git a/.github/workflows/windows-profile-build.yml b/.github/workflows/windows-profile-build.yml index 888a237b8..694672647 100644 --- a/.github/workflows/windows-profile-build.yml +++ b/.github/workflows/windows-profile-build.yml @@ -18,14 +18,6 @@ on: description: "The branch to build" required: true type: string - force-candidate: - description: "Force building against the Firefox release candidate" - required: false - type: boolean - default: false - -env: - SURFER_FORCE_CANDIDATE: ${{ inputs.force-candidate && '1' || '' }} jobs: windows-profile-build: diff --git a/.github/workflows/windows-release-build.yml b/.github/workflows/windows-release-build.yml index 9741ca354..970636be3 100644 --- a/.github/workflows/windows-release-build.yml +++ b/.github/workflows/windows-release-build.yml @@ -35,13 +35,6 @@ on: required: true type: boolean default: false - force-candidate: - description: "Force building against the Firefox release candidate" - required: false - type: boolean - default: false -env: - SURFER_FORCE_CANDIDATE: ${{ inputs.force-candidate && '1' || '' }} jobs: windows-build: diff --git a/src/browser/themes/shared/zen-icons/icons.css b/src/browser/themes/shared/zen-icons/icons.css index 5a083ca7d..8a7c01c8e 100644 --- a/src/browser/themes/shared/zen-icons/icons.css +++ b/src/browser/themes/shared/zen-icons/icons.css @@ -435,10 +435,6 @@ list-style-image: url("arrow-left.svg") !important; } -#appmenu-moreTools-button { - list-style-image: url("customize.svg") !important; -} - #zen-copy-current-url-button, #share-tab-button, #zen-site-data-header-share { diff --git a/src/browser/themes/shared/zen-icons/jar.inc.mn b/src/browser/themes/shared/zen-icons/jar.inc.mn index 91c0cc49d..145e97214 100644 --- a/src/browser/themes/shared/zen-icons/jar.inc.mn +++ b/src/browser/themes/shared/zen-icons/jar.inc.mn @@ -14,8 +14,8 @@ * skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/nucleo/autoplay-media-fill.svg) * skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/nucleo/autoplay-media.svg) * skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/nucleo/back.svg) -* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg) * skin/classic/browser/zen-icons/block.svg (../shared/zen-icons/nucleo/block.svg) +* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg) * skin/classic/browser/zen-icons/bolt.svg (../shared/zen-icons/nucleo/bolt.svg) * skin/classic/browser/zen-icons/bookmark-hollow.svg (../shared/zen-icons/nucleo/bookmark-hollow.svg) * skin/classic/browser/zen-icons/bookmark-star-on-tray.svg (../shared/zen-icons/nucleo/bookmark-star-on-tray.svg) @@ -104,26 +104,27 @@ * skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/nucleo/popup-fill.svg) * skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/nucleo/popup.svg) * skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/nucleo/print.svg) -* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg) +* skin/classic/browser/zen-icons/private-window-small.svg (../shared/zen-icons/nucleo/private-window-small.svg) * skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/nucleo/private-window.svg) +* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg) * skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/nucleo/reader-mode.svg) * skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/nucleo/reload.svg) * skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/nucleo/save.svg) * skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/nucleo/screen-blocked.svg) -* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg) * skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/nucleo/screen.svg) +* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg) * skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/nucleo/search-glass.svg) * skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/nucleo/search-page.svg) * skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/nucleo/security-broken.svg) -* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg) * skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/nucleo/security-warning.svg) +* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg) * skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/nucleo/send-to-device.svg) * skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/nucleo/settings-fill.svg) * skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/nucleo/settings.svg) * skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/nucleo/share.svg) * skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/nucleo/sidebar-right.svg) -* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg) * skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/nucleo/sidebar.svg) +* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg) * skin/classic/browser/zen-icons/sliders.svg (../shared/zen-icons/nucleo/sliders.svg) * skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/nucleo/sparkles.svg) * skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/nucleo/spell-check.svg) @@ -164,8 +165,8 @@ * skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/nucleo/autoplay-media-fill.svg) * skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/nucleo/autoplay-media.svg) * skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/nucleo/back.svg) -* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg) * skin/classic/browser/zen-icons/block.svg (../shared/zen-icons/nucleo/block.svg) +* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg) * skin/classic/browser/zen-icons/bolt.svg (../shared/zen-icons/nucleo/bolt.svg) * skin/classic/browser/zen-icons/bookmark-hollow.svg (../shared/zen-icons/nucleo/bookmark-hollow.svg) * skin/classic/browser/zen-icons/bookmark-star-on-tray.svg (../shared/zen-icons/nucleo/bookmark-star-on-tray.svg) @@ -254,26 +255,27 @@ * skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/nucleo/popup-fill.svg) * skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/nucleo/popup.svg) * skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/nucleo/print.svg) -* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg) +* skin/classic/browser/zen-icons/private-window-small.svg (../shared/zen-icons/nucleo/private-window-small.svg) * skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/nucleo/private-window.svg) +* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg) * skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/nucleo/reader-mode.svg) * skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/nucleo/reload.svg) * skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/nucleo/save.svg) * skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/nucleo/screen-blocked.svg) -* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg) * skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/nucleo/screen.svg) +* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg) * skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/nucleo/search-glass.svg) * skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/nucleo/search-page.svg) * skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/nucleo/security-broken.svg) -* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg) * skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/nucleo/security-warning.svg) +* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg) * skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/nucleo/send-to-device.svg) * skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/nucleo/settings-fill.svg) * skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/nucleo/settings.svg) * skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/nucleo/share.svg) * skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/nucleo/sidebar-right.svg) -* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg) * skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/nucleo/sidebar.svg) +* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg) * skin/classic/browser/zen-icons/sliders.svg (../shared/zen-icons/nucleo/sliders.svg) * skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/nucleo/sparkles.svg) * skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/nucleo/spell-check.svg) @@ -314,8 +316,8 @@ * skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/nucleo/autoplay-media-fill.svg) * skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/nucleo/autoplay-media.svg) * skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/nucleo/back.svg) -* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg) * skin/classic/browser/zen-icons/block.svg (../shared/zen-icons/nucleo/block.svg) +* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg) * skin/classic/browser/zen-icons/bolt.svg (../shared/zen-icons/nucleo/bolt.svg) * skin/classic/browser/zen-icons/bookmark-hollow.svg (../shared/zen-icons/nucleo/bookmark-hollow.svg) * skin/classic/browser/zen-icons/bookmark-star-on-tray.svg (../shared/zen-icons/nucleo/bookmark-star-on-tray.svg) @@ -404,26 +406,27 @@ * skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/nucleo/popup-fill.svg) * skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/nucleo/popup.svg) * skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/nucleo/print.svg) -* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg) +* skin/classic/browser/zen-icons/private-window-small.svg (../shared/zen-icons/nucleo/private-window-small.svg) * skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/nucleo/private-window.svg) +* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg) * skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/nucleo/reader-mode.svg) * skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/nucleo/reload.svg) * skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/nucleo/save.svg) * skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/nucleo/screen-blocked.svg) -* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg) * skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/nucleo/screen.svg) +* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg) * skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/nucleo/search-glass.svg) * skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/nucleo/search-page.svg) * skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/nucleo/security-broken.svg) -* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg) * skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/nucleo/security-warning.svg) +* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg) * skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/nucleo/send-to-device.svg) * skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/nucleo/settings-fill.svg) * skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/nucleo/settings.svg) * skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/nucleo/share.svg) * skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/nucleo/sidebar-right.svg) -* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg) * skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/nucleo/sidebar.svg) +* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg) * skin/classic/browser/zen-icons/sliders.svg (../shared/zen-icons/nucleo/sliders.svg) * skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/nucleo/sparkles.svg) * skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/nucleo/spell-check.svg) @@ -459,8 +462,8 @@ * skin/classic/browser/zen-icons/selectable/basket.svg (../shared/zen-icons/common/selectable/basket.svg) * skin/classic/browser/zen-icons/selectable/bed.svg (../shared/zen-icons/common/selectable/bed.svg) * skin/classic/browser/zen-icons/selectable/bell.svg (../shared/zen-icons/common/selectable/bell.svg) -* skin/classic/browser/zen-icons/selectable/bookmark.svg (../shared/zen-icons/common/selectable/bookmark.svg) * skin/classic/browser/zen-icons/selectable/book.svg (../shared/zen-icons/common/selectable/book.svg) +* skin/classic/browser/zen-icons/selectable/bookmark.svg (../shared/zen-icons/common/selectable/bookmark.svg) * skin/classic/browser/zen-icons/selectable/briefcase.svg (../shared/zen-icons/common/selectable/briefcase.svg) * skin/classic/browser/zen-icons/selectable/brush.svg (../shared/zen-icons/common/selectable/brush.svg) * skin/classic/browser/zen-icons/selectable/bug.svg (../shared/zen-icons/common/selectable/bug.svg) @@ -522,8 +525,8 @@ * skin/classic/browser/zen-icons/selectable/shapes.svg (../shared/zen-icons/common/selectable/shapes.svg) * skin/classic/browser/zen-icons/selectable/shirt.svg (../shared/zen-icons/common/selectable/shirt.svg) * skin/classic/browser/zen-icons/selectable/skull.svg (../shared/zen-icons/common/selectable/skull.svg) -* skin/classic/browser/zen-icons/selectable/squares.svg (../shared/zen-icons/common/selectable/squares.svg) * skin/classic/browser/zen-icons/selectable/square.svg (../shared/zen-icons/common/selectable/square.svg) +* skin/classic/browser/zen-icons/selectable/squares.svg (../shared/zen-icons/common/selectable/squares.svg) * skin/classic/browser/zen-icons/selectable/star-1.svg (../shared/zen-icons/common/selectable/star-1.svg) * skin/classic/browser/zen-icons/selectable/star.svg (../shared/zen-icons/common/selectable/star.svg) * skin/classic/browser/zen-icons/selectable/stats-chart.svg (../shared/zen-icons/common/selectable/stats-chart.svg) diff --git a/src/browser/themes/shared/zen-icons/nucleo/private-window-small.svg b/src/browser/themes/shared/zen-icons/nucleo/private-window-small.svg new file mode 100644 index 000000000..f8cc1bb19 --- /dev/null +++ b/src/browser/themes/shared/zen-icons/nucleo/private-window-small.svg @@ -0,0 +1,5 @@ +#filter dumbComments emptyLines substitution +# 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 http://mozilla.org/MPL/2.0/. + diff --git a/src/external-patches/firefox/bug_2011236.patch b/src/external-patches/firefox/bug_2011236.patch index f853cfc36..1a46a9c03 100644 --- a/src/external-patches/firefox/bug_2011236.patch +++ b/src/external-patches/firefox/bug_2011236.patch @@ -150,8 +150,8 @@ diff --git a/docshell/shistory/SessionHistoryEntry.cpp b/docshell/shistory/Sessi aLoadState->TypeHint())) { MOZ_DIAGNOSTIC_ASSERT(!mURI->SchemeIs("javascript")); - // Verify the documented purpose of mBaseURI. -@@ -130,11 +139,12 @@ + // Pull the upload stream off of the channel instead of the load state, as +@@ -124,11 +133,12 @@ loadInfo->GetPrincipalToInherit( getter_AddRefs(mSharedState.Get()->mPrincipalToInherit)); diff --git a/src/zen/common/styles/zen-omnibox.css b/src/zen/common/styles/zen-omnibox.css index b392654a5..77ec73bf3 100644 --- a/src/zen/common/styles/zen-omnibox.css +++ b/src/zen/common/styles/zen-omnibox.css @@ -295,7 +295,7 @@ &, .urlbar-background { - border-radius: calc(12px * var(--zen-squircle-value)) !important; + border-radius: 12px !important; } &[breakout-extend][animate-searchmode="true"]::before { @@ -639,7 +639,7 @@ #urlbar-label-box, #urlbar-search-mode-indicator { - --urlbar-basic-component-size: 18px; + --urlbar-basic-component-size: auto; background-color: color-mix(in srgb, var(--zen-primary-color) 50%, light-dark(rgba(0, 0, 0, 0.5), rgba(255, 255, 255, 0.2)) 50%) !important; color: white; padding: 4px 8px; diff --git a/src/zen/spaces/ZenGradientGenerator.mjs b/src/zen/spaces/ZenGradientGenerator.mjs index a68dc3bc1..cc423bc39 100644 --- a/src/zen/spaces/ZenGradientGenerator.mjs +++ b/src/zen/spaces/ZenGradientGenerator.mjs @@ -1476,14 +1476,19 @@ export class nsZenThemePicker extends nsZenMultiWindowFeature { * @returns {string} The primary color in hex format. */ getAccentColorForUI(accentColor, isDarkMode) { - const [h, s, l] = this.rgbToHsl(...accentColor); + let [r, g, b] = accentColor; if (isDarkMode) { - return `rgb(${accentColor[0]}, ${accentColor[1]}, ${accentColor[2]})`; + return `rgb(${r}, ${g}, ${b})`; } + // gh-15142: Special case for grayscale colors + if (r == g && g == b) { + return `rgb(${r}, ${g}, ${b})`; + } + const [h, s, l] = this.rgbToHsl(...accentColor); const saturation = Math.min(1, s + 0.3); const targetLightness = this.isDarkMode ? 0.62 : 0.42; const lightness = l * 0.4 + targetLightness * 0.6; - const [r, g, b] = this.hslToRgb(h / 360, saturation, lightness); + [r, g, b] = this.hslToRgb(h / 360, saturation, lightness); return `rgb(${r}, ${g}, ${b})`; } @@ -1504,7 +1509,7 @@ export class nsZenThemePicker extends nsZenMultiWindowFeature { baseColor = this.blendColors( accentColor, baseColor.slice(0, 3), - this.canBeTransparent ? 15 : 5 + this.canBeTransparent ? 25 : 5 ).concat(opacity); } return baseColor; diff --git a/src/zen/spaces/ZenSpaceManager.mjs b/src/zen/spaces/ZenSpaceManager.mjs index 801222b1f..191328e53 100644 --- a/src/zen/spaces/ZenSpaceManager.mjs +++ b/src/zen/spaces/ZenSpaceManager.mjs @@ -2550,7 +2550,7 @@ class nsZenWorkspaces { "Default"; name = this.isPrivateWindow ? "Incognito" : label; if (this.isPrivateWindow) { - icon = gZenEmojiPicker.getSVGURL("eye.svg"); + icon = "chrome://browser/skin/zen-icons/private-window-small.svg"; } } let workspace = { diff --git a/src/zen/tests/mochitests/sessionstore/browser.toml b/src/zen/tests/mochitests/sessionstore/browser.toml index bcc9ff324..d49574a0e 100644 --- a/src/zen/tests/mochitests/sessionstore/browser.toml +++ b/src/zen/tests/mochitests/sessionstore/browser.toml @@ -16,6 +16,8 @@ support-files = [ "browser_frame_history_c2.html", "browser_formdata_format_sample.html", "browser_sessionHistory_slow.sjs", + "browser_policy_container_sample.html", + "browser_policy_container_sample_frame.html", "browser_scrollPositions_sample.html", "browser_scrollPositions_sample2.html", "browser_scrollPositions_sample_frameset.html", @@ -247,6 +249,8 @@ skip-if = [ "ccov", # Bug 1625525 ] +["browser_policy_container_not_stored.js"] + ["browser_privatetabs.js"] ["browser_purge_domaindata.js"] diff --git a/src/zen/tests/mochitests/sessionstore/browser_policy_container_not_stored.js b/src/zen/tests/mochitests/sessionstore/browser_policy_container_not_stored.js new file mode 100644 index 000000000..9258e3d54 --- /dev/null +++ b/src/zen/tests/mochitests/sessionstore/browser_policy_container_not_stored.js @@ -0,0 +1,51 @@ +/* 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 http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +/** + * A session history entry only needs to retain the policy container for loads + * that inherit their policies (about:blank, about:srcdoc, blob:, data:, ...). + * Anything fetched over the network gets its policies from the response again, + * so storing them would only bloat the session store (bug 2011236). + */ + +const TEST_ROOT = getRootDirectory(gTestPath).replace( + "chrome://mochitests/content", + "https://example.com" +); +const PARENT_URL = TEST_ROOT + "browser_policy_container_sample.html"; +const FRAME_URL = TEST_ROOT + "browser_policy_container_sample_frame.html"; + +add_task(async function test_policy_container_only_for_inheriting_loads() { + const tab = BrowserTestUtils.addTab(gBrowser, PARENT_URL); + gBrowser.selectedTab = tab; + await promiseBrowserLoaded(tab.linkedBrowser, true, PARENT_URL); + await TabStateFlusher.flush(tab.linkedBrowser); + + const state = JSON.parse(ss.getTabState(tab)); + const topEntry = state.entries.at(-1); + is(topEntry.url, PARENT_URL, "collected the parent entry"); + + const children = topEntry.children ?? []; + const networkFrame = children.find(child => child.url === FRAME_URL); + const blankFrame = children.find(child => child.url === "about:blank"); + + ok(networkFrame, "collected the network-scheme subframe entry"); + ok(blankFrame, "collected the about:blank subframe entry"); + + // The parent has a CSP, so both subframes inherit a policy container onto + // their load state. Only the one that cannot recover it from a response + // should keep it in session history. + ok( + !("policyContainer" in networkFrame), + "https subframe entry does not store a policyContainer" + ); + ok( + "policyContainer" in blankFrame, + "about:blank subframe entry still stores its inherited policyContainer" + ); + + await BrowserTestUtils.removeTab(tab); +}); diff --git a/src/zen/tests/mochitests/sessionstore/browser_policy_container_sample.html b/src/zen/tests/mochitests/sessionstore/browser_policy_container_sample.html new file mode 100644 index 000000000..1b8ad8d29 --- /dev/null +++ b/src/zen/tests/mochitests/sessionstore/browser_policy_container_sample.html @@ -0,0 +1,12 @@ + + + + + + policyContainer session store sample + + + + + + diff --git a/src/zen/tests/mochitests/sessionstore/browser_policy_container_sample_frame.html b/src/zen/tests/mochitests/sessionstore/browser_policy_container_sample_frame.html new file mode 100644 index 000000000..4675a0cd4 --- /dev/null +++ b/src/zen/tests/mochitests/sessionstore/browser_policy_container_sample_frame.html @@ -0,0 +1,10 @@ + + + + + policyContainer session store sample frame + + + frame + + diff --git a/src/zen/tests/mochitests/sessionstore/unit/test_write_json_length_hint.js b/src/zen/tests/mochitests/sessionstore/unit/test_write_json_length_hint.js new file mode 100644 index 000000000..fd4a44848 --- /dev/null +++ b/src/zen/tests/mochitests/sessionstore/unit/test_write_json_length_hint.js @@ -0,0 +1,73 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const { SessionWriter } = ChromeUtils.importESModule( + "resource:///modules/sessionstore/SessionWriter.sys.mjs" +); + +const profd = do_get_profile(); +const { SessionFile } = ChromeUtils.importESModule( + "resource:///modules/sessionstore/SessionFile.sys.mjs" +); + +const { updateAppInfo } = ChromeUtils.importESModule( + "resource://testing-common/AppInfo.sys.mjs" +); +updateAppInfo({ + name: "SessionRestoreTest", + ID: "{230de50e-4cd1-11dc-8314-0800200c9a66}", + version: "1", + platformVersion: "", +}); + +add_setup(async function () { + let source = do_get_file("data/sessionstore_valid.js"); + source.copyTo(profd, "sessionstore.js"); + await writeCompressedFile( + SessionFile.Paths.clean.replace("jsonlz4", "js"), + SessionFile.Paths.clean + ); + await SessionFile.read(); +}); + +add_task(async function test_length_hint_updates_after_write() { + Assert.equal( + SessionWriter._jsonLengthHint, + 0, + "Length hint starts at 0" + ); + + await SessionFile.write({}); + + let hintAfterSmall = SessionWriter._jsonLengthHint; + Assert.equal( + hintAfterSmall, + JSON.stringify({}).length, + "Hint matches the uncompressed JSON byte length" + ); + + let largerState = await IOUtils.readJSON( + PathUtils.join(do_get_cwd().path, "data", "sessionstore_complete.json") + ); + await SessionFile.write(largerState); + + Assert.greater( + SessionWriter._jsonLengthHint, + hintAfterSmall, + "Hint grows after writing a larger state" + ); +}); + +add_task(async function test_length_hint_resets_on_wipe() { + await SessionFile.write({ windows: [{ tabs: [{ entries: [] }] }] }); + Assert.greater(SessionWriter._jsonLengthHint, 0, "Hint is nonzero"); + + await SessionFile.wipe(); + Assert.equal( + SessionWriter._jsonLengthHint, + 0, + "Hint resets to 0 after wipe" + ); +}); diff --git a/src/zen/tests/mochitests/sessionstore/unit/xpcshell.toml b/src/zen/tests/mochitests/sessionstore/unit/xpcshell.toml index 661a6046d..01b0fe1f2 100644 --- a/src/zen/tests/mochitests/sessionstore/unit/xpcshell.toml +++ b/src/zen/tests/mochitests/sessionstore/unit/xpcshell.toml @@ -41,3 +41,8 @@ skip-if = [ ] ["test_startup_session_async.js"] + +["test_write_json_length_hint.js"] +support-files = [ + "data/sessionstore_complete.json", +] diff --git a/src/zen/tests/mochitests/tabMediaIndicator/browser.toml b/src/zen/tests/mochitests/tabMediaIndicator/browser.toml index ee21b0a23..6754a3dd9 100644 --- a/src/zen/tests/mochitests/tabMediaIndicator/browser.toml +++ b/src/zen/tests/mochitests/tabMediaIndicator/browser.toml @@ -35,12 +35,12 @@ https_first_disabled = true ["browser_mute.js"] +["browser_mute2.js"] + ["browser_mute_persist_navigation.js"] ["browser_mute_restore_closed_audible_tab.js"] -["browser_mute2.js"] - ["browser_mute_webAudio.js"] ["browser_sound_indicator_silent_video.js"] diff --git a/src/zen/welcome/ZenWelcome.mjs b/src/zen/welcome/ZenWelcome.mjs index bed6b00a0..7baac6aba 100644 --- a/src/zen/welcome/ZenWelcome.mjs +++ b/src/zen/welcome/ZenWelcome.mjs @@ -189,7 +189,7 @@ document.getElementById("zen-welcome-start").remove(); const pages = document.getElementById("zen-welcome-pages"); pages.style.display = "flex"; - animate(pages, { opacity: [0, 1] }, { ...kFade, duration: 0.2 }); + animate(pages, { opacity: [0, 1] }, { ...kFade, duration: 0.45 }); this.backButton.addEventListener("click", () => this.back()); } @@ -501,7 +501,7 @@ // 20 is the shadow width * 2 anchor.style.height = panelRect.height - - (AppConstants.platform == "macosx" ? -72 : 20) + + (AppConstants.platform == "macosx" ? -90 : 20) + "px"; anchor.style.width = panelRect.width - 20 + "px"; }, @@ -687,7 +687,7 @@ chars, { opacity: [0, 1], y: [50, 0] }, { - delay: getMotion().stagger(0.035, { startDelay: 0.2 }), + delay: getMotion().stagger(0.035, { startDelay: 0.8 }), type: "spring", bounce: 0.3, visualDuration: 0.45, @@ -700,7 +700,11 @@ await animate( "#zen-welcome-title .zen-welcome-char, #zen-welcome-start-button", { opacity: [1, 0], y: [0, -14] }, - { ...kSpring, delay: getMotion().stagger(0.012) } + { + duration: 0.3, + ease: "easeIn", + delay: getMotion().stagger(0.012), + } ); new nsZenWelcomePages(getWelcomePages()); }, diff --git a/src/zen/welcome/zen-welcome.css b/src/zen/welcome/zen-welcome.css index 13247db21..6b697eb24 100644 --- a/src/zen/welcome/zen-welcome.css +++ b/src/zen/welcome/zen-welcome.css @@ -74,7 +74,7 @@ font-weight: 600; cursor: pointer; will-change: transform; - transition: scale 0.25s cubic-bezier(0.34, 1.56, 0.64, 1); + transition: scale 0.15s ease-out; &:hover { scale: 1.03; @@ -110,7 +110,7 @@ fill: white !important; will-change: transform; - transition: scale 0.25s cubic-bezier(0.34, 1.56, 0.64, 1); + transition: scale 0.15s ease-out; &:hover { scale: 1.03; @@ -294,6 +294,7 @@ overflow-y: auto; padding-top: 6rem; padding-bottom: 6rem; + scrollbar-width: none; mask-image: linear-gradient( transparent,