mirror of
https://github.com/zen-browser/desktop.git
synced 2025-09-06 03:18:19 +00:00
Compare commits
49 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1ad8f0f5ff | ||
![]() |
4ea3532fe1 | ||
![]() |
a1e21546c8 | ||
![]() |
f680b4592b | ||
![]() |
b0ab43d19d | ||
![]() |
60820e413d | ||
![]() |
9e338aabbc | ||
![]() |
6a8afc4282 | ||
![]() |
54702d9092 | ||
![]() |
120f15d645 | ||
![]() |
6b306c98dc | ||
![]() |
3da5eda339 | ||
![]() |
2a701bd2b9 | ||
![]() |
ed5740c24d | ||
![]() |
d96d6831a2 | ||
![]() |
5930552cdc | ||
![]() |
84183910b7 | ||
![]() |
48df87da98 | ||
![]() |
51d4396088 | ||
![]() |
78cd4ed095 | ||
![]() |
69f60b7066 | ||
![]() |
f0169277a0 | ||
![]() |
ffdae9a05b | ||
![]() |
47c5cc7ccb | ||
![]() |
c664a65100 | ||
![]() |
65c72a7871 | ||
![]() |
76166c4aa3 | ||
![]() |
ee20de3c3d | ||
![]() |
3fca0657b5 | ||
![]() |
7d7e57d6ee | ||
![]() |
08947fd4a1 | ||
![]() |
12ae2daeba | ||
![]() |
fe77048619 | ||
![]() |
9971dbd0ad | ||
![]() |
b735567504 | ||
![]() |
ba7eff60ef | ||
![]() |
400598a0b1 | ||
![]() |
dc6f46695a | ||
![]() |
48f036d6a0 | ||
![]() |
3a317daa87 | ||
![]() |
8e67690f82 | ||
![]() |
1594c5c08f | ||
![]() |
fd4c96e4b3 | ||
![]() |
37bd317391 | ||
![]() |
2c53b4a8c5 | ||
![]() |
5040df2416 | ||
![]() |
8bc4c97215 | ||
![]() |
a435d4ec18 | ||
![]() |
bed6fa7eca |
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
@@ -1,2 +0,0 @@
|
|||||||
patreon: zen_browser
|
|
||||||
ko_fi: zen_browser
|
|
103
.github/workflows/build.yml
vendored
103
.github/workflows/build.yml
vendored
@@ -50,10 +50,24 @@ on:
|
|||||||
default: false
|
default: false
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
debug-inputs:
|
buildid:
|
||||||
name: Debug inputs
|
name: Generate build ID
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
buildids: ${{ steps.get.outputs.bid }}
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
token: ${{ secrets.DEPLOY_KEY }}
|
||||||
|
|
||||||
|
- id: get
|
||||||
|
shell: bash -xe {0}
|
||||||
|
run: |
|
||||||
|
bdat=`date +"%Y%m%d%I%M%S"`
|
||||||
|
echo "bid=${bdat}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Debug
|
- name: Debug
|
||||||
run: |
|
run: |
|
||||||
echo "create_release: ${{ inputs.create_release }}"
|
echo "create_release: ${{ inputs.create_release }}"
|
||||||
@@ -64,21 +78,28 @@ jobs:
|
|||||||
echo "GITHUB_REPOSITORY_OWNER: ${{ github.repository_owner }}"
|
echo "GITHUB_REPOSITORY_OWNER: ${{ github.repository_owner }}"
|
||||||
echo "GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}"
|
echo "GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
|
||||||
buildid:
|
- name: Check if correct branch
|
||||||
name: Generate build ID
|
if: ${{ inputs.create_release }}
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
buildids: ${{ steps.get.outputs.bid }}
|
|
||||||
steps:
|
|
||||||
- id: get
|
|
||||||
shell: bash -xe {0}
|
|
||||||
run: |
|
run: |
|
||||||
bdat=`date +"%Y%m%d%I%M%S"`
|
echo "Checking if we are on the correct branch"
|
||||||
echo "bid=${bdat}" >> $GITHUB_OUTPUT
|
git branch
|
||||||
|
git status
|
||||||
|
git branch --show-current
|
||||||
|
branch="${{ inputs.update_branch }}"
|
||||||
|
if [[ $branch == "twilight" ]]; then
|
||||||
|
branch="dev"
|
||||||
|
elif [[ $branch == "release" ]]; then
|
||||||
|
branch="stable"
|
||||||
|
fi
|
||||||
|
if [[ $(git branch --show-current) != $branch ]]; then
|
||||||
|
echo ">>> Branch mismatch"
|
||||||
|
# exit 1
|
||||||
|
else
|
||||||
|
echo ">>> Branch matches"
|
||||||
|
fi
|
||||||
|
|
||||||
start-self-host:
|
start-self-host:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: debug-inputs
|
|
||||||
steps:
|
steps:
|
||||||
- name: Download aws-cli
|
- name: Download aws-cli
|
||||||
if: ${{ inputs.create_release && inputs.update_branch == 'release' }}
|
if: ${{ inputs.create_release && inputs.update_branch == 'release' }}
|
||||||
@@ -101,42 +122,12 @@ jobs:
|
|||||||
echo "Removing self-hosted runner script"
|
echo "Removing self-hosted runner script"
|
||||||
rm start.sh || true
|
rm start.sh || true
|
||||||
|
|
||||||
check-build-is-correct:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [debug-inputs]
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: recursive
|
|
||||||
token: ${{ secrets.DEPLOY_KEY }}
|
|
||||||
|
|
||||||
- name: Check if correct branch
|
|
||||||
if: ${{ inputs.create_release }}
|
|
||||||
run: |
|
|
||||||
echo "Checking if we are on the correct branch"
|
|
||||||
git branch
|
|
||||||
git status
|
|
||||||
git branch --show-current
|
|
||||||
branch="${{ inputs.update_branch }}"
|
|
||||||
if [[ $branch == "twilight" ]]; then
|
|
||||||
branch="dev"
|
|
||||||
elif [[ $branch == "release" ]]; then
|
|
||||||
branch="stable"
|
|
||||||
fi
|
|
||||||
if [[ $(git branch --show-current) != $branch ]]; then
|
|
||||||
echo ">>> Branch mismatch"
|
|
||||||
# exit 1
|
|
||||||
else
|
|
||||||
echo ">>> Branch matches"
|
|
||||||
fi
|
|
||||||
|
|
||||||
build-data:
|
build-data:
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
name: Generate build data
|
name: Generate build data
|
||||||
runs-on: ubuntu-latest
|
runs-on: blacksmith-2vcpu-ubuntu-2404
|
||||||
needs: check-build-is-correct
|
needs: buildid
|
||||||
outputs:
|
outputs:
|
||||||
build_date: ${{ steps.data.outputs.builddate }}
|
build_date: ${{ steps.data.outputs.builddate }}
|
||||||
version: ${{ steps.data.outputs.version }}
|
version: ${{ steps.data.outputs.version }}
|
||||||
@@ -149,7 +140,7 @@ jobs:
|
|||||||
token: ${{ secrets.DEPLOY_KEY }}
|
token: ${{ secrets.DEPLOY_KEY }}
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: useblacksmith/setup-node@v5
|
||||||
with:
|
with:
|
||||||
node-version-file: '.nvmrc'
|
node-version-file: '.nvmrc'
|
||||||
|
|
||||||
@@ -199,7 +190,7 @@ jobs:
|
|||||||
name: Lint
|
name: Lint
|
||||||
|
|
||||||
check-release:
|
check-release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: blacksmith-2vcpu-ubuntu-2404
|
||||||
needs: [build-data, lint]
|
needs: [build-data, lint]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@@ -209,7 +200,7 @@ jobs:
|
|||||||
token: ${{ secrets.DEPLOY_KEY }}
|
token: ${{ secrets.DEPLOY_KEY }}
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: useblacksmith/setup-node@v5
|
||||||
with:
|
with:
|
||||||
node-version-file: '.nvmrc'
|
node-version-file: '.nvmrc'
|
||||||
|
|
||||||
@@ -240,7 +231,7 @@ jobs:
|
|||||||
source:
|
source:
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
runs-on: ubuntu-latest
|
runs-on: blacksmith-2vcpu-ubuntu-2404
|
||||||
needs: [build-data, check-release]
|
needs: [build-data, check-release]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -251,7 +242,7 @@ jobs:
|
|||||||
token: ${{ secrets.DEPLOY_KEY }}
|
token: ${{ secrets.DEPLOY_KEY }}
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: useblacksmith/setup-node@v5
|
||||||
with:
|
with:
|
||||||
node-version-file: '.nvmrc'
|
node-version-file: '.nvmrc'
|
||||||
|
|
||||||
@@ -368,7 +359,7 @@ jobs:
|
|||||||
name: AppImage build - Linux ${{ matrix.arch }}
|
name: AppImage build - Linux ${{ matrix.arch }}
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
runs-on: ubuntu-latest
|
runs-on: blacksmith-2vcpu-ubuntu-2404
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
arch: [x86_64, aarch64]
|
arch: [x86_64, aarch64]
|
||||||
@@ -381,7 +372,7 @@ jobs:
|
|||||||
token: ${{ secrets.DEPLOY_KEY }}
|
token: ${{ secrets.DEPLOY_KEY }}
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: useblacksmith/setup-node@v5
|
||||||
with:
|
with:
|
||||||
node-version-file: '.nvmrc'
|
node-version-file: '.nvmrc'
|
||||||
|
|
||||||
@@ -446,7 +437,7 @@ jobs:
|
|||||||
path: ./dist/zen-${{ matrix.arch }}.AppImage.zsync
|
path: ./dist/zen-${{ matrix.arch }}.AppImage.zsync
|
||||||
|
|
||||||
stop-self-hosted:
|
stop-self-hosted:
|
||||||
runs-on: ubuntu-latest
|
runs-on: blacksmith-2vcpu-ubuntu-2404
|
||||||
needs: [windows-step-3, linux]
|
needs: [windows-step-3, linux]
|
||||||
if: always()
|
if: always()
|
||||||
steps:
|
steps:
|
||||||
@@ -487,7 +478,7 @@ jobs:
|
|||||||
lint,
|
lint,
|
||||||
stop-self-hosted,
|
stop-self-hosted,
|
||||||
]
|
]
|
||||||
runs-on: ubuntu-latest
|
runs-on: blacksmith-2vcpu-ubuntu-2404
|
||||||
environment:
|
environment:
|
||||||
name: ${{ inputs.update_branch == 'release' && 'Deploy-Release' || 'Deploy-Twilight' }}
|
name: ${{ inputs.update_branch == 'release' && 'Deploy-Release' || 'Deploy-Twilight' }}
|
||||||
|
|
||||||
@@ -614,7 +605,7 @@ jobs:
|
|||||||
permissions: write-all
|
permissions: write-all
|
||||||
name: Prepare Flatpak
|
name: Prepare Flatpak
|
||||||
needs: [release, linux, build-data]
|
needs: [release, linux, build-data]
|
||||||
runs-on: ubuntu-latest
|
runs-on: blacksmith-2vcpu-ubuntu-2404
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Flatpak repository
|
- name: Checkout Flatpak repository
|
||||||
@@ -673,7 +664,7 @@ jobs:
|
|||||||
permissions: write-all
|
permissions: write-all
|
||||||
name: Release Flatpak
|
name: Release Flatpak
|
||||||
needs: [prepare-flatpak, build-data]
|
needs: [prepare-flatpak, build-data]
|
||||||
runs-on: ubuntu-latest
|
runs-on: blacksmith-2vcpu-ubuntu-2404
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Flatpak repository
|
- name: Checkout Flatpak repository
|
||||||
|
2
.github/workflows/code-linter.yml
vendored
2
.github/workflows/code-linter.yml
vendored
@@ -4,7 +4,6 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- dev
|
- dev
|
||||||
workflow_dispatch:
|
|
||||||
workflow_call:
|
workflow_call:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
@@ -16,6 +15,7 @@ permissions:
|
|||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ !contains(github.event.head_commit.message, '[no-lint]') }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
8
.github/workflows/linux-release-build.yml
vendored
8
.github/workflows/linux-release-build.yml
vendored
@@ -26,7 +26,7 @@ jobs:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
# aarch64 does not need full 16x
|
# aarch64 does not need full 16x
|
||||||
runs-on: ${{ (inputs.release-branch == 'release' && matrix.arch == 'x86_64') && 'self-hosted' || 'ubuntu-latest' }}
|
runs-on: ${{ (inputs.release-branch == 'release' && matrix.arch == 'x86_64') && 'self-hosted' || 'blacksmith-8vcpu-ubuntu-2404' }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -44,10 +44,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
tool-cache: false
|
tool-cache: false
|
||||||
|
|
||||||
# Bug: https://github.com/actions/checkout/issues/1153
|
|
||||||
- name: Remove zombie lock file
|
|
||||||
run: rm -f /home/ubuntu/actions-runner/_work/desktop/desktop/.git/modules/l10n/index.lock
|
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
@@ -55,7 +51,7 @@ jobs:
|
|||||||
token: ${{ secrets.DEPLOY_KEY }}
|
token: ${{ secrets.DEPLOY_KEY }}
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: useblacksmith/setup-node@v5
|
||||||
with:
|
with:
|
||||||
node-version-file: '.nvmrc'
|
node-version-file: '.nvmrc'
|
||||||
|
|
||||||
|
10
.github/workflows/windows-release-build.yml
vendored
10
.github/workflows/windows-release-build.yml
vendored
@@ -35,7 +35,7 @@ jobs:
|
|||||||
windows-build:
|
windows-build:
|
||||||
name: Build Windows - ${{ matrix.arch }}
|
name: Build Windows - ${{ matrix.arch }}
|
||||||
# aarch64 does not need full 16x, and we also dont use full LTO when generating GPO
|
# aarch64 does not need full 16x, and we also dont use full LTO when generating GPO
|
||||||
runs-on: ${{ (inputs.release-branch == 'release' && !inputs.generate-gpo && matrix.arch == 'x86_64') && 'self-hosted' || 'ubuntu-latest' }}
|
runs-on: ${{ (inputs.release-branch == 'release' && !inputs.generate-gpo && matrix.arch == 'x86_64') && 'self-hosted' || 'blacksmith-8vcpu-ubuntu-2404' }}
|
||||||
env:
|
env:
|
||||||
SCCACHE_GHA_ENABLED: ${{ inputs.use-sccache && 'true' || 'false' }}
|
SCCACHE_GHA_ENABLED: ${{ inputs.use-sccache && 'true' || 'false' }}
|
||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
@@ -53,10 +53,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
tool-cache: false
|
tool-cache: false
|
||||||
|
|
||||||
# Bug: https://github.com/actions/checkout/issues/1153
|
|
||||||
- name: Remove zombie lock file
|
|
||||||
run: rm -f /home/ubuntu/actions-runner/_work/desktop/desktop/.git/modules/l10n/index.lock
|
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
@@ -64,7 +60,7 @@ jobs:
|
|||||||
token: ${{ secrets.DEPLOY_KEY }}
|
token: ${{ secrets.DEPLOY_KEY }}
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v4
|
uses: useblacksmith/setup-node@v5
|
||||||
with:
|
with:
|
||||||
node-version-file: '.nvmrc'
|
node-version-file: '.nvmrc'
|
||||||
|
|
||||||
@@ -103,7 +99,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
SEGMENT_DOWNLOAD_TIMEOUT_MINS: 5
|
SEGMENT_DOWNLOAD_TIMEOUT_MINS: 5
|
||||||
id: cache-win-cross
|
id: cache-win-cross
|
||||||
uses: actions/cache@v4
|
uses: useblacksmith/cache@v5
|
||||||
with:
|
with:
|
||||||
path: ${HOME}/win-cross
|
path: ${HOME}/win-cross
|
||||||
key: win-cross
|
key: win-cross
|
||||||
|
12
README.md
12
README.md
@@ -29,11 +29,19 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne
|
|||||||
|
|
||||||
### Firefox Versions
|
### Firefox Versions
|
||||||
|
|
||||||
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `139.0.4`! 🚀
|
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `140.0.2`! 🚀
|
||||||
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 139.0.4`!
|
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 140.0.2`!
|
||||||
|
|
||||||
### Contributing
|
### Contributing
|
||||||
|
|
||||||
If you'd like to report a bug, please do so on our [GitHub Issues page](https://github.com/zen-browser/desktop/issues/) and for feature requests, you can use [Github Discussions](https://github.com/zen-browser/desktop/discussions).
|
If you'd like to report a bug, please do so on our [GitHub Issues page](https://github.com/zen-browser/desktop/issues/) and for feature requests, you can use [Github Discussions](https://github.com/zen-browser/desktop/discussions).
|
||||||
|
|
||||||
Zen is an open-source project, and we welcome contributions from the community! Please take a look at the [contribution guidelines](./docs/contribute.md) before getting started!
|
Zen is an open-source project, and we welcome contributions from the community! Please take a look at the [contribution guidelines](./docs/contribute.md) before getting started!
|
||||||
|
|
||||||
|
#### Partners
|
||||||
|
|
||||||
|
Thanks to all the partners of Zen for their support and contributions:
|
||||||
|
|
||||||
|
<a href="https://blacksmith.sh">
|
||||||
|
<img src="./docs/assets/blacksmith-yellow.png" width="350px"/>
|
||||||
|
</a>
|
||||||
|
@@ -1 +1 @@
|
|||||||
29fd9c19879c6f9bfcf414f47426d8dc00dee1a5
|
d5e5ed08dac5a263dbc7784dff272198b17bbc4f
|
BIN
docs/assets/blacksmith-yellow.png
Normal file
BIN
docs/assets/blacksmith-yellow.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.2 KiB |
@@ -17,6 +17,10 @@ The `dev` branch is the main branch of the repository, and it is the default bra
|
|||||||
|
|
||||||
The `stable` branch may have hotfixes directly from the `stable` branch, and the `twilight` branch may have feature branches branched off from the `twilight` branch. This is done so that we can apply hotfixes like security patches directly to the `stable` branch without having to merge the changes from the `twilight` branch.
|
The `stable` branch may have hotfixes directly from the `stable` branch, and the `twilight` branch may have feature branches branched off from the `twilight` branch. This is done so that we can apply hotfixes like security patches directly to the `stable` branch without having to merge the changes from the `twilight` branch.
|
||||||
|
|
||||||
|
# Local Development Setup
|
||||||
|
|
||||||
|
Before you set up your local development environment, **read our [Building Guidelines](https://docs.zen-browser.app/guides/building)**. Skipping them can lead to avoidable build errors.
|
||||||
|
|
||||||
# Code Of Conduct
|
# Code Of Conduct
|
||||||
|
|
||||||
Please read our [Code of Conduct](../CODE_OF_CONDUCT.md) before contributing.
|
Please read our [Code of Conduct](../CODE_OF_CONDUCT.md) before contributing.
|
||||||
|
2
l10n
2
l10n
Submodule l10n updated: 706b333373...7435b28bdf
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref("browser.ml.chat.enabled", false);
|
pref("browser.ml.chat.enabled", false);
|
||||||
pref("browser.ml.chat.shortcuts", false);
|
pref("browser.ml.chat.shortcuts", false);
|
||||||
|
@@ -1,14 +1,13 @@
|
|||||||
|
|
||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
// Restore session on startup
|
// Restore session on startup
|
||||||
pref("browser.startup.page", 3);
|
pref("browser.startup.page", 3);
|
||||||
pref("browser.sessionstore.restore_pinned_tabs_on_demand", true);
|
pref("browser.sessionstore.restore_pinned_tabs_on_demand", true);
|
||||||
|
|
||||||
// Toolbars
|
// Toolbars
|
||||||
pref("browser.tabs.closeWindowWithLastTab", false);
|
|
||||||
pref("browser.tabs.loadBookmarksInTabs", false);
|
pref("browser.tabs.loadBookmarksInTabs", false);
|
||||||
pref("browser.tabs.hoverPreview.enabled", false);
|
pref("browser.tabs.hoverPreview.enabled", false);
|
||||||
pref("browser.tabs.dragdrop.moveOverThresholdPercent", 50);
|
pref("browser.tabs.dragdrop.moveOverThresholdPercent", 50);
|
||||||
@@ -53,3 +52,4 @@ pref("app.update.checkInstallTime.days", 6);
|
|||||||
// TODO: Check this out!
|
// TODO: Check this out!
|
||||||
pref("browser.profiles.enabled", false);
|
pref("browser.profiles.enabled", false);
|
||||||
pref("browser.tabs.groups.enabled", false);
|
pref("browser.tabs.groups.enabled", false);
|
||||||
|
pref("browser.urlbar.scotchBonnet.enableOverride", false);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
// Common UI changes
|
// Common UI changes
|
||||||
pref("browser.privatebrowsing.vpnpromourl", "", locked);
|
pref("browser.privatebrowsing.vpnpromourl", "", locked);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
// security: They must enable this themselves, to avoid people downloading malware
|
// security: They must enable this themselves, to avoid people downloading malware
|
||||||
pref('xpinstall.signatures.required', true);
|
pref('xpinstall.signatures.required', true);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
#ifdef MOZILLA_OFFICIAL
|
#ifdef MOZILLA_OFFICIAL
|
||||||
pref('zen.welcome-screen.seen', false, sticky);
|
pref('zen.welcome-screen.seen', false, sticky);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('zen.view.compact.hide-tabbar', true);
|
pref('zen.view.compact.hide-tabbar', true);
|
||||||
pref('zen.view.compact.hide-toolbar', false);
|
pref('zen.view.compact.hide-toolbar', false);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('zen.downloads.download-animation', true);
|
pref('zen.downloads.download-animation', true);
|
||||||
pref('zen.downloads.download-animation-duration', 1000); // ms
|
pref('zen.downloads.download-animation-duration', 1000); // ms
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('zen.glance.enabled', true);
|
pref('zen.glance.enabled', true);
|
||||||
pref('zen.glance.enable-contextmenu-search', true);
|
pref('zen.glance.enable-contextmenu-search', true);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('zen.keyboard.shortcuts.enabled', true);
|
pref('zen.keyboard.shortcuts.enabled', true);
|
||||||
pref('zen.keyboard.shortcuts.version', 0); // Empty string means default shortcuts
|
pref('zen.keyboard.shortcuts.version', 0); // Empty string means default shortcuts
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('zen.mods.updated-value-observer', false);
|
pref('zen.mods.updated-value-observer', false);
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('zen.splitView.enable-tab-drop', true);
|
pref('zen.splitView.enable-tab-drop', true);
|
||||||
pref('zen.splitView.min-resize-width', 7);
|
pref('zen.splitView.min-resize-width', 7);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('zen.theme.accent-color', "#ffb787");
|
pref('zen.theme.accent-color', "#ffb787");
|
||||||
pref('zen.theme.content-element-separation', 8); // In pixels
|
pref('zen.theme.content-element-separation', 8); // In pixels
|
||||||
@@ -20,3 +20,5 @@ pref('zen.theme.essentials-favicon-bg', true);
|
|||||||
pref('zen.theme.acrylic-elements', false);
|
pref('zen.theme.acrylic-elements', false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
# Light weight themes
|
||||||
|
pref('zen.theme.disable-lightweight', true);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('zen.urlbar.replace-newtab', true);
|
pref('zen.urlbar.replace-newtab', true);
|
||||||
pref('zen.urlbar.show-protections-icon', false);
|
pref('zen.urlbar.show-protections-icon', false);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('zen.view.sidebar-height-throttle', 0); // in ms
|
pref('zen.view.sidebar-height-throttle', 0); // in ms
|
||||||
pref('zen.view.sidebar-expanded.max-width', 500);
|
pref('zen.view.sidebar-expanded.max-width', 500);
|
||||||
@@ -15,14 +15,15 @@ pref('zen.view.sidebar-expanded', true);
|
|||||||
pref('zen.view.sidebar-collapsed.hide-mute-button', true);
|
pref('zen.view.sidebar-collapsed.hide-mute-button', true);
|
||||||
pref('zen.view.experimental-force-window-controls-left', false);
|
pref('zen.view.experimental-force-window-controls-left', false);
|
||||||
|
|
||||||
#ifdef XP_MACOSX
|
|
||||||
pref('zen.view.grey-out-inactive-windows', false);
|
|
||||||
#else
|
|
||||||
pref('zen.view.grey-out-inactive-windows', true);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
pref('zen.view.hide-window-controls', true);
|
pref('zen.view.hide-window-controls', true);
|
||||||
pref('zen.view.experimental-no-window-controls', false);
|
pref('zen.view.experimental-no-window-controls', false);
|
||||||
|
|
||||||
|
pref('zen.view.grey-out-inactive-windows', true);
|
||||||
|
|
||||||
pref('zen.view.show-newtab-button-border-top', false);
|
pref('zen.view.show-newtab-button-border-top', false);
|
||||||
pref('zen.view.show-newtab-button-top', true);
|
pref('zen.view.show-newtab-button-top', true);
|
||||||
|
|
||||||
|
# 0: Dark
|
||||||
|
# 1: Light
|
||||||
|
# 2: Auto (system color scheme unless overridden by browser theme)
|
||||||
|
pref('zen.view.window.scheme', 2); // auto, light, dark
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('zen.workspaces.continue-where-left-off', false);
|
pref('zen.workspaces.continue-where-left-off', false);
|
||||||
pref('zen.workspaces.hide-default-container-indicator', true);
|
pref('zen.workspaces.hide-default-container-indicator', true);
|
||||||
@@ -11,7 +11,7 @@ pref('zen.workspaces.wrap-around-navigation', true);
|
|||||||
pref('zen.workspaces.natural-scroll', false);
|
pref('zen.workspaces.natural-scroll', false);
|
||||||
pref('zen.workspaces.scroll-modifier-key','ctrl'); // can be ctrl, alt, shift, or a meta key
|
pref('zen.workspaces.scroll-modifier-key','ctrl'); // can be ctrl, alt, shift, or a meta key
|
||||||
pref('services.sync.engine.workspaces', false);
|
pref('services.sync.engine.workspaces', false);
|
||||||
pref('zen.workspaces.container-specific-essentials-enabled', false);
|
pref('zen.workspaces.separate-essentials', true);
|
||||||
|
|
||||||
#ifdef MOZILLA_OFFICIAL
|
#ifdef MOZILLA_OFFICIAL
|
||||||
pref('zen.workspaces.debug', false);
|
pref('zen.workspaces.debug', false);
|
||||||
@@ -19,7 +19,7 @@ pref('zen.workspaces.container-specific-essentials-enabled', false);
|
|||||||
pref('zen.workspaces.debug', true);
|
pref('zen.workspaces.debug', true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Section: Pinned tabs management
|
# Section: Pinned tabs management
|
||||||
pref('zen.pinned-tab-manager.debug', false);
|
pref('zen.pinned-tab-manager.debug', false);
|
||||||
pref('zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url', false);
|
pref('zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url', false);
|
||||||
pref('zen.pinned-tab-manager.close-shortcut-behavior', 'reset-unload-switch');
|
pref('zen.pinned-tab-manager.close-shortcut-behavior', 'reset-unload-switch');
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
|
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
|
||||||
index beced8067e6c8b5c8cf8e3f6060ba259ec9a294d..33a264e7f9cf97944da3888bdb957fa6e7c4c346 100644
|
index 412e0879bbb0c7e7d1eb842212b064e1c77cab8f..bd23e5f2cd3f9c382f704fd1fcfdbb3edd71a454 100644
|
||||||
--- a/browser/app/profile/firefox.js
|
--- a/browser/app/profile/firefox.js
|
||||||
+++ b/browser/app/profile/firefox.js
|
+++ b/browser/app/profile/firefox.js
|
||||||
@@ -3398,3 +3398,5 @@ pref("toolkit.contentRelevancy.enabled", false);
|
@@ -3361,3 +3361,5 @@ pref("toolkit.contentRelevancy.log", false);
|
||||||
pref("toolkit.contentRelevancy.ingestEnabled", false);
|
// rotation altogether.
|
||||||
// Pref to enable extra logging for the content relevancy feature
|
pref("browser.contextual-services.contextId.rotation-in-days", 0);
|
||||||
pref("toolkit.contentRelevancy.log", false);
|
pref("browser.contextual-services.contextId.rust-component.enabled", false);
|
||||||
+
|
+
|
||||||
+#include zen-browser.js
|
+#include zen-browser.js
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref("full-screen-api.transition-duration.enter", "0 0");
|
pref("full-screen-api.transition-duration.enter", "0 0");
|
||||||
pref("full-screen-api.transition-duration.leave", "0 0");
|
pref("full-screen-api.transition-duration.leave", "0 0");
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref("widget.gtk.rounded-bottom-corners.enabled", true);
|
pref("widget.gtk.rounded-bottom-corners.enabled", true);
|
||||||
|
|
||||||
|
@@ -1,14 +1,14 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
// Enable transparent background for macos
|
# Enable transparent background for macos
|
||||||
pref('widget.macos.titlebar-blend-mode.behind-window', true);
|
pref('widget.macos.sidebar-blend-mode.behind-window', true);
|
||||||
// 1. hudWindow
|
# 1. hudWindow
|
||||||
// 2. fullScreenUI
|
# 2. fullScreenUI
|
||||||
// 3. popover
|
# 3. popover
|
||||||
// 4. menu
|
# 4. menu
|
||||||
// 5. toolTip
|
# 5. toolTip
|
||||||
// 6. headerView
|
# 6. headerView
|
||||||
// 7. underlay
|
# 7. underlay
|
||||||
pref('zen.widget.macos.window-material', 3);
|
pref('zen.widget.macos.window-material', 1);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('image.jxl.enabled', true, locked);
|
pref('image.jxl.enabled', true, locked);
|
||||||
pref("svg.context-properties.content.enabled", true);
|
pref("svg.context-properties.content.enabled", true);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('browser.newtabpage.activity-stream.feeds.topsites', false);
|
pref('browser.newtabpage.activity-stream.feeds.topsites', false);
|
||||||
pref('browser.newtabpage.activity-stream.feeds.section.topstories', false);
|
pref('browser.newtabpage.activity-stream.feeds.section.topstories', false);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('pdfjs.enableHighlightEditor', true);
|
pref('pdfjs.enableHighlightEditor', true);
|
||||||
pref('pdfjs.enableHighlightFloatingButton', true);
|
pref('pdfjs.enableHighlightFloatingButton', true);
|
||||||
|
@@ -1,17 +1,17 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
#ifdef XP_MACOSX
|
#ifdef XP_MACOSX
|
||||||
// Pref to control the reponse taken on macOS when the OS is under memory
|
# Pref to control the reponse taken on macOS when the OS is under memory
|
||||||
// pressure. Changes to the pref take effect immediately. Browser restart not
|
# pressure. Changes to the pref take effect immediately. Browser restart not
|
||||||
// required. The pref value is a bitmask:
|
# required. The pref value is a bitmask:
|
||||||
// 0x0: No response (other than recording for telemetry, crash reporting)
|
# 0x0: No response (other than recording for telemetry, crash reporting)
|
||||||
// 0x1: Use the tab unloading feature to reduce memory use. Requires that
|
# 0x1: Use the tab unloading feature to reduce memory use. Requires that
|
||||||
// the above "browser.tabs.unloadOnLowMemory" pref be set to true for tab
|
# the above "browser.tabs.unloadOnLowMemory" pref be set to true for tab
|
||||||
// unloading to occur.
|
# unloading to occur.
|
||||||
// 0x2: Issue the internal "memory-pressure" notification to reduce memory use
|
# 0x2: Issue the internal "memory-pressure" notification to reduce memory use
|
||||||
// 0x3: Both 0x1 and 0x2.
|
# 0x3: Both 0x1 and 0x2.
|
||||||
pref("browser.lowMemoryResponseMask", 3);
|
pref("browser.lowMemoryResponseMask", 3);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref("media.videocontrols.picture-in-picture.video-toggle.enabled", true);
|
pref("media.videocontrols.picture-in-picture.video-toggle.enabled", true);
|
||||||
// TODO: Enable once we have a proper settings page
|
# TODO: Enable once we have a proper settings page
|
||||||
pref("media.videocontrols.picture-in-picture.enable-when-switching-tabs.enabled", false);
|
pref("media.videocontrols.picture-in-picture.enable-when-switching-tabs.enabled", false);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref("datareporting.policy.dataSubmissionEnabled", false, locked);
|
pref("datareporting.policy.dataSubmissionEnabled", false, locked);
|
||||||
pref("datareporting.healthreport.uploadEnabled", false, locked);
|
pref("datareporting.healthreport.uploadEnabled", false, locked);
|
||||||
@@ -25,23 +25,23 @@ pref("app.shield.optoutstudies.enabled", false, locked);
|
|||||||
pref("app.normandy.enabled", false);
|
pref("app.normandy.enabled", false);
|
||||||
pref("app.normandy.api_url", "", locked);
|
pref("app.normandy.api_url", "", locked);
|
||||||
|
|
||||||
// Crash reports
|
# Crash reports
|
||||||
pref("breakpad.reportURL", "");
|
pref("breakpad.reportURL", "");
|
||||||
pref("browser.tabs.crashReporting.sendReport", false);
|
pref("browser.tabs.crashReporting.sendReport", false);
|
||||||
pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
|
pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
|
||||||
|
|
||||||
// Other privacy
|
# Other privacy
|
||||||
pref("extensions.getAddons.cache.enabled", false);
|
pref("extensions.getAddons.cache.enabled", false);
|
||||||
|
|
||||||
// Disable cache for private browsing
|
# Disable cache for private browsing
|
||||||
pref("browser.privatebrowsing.forceMediaMemoryCache", true);
|
pref("browser.privatebrowsing.forceMediaMemoryCache", true);
|
||||||
|
|
||||||
// Tracking protection
|
# Tracking protection
|
||||||
pref("browser.helperApps.deleteTempFileOnExit", true);
|
pref("browser.helperApps.deleteTempFileOnExit", true);
|
||||||
pref("browser.uitour.enabled", false);
|
pref("browser.uitour.enabled", false);
|
||||||
|
|
||||||
pref("privacy.globalprivacycontrol.enabled", true);
|
pref("privacy.globalprivacycontrol.enabled", true);
|
||||||
|
|
||||||
// Contextual identity
|
# Contextual identity
|
||||||
pref('privacy.userContext.enabled', true);
|
pref('privacy.userContext.enabled', true);
|
||||||
pref('privacy.userContext.ui.enabled', true);
|
pref('privacy.userContext.ui.enabled', true);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref("general.smoothScroll.msdPhysics.enabled", true);
|
pref("general.smoothScroll.msdPhysics.enabled", true);
|
||||||
pref("general.smoothScroll.currentVelocityWeighting", "0.15");
|
pref("general.smoothScroll.currentVelocityWeighting", "0.15");
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
pref('browser.urlbar.unitConversion.enabled', true);
|
pref('browser.urlbar.unitConversion.enabled', true);
|
||||||
pref('browser.urlbar.trending.featureGate', false);
|
pref('browser.urlbar.trending.featureGate', false);
|
||||||
@@ -12,10 +12,10 @@ pref('browser.urlbar.suggest.calculator', true);
|
|||||||
pref("browser.urlbar.trimHttps", true);
|
pref("browser.urlbar.trimHttps", true);
|
||||||
pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
|
pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
|
||||||
|
|
||||||
// Keep in sync with browser/components/topsites/constants.mjs
|
# Keep in sync with browser/components/topsites/constants.mjs
|
||||||
pref("browser.urlbar.maxRichResults", 7);
|
pref("browser.urlbar.maxRichResults", 7);
|
||||||
|
|
||||||
// Enable private suggestions
|
# Enable private suggestions
|
||||||
pref('browser.search.suggest.enabled', false);
|
pref('browser.search.suggest.enabled', false);
|
||||||
pref('browser.search.suggest.enabled.private', false);
|
pref('browser.search.suggest.enabled.private', false);
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
// Mica
|
# Mica
|
||||||
pref("widget.windows.mica", true);
|
pref("widget.windows.mica", true);
|
||||||
pref("widget.windows.mica.popups", true);
|
pref("widget.windows.mica.popups", true);
|
||||||
pref("widget.windows.mica.toplevel-backdrop", 2);
|
pref("widget.windows.mica.toplevel-backdrop", 2);
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
# 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
|
# 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/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
#ifdef XP_UNIX
|
#ifdef XP_UNIX
|
||||||
#ifndef XP_MACOSX
|
#ifndef XP_MACOSX
|
||||||
@@ -8,12 +8,9 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Dont download the multilingual dictionary
|
# Dont download the multilingual dictionary
|
||||||
pref("intl.multilingual.downloadEnabled", false);
|
pref("intl.multilingual.downloadEnabled", false);
|
||||||
|
|
||||||
// Theme
|
|
||||||
pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
|
|
||||||
|
|
||||||
#ifdef XP_WIN
|
#ifdef XP_WIN
|
||||||
#include windows.inc
|
#include windows.inc
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/aboutDialog.xhtml b/browser/base/content/aboutDialog.xhtml
|
diff --git a/browser/base/content/aboutDialog.xhtml b/browser/base/content/aboutDialog.xhtml
|
||||||
index c64980810570fcea84e33fdc2d66ac42a79f4e46..11fe00e84dbac781b3da90abb1251c70bd3b094a 100644
|
index c64980810570fcea84e33fdc2d66ac42a79f4e46..aa629ebb38a9aa74048fe3fc759f716fad57d6f3 100644
|
||||||
--- a/browser/base/content/aboutDialog.xhtml
|
--- a/browser/base/content/aboutDialog.xhtml
|
||||||
+++ b/browser/base/content/aboutDialog.xhtml
|
+++ b/browser/base/content/aboutDialog.xhtml
|
||||||
@@ -102,10 +102,6 @@
|
@@ -102,10 +102,6 @@
|
||||||
@@ -13,7 +13,13 @@ index c64980810570fcea84e33fdc2d66ac42a79f4e46..11fe00e84dbac781b3da90abb1251c70
|
|||||||
</vbox>
|
</vbox>
|
||||||
#endif
|
#endif
|
||||||
</hbox>
|
</hbox>
|
||||||
@@ -125,21 +121,17 @@
|
@@ -120,26 +116,22 @@
|
||||||
|
<vbox id="experimental" hidden="true">
|
||||||
|
<description class="text-blurb" id="warningDesc" data-l10n-id="warningDesc-version"></description>
|
||||||
|
<description class="text-blurb" id="communityExperimentalDesc" data-l10n-id="community-exp">
|
||||||
|
- <label is="text-link" href="https://www.mozilla.org/?utm_source=firefox-browser&utm_medium=firefox-desktop&utm_campaign=about-dialog" data-l10n-name="community-exp-mozillaLink"/>
|
||||||
|
+ <label is="text-link" href="https://zen-browser.app/about" data-l10n-name="community-exp-mozillaLink"/>
|
||||||
|
<label is="text-link" useoriginprincipal="true" href="about:credits" data-l10n-name="community-exp-creditsLink"/>
|
||||||
</description>
|
</description>
|
||||||
</vbox>
|
</vbox>
|
||||||
<description class="text-blurb" id="communityDesc" data-l10n-id="community-2">
|
<description class="text-blurb" id="communityDesc" data-l10n-id="community-2">
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/browser-addons.js b/browser/base/content/browser-addons.js
|
diff --git a/browser/base/content/browser-addons.js b/browser/base/content/browser-addons.js
|
||||||
index 73593191936cc345ee8e2c28cb251dc13f4c2fd4..e6c459c1ebc60a1f3930a55e212570f696bf07a0 100644
|
index f4d5125d9a1c8f0aef24536ca7d2ef3f133d8a99..cacd7f465e67226de4a366354779c6cb0cbd0b4c 100644
|
||||||
--- a/browser/base/content/browser-addons.js
|
--- a/browser/base/content/browser-addons.js
|
||||||
+++ b/browser/base/content/browser-addons.js
|
+++ b/browser/base/content/browser-addons.js
|
||||||
@@ -735,7 +735,7 @@ var gXPInstallObserver = {
|
@@ -1057,7 +1057,7 @@ var gXPInstallObserver = {
|
||||||
persistent: true,
|
persistent: true,
|
||||||
hideClose: true,
|
hideClose: true,
|
||||||
popupOptions: {
|
popupOptions: {
|
||||||
@@ -11,7 +11,7 @@ index 73593191936cc345ee8e2c28cb251dc13f4c2fd4..e6c459c1ebc60a1f3930a55e212570f6
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -942,7 +942,7 @@ var gXPInstallObserver = {
|
@@ -1266,7 +1266,7 @@ var gXPInstallObserver = {
|
||||||
hideClose: true,
|
hideClose: true,
|
||||||
timeout: Date.now() + 30000,
|
timeout: Date.now() + 30000,
|
||||||
popupOptions: {
|
popupOptions: {
|
||||||
@@ -20,16 +20,16 @@ index 73593191936cc345ee8e2c28cb251dc13f4c2fd4..e6c459c1ebc60a1f3930a55e212570f6
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2125,7 +2125,7 @@ var gUnifiedExtensions = {
|
@@ -2571,7 +2571,7 @@ var gUnifiedExtensions = {
|
||||||
|
this.recordButtonTelemetry(reason || "extensions_panel_showing");
|
||||||
panel.hidden = false;
|
this.ensureButtonShownBeforeAttachingPanel(panel);
|
||||||
PanelMultiView.openPopup(panel, this._button, {
|
PanelMultiView.openPopup(panel, this._button, {
|
||||||
- position: "bottomright topright",
|
- position: "bottomright topright",
|
||||||
+ position: gZenUIManager.panelUIPosition,
|
+ position: gZenUIManager.panelUIPosition,
|
||||||
triggerEvent: aEvent,
|
triggerEvent: aEvent,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -2294,18 +2294,20 @@ var gUnifiedExtensions = {
|
@@ -2758,18 +2758,20 @@ var gUnifiedExtensions = {
|
||||||
this._maybeMoveWidgetNodeBack(widgetId);
|
this._maybeMoveWidgetNodeBack(widgetId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
diff --git a/browser/base/content/browser-box.inc.xhtml b/browser/base/content/browser-box.inc.xhtml
|
diff --git a/browser/base/content/browser-box.inc.xhtml b/browser/base/content/browser-box.inc.xhtml
|
||||||
index 7d7e8697f02f90d4f336c9ab0a73a89848e0c21c..64e950106dd05b443ce72107613ac9cc405d56ea 100644
|
index afa7f8e7dd74173bf2c696bd96f7e86e8b0126bc..4847c24923f673e91eb7fb65ea6b037f38062405 100644
|
||||||
--- a/browser/base/content/browser-box.inc.xhtml
|
--- a/browser/base/content/browser-box.inc.xhtml
|
||||||
+++ b/browser/base/content/browser-box.inc.xhtml
|
+++ b/browser/base/content/browser-box.inc.xhtml
|
||||||
@@ -23,7 +23,15 @@
|
@@ -25,7 +25,15 @@
|
||||||
<browser id="sidebar" autoscroll="false" disablehistory="true" disablefullscreen="true" tooltip="aHTMLTooltip"/>
|
</stack>
|
||||||
</vbox>
|
</vbox>
|
||||||
<splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" resizebefore="sibling" resizeafter="none" hidden="true"/>
|
<splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" resizebefore="sibling" resizeafter="none" hidden="true"/>
|
||||||
+<vbox flex="1" id="zen-appcontent-wrapper">
|
+<vbox flex="1" id="zen-appcontent-wrapper">
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/browser-commands.js b/browser/base/content/browser-commands.js
|
diff --git a/browser/base/content/browser-commands.js b/browser/base/content/browser-commands.js
|
||||||
index 352de44dda36e3f6672eb353f42978ede0cd2681..0fde717eaf755526ec65b676c43bd34c6a675934 100644
|
index b0b2383453ef771af3eb9260618f1e2e3022eb4e..7c5844582d9adb55c55fb1627a9980cf0e5c110b 100644
|
||||||
--- a/browser/base/content/browser-commands.js
|
--- a/browser/base/content/browser-commands.js
|
||||||
+++ b/browser/base/content/browser-commands.js
|
+++ b/browser/base/content/browser-commands.js
|
||||||
@@ -318,6 +318,10 @@ var BrowserCommands = {
|
@@ -318,6 +318,10 @@ var BrowserCommands = {
|
||||||
@@ -13,18 +13,21 @@ index 352de44dda36e3f6672eb353f42978ede0cd2681..0fde717eaf755526ec65b676c43bd34c
|
|||||||
// A notification intended to be useful for modular peformance tracking
|
// A notification intended to be useful for modular peformance tracking
|
||||||
// starting as close as is reasonably possible to the time when the user
|
// starting as close as is reasonably possible to the time when the user
|
||||||
// expressed the intent to open a new tab. Since there are a lot of
|
// expressed the intent to open a new tab. Since there are a lot of
|
||||||
@@ -400,6 +404,10 @@ var BrowserCommands = {
|
@@ -402,6 +406,13 @@ var BrowserCommands = {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ if (gBrowser.selectedTab.hasAttribute("zen-empty-tab")) {
|
+ if (gBrowser.selectedTab.hasAttribute("zen-empty-tab")) {
|
||||||
|
+ if (gZenWorkspaces.shouldCloseWindow()) {
|
||||||
|
+ closeWindow(true);
|
||||||
|
+ }
|
||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
// Keyboard shortcuts that would close a tab that is pinned select the first
|
// Keyboard shortcuts that would close a tab that is pinned select the first
|
||||||
// unpinned tab instead.
|
// unpinned tab instead.
|
||||||
if (
|
if (
|
||||||
@@ -407,8 +415,8 @@ var BrowserCommands = {
|
@@ -409,8 +420,8 @@ var BrowserCommands = {
|
||||||
(event.ctrlKey || event.metaKey || event.altKey) &&
|
(event.ctrlKey || event.metaKey || event.altKey) &&
|
||||||
gBrowser.selectedTab.pinned
|
gBrowser.selectedTab.pinned
|
||||||
) {
|
) {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
|
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||||
index 30e7b9b2ac63db6ccd2727a9341081cecefc25cb..ceff29d10a32fe9e5296340c8c56a2fdbf321c31 100644
|
index ad1515eb111bc2532b2f17ea28fc04463030d30d..899f4baf2cd3472abd5591f3c9987f0c02b9313f 100644
|
||||||
--- a/browser/base/content/navigator-toolbox.inc.xhtml
|
--- a/browser/base/content/navigator-toolbox.inc.xhtml
|
||||||
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
|
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
@@ -29,9 +29,9 @@ index 30e7b9b2ac63db6ccd2727a9341081cecefc25cb..ceff29d10a32fe9e5296340c8c56a2fd
|
|||||||
+<html:div id="zen-essentials" skipintoolbarset="true"></html:div>
|
+<html:div id="zen-essentials" skipintoolbarset="true"></html:div>
|
||||||
+<html:div id="zen-tabs-wrapper">
|
+<html:div id="zen-tabs-wrapper">
|
||||||
<hbox class="tab-drop-indicator" hidden="true"/>
|
<hbox class="tab-drop-indicator" hidden="true"/>
|
||||||
<html:span id="tab-drag-empty-feedback" role="presentation"/>
|
|
||||||
# If the name (tabbrowser-arrowscrollbox) or structure of this changes
|
# If the name (tabbrowser-arrowscrollbox) or structure of this changes
|
||||||
@@ -76,6 +78,7 @@
|
# significantly, there is an optimization in
|
||||||
|
@@ -75,6 +77,7 @@
|
||||||
tooltip="dynamic-shortcut-tooltip"
|
tooltip="dynamic-shortcut-tooltip"
|
||||||
data-l10n-id="tabs-toolbar-new-tab"/>
|
data-l10n-id="tabs-toolbar-new-tab"/>
|
||||||
<html:span id="tabbrowser-tab-a11y-desc" hidden="true"/>
|
<html:span id="tabbrowser-tab-a11y-desc" hidden="true"/>
|
||||||
@@ -39,7 +39,7 @@ index 30e7b9b2ac63db6ccd2727a9341081cecefc25cb..ceff29d10a32fe9e5296340c8c56a2fd
|
|||||||
</tabs>
|
</tabs>
|
||||||
|
|
||||||
<toolbarbutton id="new-tab-button"
|
<toolbarbutton id="new-tab-button"
|
||||||
@@ -101,9 +104,10 @@
|
@@ -100,9 +103,10 @@
|
||||||
#include private-browsing-indicator.inc.xhtml
|
#include private-browsing-indicator.inc.xhtml
|
||||||
<toolbarbutton class="content-analysis-indicator toolbarbutton-1 content-analysis-indicator-icon"/>
|
<toolbarbutton class="content-analysis-indicator toolbarbutton-1 content-analysis-indicator-icon"/>
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/navigator-toolbox.js b/browser/base/content/navigator-toolbox.js
|
diff --git a/browser/base/content/navigator-toolbox.js b/browser/base/content/navigator-toolbox.js
|
||||||
index 64ded8fb2c08f1dbfec8fe08ab427a24b53f1169..9e1e888554279b6e1df3bc1cb907afd2ccb330ca 100644
|
index 31d0ee325847834e7c58c1079225adf43d738bcd..4d2c69d4dd7e313bdb085530b3289dc9d93530a5 100644
|
||||||
--- a/browser/base/content/navigator-toolbox.js
|
--- a/browser/base/content/navigator-toolbox.js
|
||||||
+++ b/browser/base/content/navigator-toolbox.js
|
+++ b/browser/base/content/navigator-toolbox.js
|
||||||
@@ -8,7 +8,7 @@
|
@@ -8,7 +8,7 @@
|
||||||
@@ -17,8 +17,8 @@ index 64ded8fb2c08f1dbfec8fe08ab427a24b53f1169..9e1e888554279b6e1df3bc1cb907afd2
|
|||||||
#reader-mode-button,
|
#reader-mode-button,
|
||||||
+ #zen-tabs-wrapper,
|
+ #zen-tabs-wrapper,
|
||||||
#picture-in-picture-button,
|
#picture-in-picture-button,
|
||||||
#shopping-sidebar-button,
|
|
||||||
#urlbar-zoom-button,
|
#urlbar-zoom-button,
|
||||||
|
#star-button-box,
|
||||||
@@ -208,6 +209,7 @@ document.addEventListener(
|
@@ -208,6 +209,7 @@ document.addEventListener(
|
||||||
case "vertical-tabs-newtab-button":
|
case "vertical-tabs-newtab-button":
|
||||||
case "tabs-newtab-button":
|
case "tabs-newtab-button":
|
||||||
|
@@ -76,7 +76,6 @@
|
|||||||
|
|
||||||
|
|
||||||
# Images
|
# Images
|
||||||
content/browser/zen-images/gradient.png (../../zen/images/gradient.png)
|
|
||||||
content/browser/zen-images/brand-header.svg (../../zen/images/brand-header.svg)
|
content/browser/zen-images/brand-header.svg (../../zen/images/brand-header.svg)
|
||||||
content/browser/zen-images/layouts/collapsed.png (../../zen/images/layouts/collapsed.png)
|
content/browser/zen-images/layouts/collapsed.png (../../zen/images/layouts/collapsed.png)
|
||||||
content/browser/zen-images/layouts/multiple-toolbar.png (../../zen/images/layouts/multiple-toolbar.png)
|
content/browser/zen-images/layouts/multiple-toolbar.png (../../zen/images/layouts/multiple-toolbar.png)
|
||||||
|
@@ -5,39 +5,102 @@
|
|||||||
<panel flip="side" type="arrow" popupalign="center" orient="vertical" id="PanelUI-zen-gradient-generator" position="bottomright topright" mainview="true" side="left">
|
<panel flip="side" type="arrow" popupalign="center" orient="vertical" id="PanelUI-zen-gradient-generator" position="bottomright topright" mainview="true" side="left">
|
||||||
<panelmultiview id="PanelUI-zen-gradient-generator-multiview" mainViewId="PanelUI-zen-gradient-generator-view">
|
<panelmultiview id="PanelUI-zen-gradient-generator-multiview" mainViewId="PanelUI-zen-gradient-generator-view">
|
||||||
<panelview id="PanelUI-zen-gradient-generator-view" class="PanelUI-subView zen-theme-picker" role="document" mainview-with-header="true" has-custom-header="true">
|
<panelview id="PanelUI-zen-gradient-generator-view" class="PanelUI-subView zen-theme-picker" role="document" mainview-with-header="true" has-custom-header="true">
|
||||||
<hbox>
|
|
||||||
<hbox id="PanelUI-zen-gradient-generator-predefined">
|
|
||||||
<box data-algo="analogous" data-num-dots="3" data-position="219,99" style="background: linear-gradient(135deg, rgb(117, 255, 136), rgb(60, 66, 58));"></box>
|
|
||||||
<box data-algo="analogous" data-num-dots="3" data-position="167,201" style="background: linear-gradient(135deg, #a03fe0, #382b5c);"></box>
|
|
||||||
<box data-algo="analogous" data-num-dots="3" data-position="90,170" style="background: linear-gradient(135deg, #c57aa3, #af824f);"></box>
|
|
||||||
<box data-algo="splitComplementary" data-num-dots="3" data-position="83,103" style="background: linear-gradient(135deg, #1e90ff, #968a4a);"></box>
|
|
||||||
<box data-algo="analogous" data-num-dots="3" data-position="186,186" style="background: linear-gradient(135deg, #a07a48, #ab80e4);"></box>
|
|
||||||
<box data-algo="float" data-num-dots="1" data-position="196,176" style="background: #7bcbda;"></box>
|
|
||||||
<box data-algo="float" data-num-dots="1" data-position="116,167" style="background: #be9ac9;"></box>
|
|
||||||
<box data-algo="float" data-num-dots="1" data-position="122,110" style="background: #cdcea1;"></box>
|
|
||||||
<box data-algo="float" data-num-dots="1" data-position="181,83" style="background: #6ac593;"></box>
|
|
||||||
<box data-algo="complementary" data-num-dots="2" data-position="82,112" style="background: linear-gradient(135deg, #1e90ff, #cfb179);"></box>
|
|
||||||
</hbox>
|
|
||||||
</hbox>
|
|
||||||
<hbox class="zen-theme-picker-gradient">
|
<hbox class="zen-theme-picker-gradient">
|
||||||
<box id="PanelUI-zen-gradient-generator-rotation-dot"></box>
|
<hbox id="PanelUI-zen-gradient-generator-scheme">
|
||||||
<box id="PanelUI-zen-gradient-generator-rotation-line"></box>
|
<button id="PanelUI-zen-gradient-generator-scheme-auto" class="subviewbutton"/>
|
||||||
<box id="PanelUI-zen-gradient-generator-color-actions">
|
<button id="PanelUI-zen-gradient-generator-scheme-light" class="subviewbutton"/>
|
||||||
|
<button id="PanelUI-zen-gradient-generator-scheme-dark" class="subviewbutton"/>
|
||||||
|
</hbox>
|
||||||
|
<hbox id="PanelUI-zen-gradient-generator-color-actions">
|
||||||
<button id="PanelUI-zen-gradient-generator-color-add" class="subviewbutton">
|
<button id="PanelUI-zen-gradient-generator-color-add" class="subviewbutton">
|
||||||
</button>
|
</button>
|
||||||
<button id="PanelUI-zen-gradient-generator-color-remove" class="subviewbutton">
|
<button id="PanelUI-zen-gradient-generator-color-remove" class="subviewbutton">
|
||||||
</button>
|
</button>
|
||||||
<html:div class="separator"></html:div>
|
</hbox>
|
||||||
<button id="PanelUI-zen-gradient-generator-color-toggle-algo" class="subviewbutton" data-l10n-id="zen-panel-ui-gradient-generator-algo-floating">
|
|
||||||
</button>
|
|
||||||
</box>
|
|
||||||
<label data-l10n-id="zen-panel-ui-gradient-click-to-add" id="PanelUI-zen-gradient-generator-color-click-to-add"></label>
|
<label data-l10n-id="zen-panel-ui-gradient-click-to-add" id="PanelUI-zen-gradient-generator-color-click-to-add"></label>
|
||||||
</hbox>
|
</hbox>
|
||||||
|
<hbox>
|
||||||
|
<toolbarbutton id="PanelUI-zen-gradient-generator-color-page-left" class="toolbarbutton-1" disabled="true" />
|
||||||
|
<hbox id="PanelUI-zen-gradient-generator-color-pages">
|
||||||
|
<hbox>
|
||||||
|
<box data-lightness="90" data-algo="float" data-num-dots="1" data-position="240,240" style="background: #f4efdf;"></box>
|
||||||
|
<box data-lightness="80" data-algo="float" data-num-dots="1" data-position="233,157" style="background: #f0b8cd;"></box>
|
||||||
|
<box data-lightness="80" data-algo="float" data-num-dots="1" data-position="236,111" style="background: #e9c3e3;"></box>
|
||||||
|
<box data-lightness="70" data-algo="float" data-num-dots="1" data-position="234,173" style="background: #da7682;"></box>
|
||||||
|
<box data-lightness="70" data-algo="float" data-num-dots="1" data-position="220,187" style="background: #eb8570;"></box>
|
||||||
|
<box data-lightness="60" data-algo="float" data-num-dots="1" data-position="225,237" style="background: #dcce7f;"></box>
|
||||||
|
<box data-lightness="60" data-algo="float" data-num-dots="1" data-position="147,195" style="background: #5becad;"></box>
|
||||||
|
<box data-lightness="50" data-algo="float" data-num-dots="1" data-position="81,84" style="background: #919bb5;"></box>
|
||||||
|
</hbox>
|
||||||
|
<hbox>
|
||||||
|
<box data-lightness="90" data-algo="analogous" data-num-dots="3" data-position="240,240"
|
||||||
|
style="--c1: rgb(245, 237, 214); --c2: rgb(221, 243, 216); --c3: rgb(243, 216, 225);" />
|
||||||
|
<box data-lightness="85" data-algo="analogous" data-num-dots="3" data-position="233,157"
|
||||||
|
style="--c1: rgb(243, 190, 222); --c2: rgb(247, 222, 186); --c3: rgb(223, 195, 238);" />
|
||||||
|
<box data-lightness="80" data-algo="analogous" data-num-dots="3" data-position="236,111"
|
||||||
|
style="--c1: rgb(229, 179, 228); --c2: rgb(236, 172, 178); --c3: rgb(197, 185, 223);" />
|
||||||
|
<box data-lightness="70" data-algo="analogous" data-num-dots="3" data-position="234,173"
|
||||||
|
style="--c1: rgb(235, 122, 159); --c2: rgb(239, 239, 118); --c3: rgb(210, 133, 224);" />
|
||||||
|
<box data-lightness="70" data-algo="analogous" data-num-dots="3" data-position="220,187"
|
||||||
|
style="--c1: rgb(242, 115, 123); --c2: rgb(175, 242, 115); --c3: rgb(230, 125, 232);" />
|
||||||
|
<box data-lightness="60" data-algo="analogous" data-num-dots="3" data-position="225,237"
|
||||||
|
style="--c1: rgb(221, 205, 85); --c2: rgb(97, 212, 94); --c3: rgb(215, 91, 124);" />
|
||||||
|
<box data-lightness="60" data-algo="analogous" data-num-dots="3" data-position="147,195"
|
||||||
|
style="--c1: rgb(75, 231, 210); --c2: rgb(84, 175, 222); --c3: rgb(62, 244, 112);" />
|
||||||
|
<box data-lightness="55" data-algo="analogous" data-num-dots="3" data-position="81,84"
|
||||||
|
style="--c1: rgb(122, 132, 158); --c2: rgb(137, 117, 164); --c3: rgb(116, 162, 164);" />
|
||||||
|
</hbox>
|
||||||
|
<hbox>
|
||||||
|
<box data-lightness="10" data-algo="float" data-num-dots="1" data-position="171,72" style="background:rgb(93, 86, 106);"></box>
|
||||||
|
<box data-lightness="40" data-algo="float" data-num-dots="1" data-position="265,79" style="background: #997096;"></box>
|
||||||
|
<box data-lightness="35" data-algo="float" data-num-dots="1" data-position="301,176" style="background: #956066;"></box>
|
||||||
|
<box data-lightness="30" data-algo="float" data-num-dots="1" data-position="237,210" style="background: #9c6645;"></box>
|
||||||
|
<box data-lightness="30" data-algo="float" data-num-dots="1" data-position="91,228" style="background: #517b6c;"></box>
|
||||||
|
<box data-lightness="25" data-algo="float" data-num-dots="1" data-position="67,159" style="background: #576e75;"></box>
|
||||||
|
<box data-lightness="20" data-algo="float" data-num-dots="1" data-position="314,235" style="background:rgb(131, 109, 95);"></box>
|
||||||
|
<box data-lightness="20" data-algo="float" data-num-dots="1" data-position="118,215" style="background: #447464;"></box>
|
||||||
|
</hbox>
|
||||||
|
<hbox>
|
||||||
|
<box data-lightness="10" data-algo="analogous" data-num-dots="3" data-position="171,72"
|
||||||
|
style="--c1: rgb(23, 17, 34); --c2: rgb(37, 14, 35); --c3: rgb(18, 22, 33);" />
|
||||||
|
<box data-lightness="40" data-algo="analogous" data-num-dots="3" data-position="265,79"
|
||||||
|
style="--c1: rgb(128, 76, 124); --c2: rgb(141, 63, 66); --c3: rgb(97, 88, 116);" />
|
||||||
|
<box data-lightness="35" data-algo="analogous" data-num-dots="3" data-position="301,176"
|
||||||
|
style="--c1: rgb(122, 56, 64); --c2: rgb(126, 121, 52); --c3: rgb(111, 68, 110);" />
|
||||||
|
<box data-lightness="30" data-algo="analogous" data-num-dots="3" data-position="237,210"
|
||||||
|
style="--c1: rgb(131, 65, 22); --c2: rgb(64, 128, 25); --c3: rgb(122, 31, 91);" />
|
||||||
|
<box data-lightness="30" data-algo="analogous" data-num-dots="3" data-position="91,228"
|
||||||
|
style="--c1: rgb(45, 108, 85); --c2: rgb(52, 85, 101); --c3: rgb(52, 118, 35);" />
|
||||||
|
<box data-lightness="25" data-algo="analogous" data-num-dots="3" data-position="67,159"
|
||||||
|
style="--c1: rgb(45, 74, 83); --c2: rgb(46, 50, 81); --c3: rgb(38, 90, 65);" />
|
||||||
|
<box data-lightness="20" data-algo="analogous" data-num-dots="3" data-position="314,235"
|
||||||
|
style="--c1: rgb(64, 47, 38); --c2: rgb(55, 64, 38); --c3: rgb(59, 43, 52);" />
|
||||||
|
<box data-lightness="20" data-algo="analogous" data-num-dots="3" data-position="118,215"
|
||||||
|
style="--c1: rgb(22, 80, 61); --c2: rgb(26, 60, 76); --c3: rgb(27, 87, 15);" />
|
||||||
|
</hbox>
|
||||||
|
</hbox>
|
||||||
|
<toolbarbutton id="PanelUI-zen-gradient-generator-color-page-right" class="toolbarbutton-1" />
|
||||||
|
</hbox>
|
||||||
<hbox id="PanelUI-zen-gradient-generator-controls">
|
<hbox id="PanelUI-zen-gradient-generator-controls">
|
||||||
<hbox id="PanelUI-zen-gradient-colors-wrapper">
|
<hbox id="PanelUI-zen-gradient-colors-wrapper">
|
||||||
<vbox flex="1">
|
<vbox flex="1" id="PanelUI-zen-gradient-opacity-wrapper">
|
||||||
<label data-l10n-id="zen-panel-ui-gradient-generator-opacity-text"></label>
|
<box id="PanelUI-zen-gradient-slider-wave">
|
||||||
<html:input type="range" min="0" max="1" value="0.5" step="0.05" id="PanelUI-zen-gradient-generator-opacity" />
|
<svg viewBox="0 -7.605 455 70" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMid meet">
|
||||||
|
<path d="M 51.373 27.395 L 419.634 27.395"
|
||||||
|
fill="none"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
style="stroke-width: 8px;"/>
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="PanelUI-zen-gradient-generator-slider-wave-gradient" x1="0%" y1="0%" x2="100%" y2="0%">
|
||||||
|
<stop offset="0%" stop-color="light-dark(rgb(90, 90, 90), rgb(161, 161, 161))"/>
|
||||||
|
<stop offset="0%" stop-color="light-dark(rgb(90, 90, 90), rgba(161, 161, 161))"/>
|
||||||
|
<stop offset="100%" stop-color="light-dark(rgba(77, 77, 77, 0.5), rgba(161, 161, 161, 0.5))"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
</box>
|
||||||
|
<html:input type="range" min="0.3" max="0.8" value="0.4" step="0.001" id="PanelUI-zen-gradient-generator-opacity" />
|
||||||
</vbox>
|
</vbox>
|
||||||
<vbox id="PanelUI-zen-gradient-generator-texture-wrapper">
|
<vbox id="PanelUI-zen-gradient-generator-texture-wrapper">
|
||||||
</vbox>
|
</vbox>
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
|
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
|
||||||
index cebca6d017a0c3fc8eff7a38f987726324789e69..73a24df91bec368f2f27c538b37d57595e18c599 100644
|
index bde641f7112adde948707c172b9f18d3635d8ef1..3f430451586904e6be086114ec10f719745093be 100644
|
||||||
--- a/browser/components/BrowserGlue.sys.mjs
|
--- a/browser/components/BrowserGlue.sys.mjs
|
||||||
+++ b/browser/components/BrowserGlue.sys.mjs
|
+++ b/browser/components/BrowserGlue.sys.mjs
|
||||||
@@ -8,6 +8,7 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
@@ -8,6 +8,7 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||||
@@ -8,13 +8,14 @@ index cebca6d017a0c3fc8eff7a38f987726324789e69..73a24df91bec368f2f27c538b37d5759
|
|||||||
ChromeUtils.defineESModuleGetters(lazy, {
|
ChromeUtils.defineESModuleGetters(lazy, {
|
||||||
+ gZenUIMigration: "chrome://browser/content/zen-components/ZenUIMigration.mjs",
|
+ gZenUIMigration: "chrome://browser/content/zen-components/ZenUIMigration.mjs",
|
||||||
AboutHomeStartupCache: "resource:///modules/AboutHomeStartupCache.sys.mjs",
|
AboutHomeStartupCache: "resource:///modules/AboutHomeStartupCache.sys.mjs",
|
||||||
AboutNewTab: "resource:///modules/AboutNewTab.sys.mjs",
|
|
||||||
AWToolbarButton: "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs",
|
AWToolbarButton: "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs",
|
||||||
@@ -881,6 +882,7 @@ BrowserGlue.prototype = {
|
ASRouter: "resource:///modules/asrouter/ASRouter.sys.mjs",
|
||||||
|
@@ -1659,6 +1660,8 @@ BrowserGlue.prototype = {
|
||||||
|
} else if (profileDataVersion < APP_DATA_VERSION) {
|
||||||
|
lazy.ProfileDataUpgrader.upgrade(profileDataVersion, APP_DATA_VERSION);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ lazy.gZenUIMigration.init(this._isNewProfile);
|
||||||
|
},
|
||||||
|
|
||||||
lazy.ProcessHangMonitor.init();
|
async _showUpgradeDialog() {
|
||||||
|
|
||||||
+ lazy.gZenUIMigration.init(this._isNewProfile, aWindow);
|
|
||||||
// A channel for "remote troubleshooting" code...
|
|
||||||
let channel = new lazy.WebChannel(
|
|
||||||
"remote-troubleshooting",
|
|
||||||
|
@@ -1,16 +1,16 @@
|
|||||||
diff --git a/browser/components/extensions/parent/ext-tabs.js b/browser/components/extensions/parent/ext-tabs.js
|
diff --git a/browser/components/extensions/parent/ext-tabs.js b/browser/components/extensions/parent/ext-tabs.js
|
||||||
index 517ea0079c12941a844a4f9e4ba694c6411887ee..510ab14dfa2178c332c9862d6a01b75bd12dfe3b 100644
|
index a53a12f91817a9e3d1773480928e858bc3182c77..10f6559ffb128906be31de220c93320e9a6d40e7 100644
|
||||||
--- a/browser/components/extensions/parent/ext-tabs.js
|
--- a/browser/components/extensions/parent/ext-tabs.js
|
||||||
+++ b/browser/components/extensions/parent/ext-tabs.js
|
+++ b/browser/components/extensions/parent/ext-tabs.js
|
||||||
@@ -482,6 +482,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
@@ -494,6 +494,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
||||||
}
|
}
|
||||||
|
|
||||||
let tab = tabManager.getWrapper(event.originalTarget);
|
let tab = tabManager.getWrapper(updatedTab);
|
||||||
+ if (!tab) return;
|
+ if (!tab) return;
|
||||||
|
|
||||||
let changeInfo = {};
|
let changeInfo = {};
|
||||||
for (let prop of needed) {
|
for (let prop of needed) {
|
||||||
@@ -836,6 +837,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
@@ -848,6 +849,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -742,19 +742,13 @@ var gZenWorkspacesSettings = {
|
|||||||
};
|
};
|
||||||
Services.prefs.addObserver('zen.tab-unloader.enabled', tabsUnloaderPrefListener);
|
Services.prefs.addObserver('zen.tab-unloader.enabled', tabsUnloaderPrefListener);
|
||||||
Services.prefs.addObserver('zen.glance.enabled', tabsUnloaderPrefListener); // We can use the same listener for both prefs
|
Services.prefs.addObserver('zen.glance.enabled', tabsUnloaderPrefListener); // We can use the same listener for both prefs
|
||||||
Services.prefs.addObserver(
|
Services.prefs.addObserver('zen.workspaces.separate-essentials', tabsUnloaderPrefListener);
|
||||||
'zen.workspaces.container-specific-essentials-enabled',
|
|
||||||
tabsUnloaderPrefListener
|
|
||||||
);
|
|
||||||
Services.prefs.addObserver('zen.glance.activation-method', tabsUnloaderPrefListener);
|
Services.prefs.addObserver('zen.glance.activation-method', tabsUnloaderPrefListener);
|
||||||
window.addEventListener('unload', () => {
|
window.addEventListener('unload', () => {
|
||||||
Services.prefs.removeObserver('zen.tab-unloader.enabled', tabsUnloaderPrefListener);
|
Services.prefs.removeObserver('zen.tab-unloader.enabled', tabsUnloaderPrefListener);
|
||||||
Services.prefs.removeObserver('zen.glance.enabled', tabsUnloaderPrefListener);
|
Services.prefs.removeObserver('zen.glance.enabled', tabsUnloaderPrefListener);
|
||||||
Services.prefs.removeObserver('zen.glance.activation-method', tabsUnloaderPrefListener);
|
Services.prefs.removeObserver('zen.glance.activation-method', tabsUnloaderPrefListener);
|
||||||
Services.prefs.removeObserver(
|
Services.prefs.removeObserver('zen.workspaces.separate-essentials', tabsUnloaderPrefListener);
|
||||||
'zen.workspaces.container-specific-essentials-enabled',
|
|
||||||
tabsUnloaderPrefListener
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -987,7 +981,7 @@ var gZenCKSSettings = {
|
|||||||
let input = document.querySelector(
|
let input = document.querySelector(
|
||||||
`.${ZEN_CKS_INPUT_FIELD_CLASS}[${KEYBIND_ATTRIBUTE_KEY}="${this._currentActionID}"]`
|
`.${ZEN_CKS_INPUT_FIELD_CLASS}[${KEYBIND_ATTRIBUTE_KEY}="${this._currentActionID}"]`
|
||||||
);
|
);
|
||||||
const modifiers = new KeyShortcutModifiers(
|
const modifiers = new nsKeyShortcutModifiers(
|
||||||
event.ctrlKey,
|
event.ctrlKey,
|
||||||
event.altKey,
|
event.altKey,
|
||||||
event.shiftKey,
|
event.shiftKey,
|
||||||
@@ -1153,7 +1147,7 @@ Preferences.addAll([
|
|||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'zen.workspaces.container-specific-essentials-enabled',
|
id: 'zen.workspaces.separate-essentials',
|
||||||
type: 'bool',
|
type: 'bool',
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
@@ -47,7 +47,7 @@
|
|||||||
preference="zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url"/>
|
preference="zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url"/>
|
||||||
<checkbox id="zenPinnedTabContainerSpecificEssentials"
|
<checkbox id="zenPinnedTabContainerSpecificEssentials"
|
||||||
data-l10n-id="zen-pinned-tab-manager-container-specific-essentials-enabled"
|
data-l10n-id="zen-pinned-tab-manager-container-specific-essentials-enabled"
|
||||||
preference="zen.workspaces.container-specific-essentials-enabled"/>
|
preference="zen.workspaces.separate-essentials"/>
|
||||||
|
|
||||||
<hbox align="center">
|
<hbox align="center">
|
||||||
<label id="zenPinnedTabCloseShortcutBehaviorLabel" data-l10n-id="zen-pinned-tab-manager-close-shortcut-behavior-label"/>
|
<label id="zenPinnedTabCloseShortcutBehaviorLabel" data-l10n-id="zen-pinned-tab-manager-close-shortcut-behavior-label"/>
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
|
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
index 8c6047e1ada5a22e57e1e665965237c9e22641d7..d3472a36fc99c488f0fd0fa8cb9c6927c24bdc6d 100644
|
index be029379c101a0105d4837136e064e6007b67c3e..f998ad44015b05104e8a1dbeebd7b94e586e4fbd 100644
|
||||||
--- a/browser/components/sessionstore/SessionStore.sys.mjs
|
--- a/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
|
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
@@ -2088,7 +2088,6 @@ var SessionStoreInternal = {
|
@@ -2120,7 +2120,6 @@ var SessionStoreInternal = {
|
||||||
if (closedWindowState) {
|
if (closedWindowState) {
|
||||||
let newWindowState;
|
let newWindowState;
|
||||||
if (
|
if (
|
||||||
@@ -10,7 +10,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..d3472a36fc99c488f0fd0fa8cb9c6927
|
|||||||
!lazy.SessionStartup.willRestore()
|
!lazy.SessionStartup.willRestore()
|
||||||
) {
|
) {
|
||||||
// We want to split the window up into pinned tabs and unpinned tabs.
|
// We want to split the window up into pinned tabs and unpinned tabs.
|
||||||
@@ -2303,11 +2302,9 @@ var SessionStoreInternal = {
|
@@ -2353,11 +2352,9 @@ var SessionStoreInternal = {
|
||||||
tabbrowser.selectedTab.label;
|
tabbrowser.selectedTab.label;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..d3472a36fc99c488f0fd0fa8cb9c6927
|
|||||||
|
|
||||||
// Store the window's close date to figure out when each individual tab
|
// Store the window's close date to figure out when each individual tab
|
||||||
// was closed. This timestamp should allow re-arranging data based on how
|
// was closed. This timestamp should allow re-arranging data based on how
|
||||||
@@ -3216,7 +3213,7 @@ var SessionStoreInternal = {
|
@@ -3303,7 +3300,7 @@ var SessionStoreInternal = {
|
||||||
if (!isPrivateWindow && tabState.isPrivate) {
|
if (!isPrivateWindow && tabState.isPrivate) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -31,7 +31,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..d3472a36fc99c488f0fd0fa8cb9c6927
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3925,6 +3922,11 @@ var SessionStoreInternal = {
|
@@ -4012,6 +4009,11 @@ var SessionStoreInternal = {
|
||||||
Math.min(tabState.index, tabState.entries.length)
|
Math.min(tabState.index, tabState.entries.length)
|
||||||
);
|
);
|
||||||
tabState.pinned = false;
|
tabState.pinned = false;
|
||||||
@@ -43,15 +43,15 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..d3472a36fc99c488f0fd0fa8cb9c6927
|
|||||||
|
|
||||||
if (inBackground === false) {
|
if (inBackground === false) {
|
||||||
aWindow.gBrowser.selectedTab = newTab;
|
aWindow.gBrowser.selectedTab = newTab;
|
||||||
@@ -4361,6 +4363,7 @@ var SessionStoreInternal = {
|
@@ -4448,6 +4450,7 @@ var SessionStoreInternal = {
|
||||||
// Append the tab if we're opening into a different window,
|
// Append the tab if we're opening into a different window,
|
||||||
index: aSource == aTargetWindow ? pos : Infinity,
|
tabIndex: aSource == aTargetWindow ? pos : Infinity,
|
||||||
pinned: state.pinned,
|
pinned: state.pinned,
|
||||||
+ essential: state.zenEssential,
|
+ essential: state.zenEssential,
|
||||||
userContextId: state.userContextId,
|
userContextId: state.userContextId,
|
||||||
skipLoad: true,
|
skipLoad: true,
|
||||||
preferredRemoteType,
|
preferredRemoteType,
|
||||||
@@ -5179,7 +5182,7 @@ var SessionStoreInternal = {
|
@@ -5303,7 +5306,7 @@ var SessionStoreInternal = {
|
||||||
|
|
||||||
for (let i = tabbrowser.pinnedTabCount; i < tabbrowser.tabs.length; i++) {
|
for (let i = tabbrowser.pinnedTabCount; i < tabbrowser.tabs.length; i++) {
|
||||||
let tab = tabbrowser.tabs[i];
|
let tab = tabbrowser.tabs[i];
|
||||||
@@ -60,7 +60,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..d3472a36fc99c488f0fd0fa8cb9c6927
|
|||||||
removableTabs.push(tab);
|
removableTabs.push(tab);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5239,7 +5242,7 @@ var SessionStoreInternal = {
|
@@ -5363,7 +5366,7 @@ var SessionStoreInternal = {
|
||||||
}
|
}
|
||||||
|
|
||||||
let workspaceID = aWindow.getWorkspaceID();
|
let workspaceID = aWindow.getWorkspaceID();
|
||||||
@@ -69,7 +69,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..d3472a36fc99c488f0fd0fa8cb9c6927
|
|||||||
winData.workspaceID = workspaceID;
|
winData.workspaceID = workspaceID;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -5430,14 +5433,15 @@ var SessionStoreInternal = {
|
@@ -5554,14 +5557,15 @@ var SessionStoreInternal = {
|
||||||
}
|
}
|
||||||
|
|
||||||
let tabbrowser = aWindow.gBrowser;
|
let tabbrowser = aWindow.gBrowser;
|
||||||
@@ -87,7 +87,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..d3472a36fc99c488f0fd0fa8cb9c6927
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
let tabData = lazy.TabState.collect(tab, TAB_CUSTOM_VALUES.get(tab));
|
let tabData = lazy.TabState.collect(tab, TAB_CUSTOM_VALUES.get(tab));
|
||||||
@@ -5456,8 +5460,8 @@ var SessionStoreInternal = {
|
@@ -5580,8 +5584,8 @@ var SessionStoreInternal = {
|
||||||
// We don't store the Firefox View tab in Session Store, so if it was the last selected "tab" when
|
// We don't store the Firefox View tab in Session Store, so if it was the last selected "tab" when
|
||||||
// a window is closed, point to the first item in the tab strip instead (it will never be the Firefox View tab,
|
// a window is closed, point to the first item in the tab strip instead (it will never be the Firefox View tab,
|
||||||
// since it's only inserted into the tab strip after it's selected).
|
// since it's only inserted into the tab strip after it's selected).
|
||||||
@@ -98,7 +98,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..d3472a36fc99c488f0fd0fa8cb9c6927
|
|||||||
winData.title = tabbrowser.tabs[0].label;
|
winData.title = tabbrowser.tabs[0].label;
|
||||||
}
|
}
|
||||||
winData.selected = selectedIndex;
|
winData.selected = selectedIndex;
|
||||||
@@ -5569,8 +5573,8 @@ var SessionStoreInternal = {
|
@@ -5693,8 +5697,8 @@ var SessionStoreInternal = {
|
||||||
// selectTab represents.
|
// selectTab represents.
|
||||||
let selectTab = 0;
|
let selectTab = 0;
|
||||||
if (overwriteTabs) {
|
if (overwriteTabs) {
|
||||||
@@ -109,7 +109,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..d3472a36fc99c488f0fd0fa8cb9c6927
|
|||||||
selectTab = Math.min(selectTab, winData.tabs.length);
|
selectTab = Math.min(selectTab, winData.tabs.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5613,6 +5617,7 @@ var SessionStoreInternal = {
|
@@ -5737,6 +5741,7 @@ var SessionStoreInternal = {
|
||||||
winData.tabs,
|
winData.tabs,
|
||||||
winData.groups ?? []
|
winData.groups ?? []
|
||||||
);
|
);
|
||||||
@@ -117,7 +117,7 @@ index 8c6047e1ada5a22e57e1e665965237c9e22641d7..d3472a36fc99c488f0fd0fa8cb9c6927
|
|||||||
this._log.debug(
|
this._log.debug(
|
||||||
`restoreWindow, createTabsForSessionRestore returned ${tabs.length} tabs`
|
`restoreWindow, createTabsForSessionRestore returned ${tabs.length} tabs`
|
||||||
);
|
);
|
||||||
@@ -6162,6 +6167,22 @@ var SessionStoreInternal = {
|
@@ -6286,6 +6291,22 @@ var SessionStoreInternal = {
|
||||||
|
|
||||||
// Most of tabData has been restored, now continue with restoring
|
// Most of tabData has been restored, now continue with restoring
|
||||||
// attributes that may trigger external events.
|
// attributes that may trigger external events.
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
|
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
|
||||||
index f43ab1cf6257ff1a9c9aa522a0180fd9bbfe4036..d9714c46de860243b06af7e8343d36b107efb855 100644
|
index 793ba822f087f4d198c9876ed208ff16d8a41e3b..e53ccd748de015997c355d5d37cb38cc73e90f3d 100644
|
||||||
--- a/browser/components/tabbrowser/content/tab.js
|
--- a/browser/components/tabbrowser/content/tab.js
|
||||||
+++ b/browser/components/tabbrowser/content/tab.js
|
+++ b/browser/components/tabbrowser/content/tab.js
|
||||||
@@ -21,6 +21,7 @@
|
@@ -21,6 +21,7 @@
|
||||||
@@ -68,15 +68,15 @@ index f43ab1cf6257ff1a9c9aa522a0180fd9bbfe4036..d9714c46de860243b06af7e8343d36b1
|
|||||||
on_click(event) {
|
on_click(event) {
|
||||||
if (event.button != 0) {
|
if (event.button != 0) {
|
||||||
return;
|
return;
|
||||||
@@ -559,6 +568,7 @@
|
@@ -561,6 +570,7 @@
|
||||||
telemetrySource: lazy.TabMetrics.METRIC_SOURCE.TAB_STRIP,
|
)
|
||||||
});
|
);
|
||||||
} else {
|
} else {
|
||||||
+ gZenPinnedTabManager._removePinnedAttributes(this, true);
|
+ gZenPinnedTabManager._removePinnedAttributes(this, true);
|
||||||
gBrowser.removeTab(this, {
|
gBrowser.removeTab(this, {
|
||||||
animate: true,
|
animate: true,
|
||||||
triggeringEvent: event,
|
triggeringEvent: event,
|
||||||
@@ -569,6 +579,14 @@
|
@@ -573,6 +583,14 @@
|
||||||
// (see tabbrowser-tabs 'click' handler).
|
// (see tabbrowser-tabs 'click' handler).
|
||||||
gBrowser.tabContainer._blockDblClick = true;
|
gBrowser.tabContainer._blockDblClick = true;
|
||||||
}
|
}
|
||||||
@@ -91,7 +91,7 @@ index f43ab1cf6257ff1a9c9aa522a0180fd9bbfe4036..d9714c46de860243b06af7e8343d36b1
|
|||||||
}
|
}
|
||||||
|
|
||||||
on_dblclick(event) {
|
on_dblclick(event) {
|
||||||
@@ -592,6 +610,8 @@
|
@@ -596,6 +614,8 @@
|
||||||
animate: true,
|
animate: true,
|
||||||
triggeringEvent: event,
|
triggeringEvent: event,
|
||||||
});
|
});
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386ffc8ec0b 100644
|
index 37570c54b06f9cebc46aa232e2d01ac5d330e17a..818b1df6778d9d299b86fefa46bbf1d689d29fdb 100644
|
||||||
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
@@ -413,11 +413,41 @@
|
@@ -413,11 +413,41 @@
|
||||||
@@ -188,7 +188,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
} else {
|
} else {
|
||||||
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
||||||
}
|
}
|
||||||
@@ -2680,6 +2726,8 @@
|
@@ -2679,6 +2725,8 @@
|
||||||
schemelessInput,
|
schemelessInput,
|
||||||
hasValidUserGestureActivation = false,
|
hasValidUserGestureActivation = false,
|
||||||
textDirectiveUserActivation = false,
|
textDirectiveUserActivation = false,
|
||||||
@@ -197,7 +197,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
} = {}
|
} = {}
|
||||||
) {
|
) {
|
||||||
// all callers of addTab that pass a params object need to pass
|
// all callers of addTab that pass a params object need to pass
|
||||||
@@ -2690,6 +2738,12 @@
|
@@ -2689,6 +2737,12 @@
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -210,7 +210,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
if (!UserInteraction.running("browser.tabs.opening", window)) {
|
if (!UserInteraction.running("browser.tabs.opening", window)) {
|
||||||
UserInteraction.start("browser.tabs.opening", "initting", window);
|
UserInteraction.start("browser.tabs.opening", "initting", window);
|
||||||
}
|
}
|
||||||
@@ -2753,6 +2807,19 @@
|
@@ -2752,6 +2806,19 @@
|
||||||
noInitialLabel,
|
noInitialLabel,
|
||||||
skipBackgroundNotify,
|
skipBackgroundNotify,
|
||||||
});
|
});
|
||||||
@@ -229,8 +229,8 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
+ }
|
+ }
|
||||||
if (insertTab) {
|
if (insertTab) {
|
||||||
// Insert the tab into the tab container in the correct position.
|
// Insert the tab into the tab container in the correct position.
|
||||||
// For now, we support `index` as an alias for `tabIndex`.
|
this.#insertTabAtIndex(t, {
|
||||||
@@ -2765,6 +2832,7 @@
|
@@ -2760,6 +2827,7 @@
|
||||||
ownerTab,
|
ownerTab,
|
||||||
openerTab,
|
openerTab,
|
||||||
pinned,
|
pinned,
|
||||||
@@ -238,7 +238,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
bulkOrderedOpen,
|
bulkOrderedOpen,
|
||||||
tabGroup: tabGroup ?? openerTab?.group,
|
tabGroup: tabGroup ?? openerTab?.group,
|
||||||
});
|
});
|
||||||
@@ -2783,6 +2851,7 @@
|
@@ -2778,6 +2846,7 @@
|
||||||
openWindowInfo,
|
openWindowInfo,
|
||||||
skipLoad,
|
skipLoad,
|
||||||
triggeringRemoteType,
|
triggeringRemoteType,
|
||||||
@@ -246,7 +246,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
if (focusUrlBar) {
|
if (focusUrlBar) {
|
||||||
@@ -2902,6 +2971,12 @@
|
@@ -2897,6 +2966,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -259,7 +259,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
// Additionally send pinned tab events
|
// Additionally send pinned tab events
|
||||||
if (pinned) {
|
if (pinned) {
|
||||||
this._notifyPinnedStatus(t);
|
this._notifyPinnedStatus(t);
|
||||||
@@ -2990,10 +3065,10 @@
|
@@ -2985,10 +3060,10 @@
|
||||||
isAdoptingGroup = false,
|
isAdoptingGroup = false,
|
||||||
isUserTriggered = false,
|
isUserTriggered = false,
|
||||||
telemetryUserCreateSource = "unknown",
|
telemetryUserCreateSource = "unknown",
|
||||||
@@ -271,7 +271,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!color) {
|
if (!color) {
|
||||||
@@ -3014,7 +3089,12 @@
|
@@ -3009,7 +3084,12 @@
|
||||||
label,
|
label,
|
||||||
isAdoptingGroup
|
isAdoptingGroup
|
||||||
);
|
);
|
||||||
@@ -285,7 +285,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
group,
|
group,
|
||||||
insertBefore?.group ?? insertBefore
|
insertBefore?.group ?? insertBefore
|
||||||
);
|
);
|
||||||
@@ -3303,6 +3383,7 @@
|
@@ -3304,6 +3384,7 @@
|
||||||
openWindowInfo,
|
openWindowInfo,
|
||||||
skipLoad,
|
skipLoad,
|
||||||
triggeringRemoteType,
|
triggeringRemoteType,
|
||||||
@@ -293,7 +293,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
|
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
|
||||||
@@ -3372,6 +3453,7 @@
|
@@ -3373,6 +3454,7 @@
|
||||||
openWindowInfo,
|
openWindowInfo,
|
||||||
name,
|
name,
|
||||||
skipLoad,
|
skipLoad,
|
||||||
@@ -301,7 +301,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3517,7 +3599,9 @@
|
@@ -3518,7 +3600,9 @@
|
||||||
let shouldUpdateForPinnedTabs = false;
|
let shouldUpdateForPinnedTabs = false;
|
||||||
/** @type {Map<TabGroupStateData['id'], TabGroupWorkingData>} */
|
/** @type {Map<TabGroupStateData['id'], TabGroupWorkingData>} */
|
||||||
let tabGroupWorkingData = new Map();
|
let tabGroupWorkingData = new Map();
|
||||||
@@ -312,7 +312,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
for (const tabGroupData of tabGroupDataList) {
|
for (const tabGroupData of tabGroupDataList) {
|
||||||
tabGroupWorkingData.set(tabGroupData.id, {
|
tabGroupWorkingData.set(tabGroupData.id, {
|
||||||
stateData: tabGroupData,
|
stateData: tabGroupData,
|
||||||
@@ -3560,7 +3644,7 @@
|
@@ -3561,7 +3645,7 @@
|
||||||
// Add a new tab if needed.
|
// Add a new tab if needed.
|
||||||
if (!tab) {
|
if (!tab) {
|
||||||
let createLazyBrowser =
|
let createLazyBrowser =
|
||||||
@@ -321,7 +321,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
|
|
||||||
let url = "about:blank";
|
let url = "about:blank";
|
||||||
if (tabData.entries?.length) {
|
if (tabData.entries?.length) {
|
||||||
@@ -3598,7 +3682,8 @@
|
@@ -3599,7 +3683,8 @@
|
||||||
skipLoad: true,
|
skipLoad: true,
|
||||||
preferredRemoteType,
|
preferredRemoteType,
|
||||||
});
|
});
|
||||||
@@ -331,7 +331,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
if (select) {
|
if (select) {
|
||||||
tabToSelect = tab;
|
tabToSelect = tab;
|
||||||
}
|
}
|
||||||
@@ -3622,7 +3707,8 @@
|
@@ -3623,7 +3708,8 @@
|
||||||
// needs calling:
|
// needs calling:
|
||||||
shouldUpdateForPinnedTabs = true;
|
shouldUpdateForPinnedTabs = true;
|
||||||
}
|
}
|
||||||
@@ -341,7 +341,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
let { groupId } = tabData;
|
let { groupId } = tabData;
|
||||||
const tabGroup = tabGroupWorkingData.get(groupId);
|
const tabGroup = tabGroupWorkingData.get(groupId);
|
||||||
// if a tab refers to a tab group we don't know, skip any group
|
// if a tab refers to a tab group we don't know, skip any group
|
||||||
@@ -3636,7 +3722,10 @@
|
@@ -3637,7 +3723,10 @@
|
||||||
tabGroup.stateData.id,
|
tabGroup.stateData.id,
|
||||||
tabGroup.stateData.color,
|
tabGroup.stateData.color,
|
||||||
tabGroup.stateData.collapsed,
|
tabGroup.stateData.collapsed,
|
||||||
@@ -353,7 +353,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
);
|
);
|
||||||
tabsFragment.appendChild(tabGroup.node);
|
tabsFragment.appendChild(tabGroup.node);
|
||||||
}
|
}
|
||||||
@@ -3684,9 +3773,23 @@
|
@@ -3685,9 +3774,23 @@
|
||||||
// to remove the old selected tab.
|
// to remove the old selected tab.
|
||||||
if (tabToSelect) {
|
if (tabToSelect) {
|
||||||
let leftoverTab = this.selectedTab;
|
let leftoverTab = this.selectedTab;
|
||||||
@@ -377,7 +377,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
|
|
||||||
if (tabs.length > 1 || !tabs[0].selected) {
|
if (tabs.length > 1 || !tabs[0].selected) {
|
||||||
this._updateTabsAfterInsert();
|
this._updateTabsAfterInsert();
|
||||||
@@ -3881,7 +3984,7 @@
|
@@ -3882,7 +3985,7 @@
|
||||||
// Ensure we have an index if one was not provided.
|
// Ensure we have an index if one was not provided.
|
||||||
if (typeof elementIndex != "number" && typeof tabIndex != "number") {
|
if (typeof elementIndex != "number" && typeof tabIndex != "number") {
|
||||||
// Move the new tab after another tab if needed, to the end otherwise.
|
// Move the new tab after another tab if needed, to the end otherwise.
|
||||||
@@ -386,7 +386,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
if (
|
if (
|
||||||
!bulkOrderedOpen &&
|
!bulkOrderedOpen &&
|
||||||
((openerTab &&
|
((openerTab &&
|
||||||
@@ -3904,7 +4007,7 @@
|
@@ -3905,7 +4008,7 @@
|
||||||
) {
|
) {
|
||||||
elementIndex = Infinity;
|
elementIndex = Infinity;
|
||||||
} else if (previousTab.visible) {
|
} else if (previousTab.visible) {
|
||||||
@@ -395,7 +395,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
} else if (previousTab == FirefoxViewHandler.tab) {
|
} else if (previousTab == FirefoxViewHandler.tab) {
|
||||||
elementIndex = 0;
|
elementIndex = 0;
|
||||||
}
|
}
|
||||||
@@ -3932,14 +4035,14 @@
|
@@ -3933,14 +4036,14 @@
|
||||||
}
|
}
|
||||||
// Ensure index is within bounds.
|
// Ensure index is within bounds.
|
||||||
if (tab.pinned) {
|
if (tab.pinned) {
|
||||||
@@ -414,7 +414,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
|
|
||||||
// Prevent a flash of unstyled content by setting up the tab content
|
// Prevent a flash of unstyled content by setting up the tab content
|
||||||
// and inherited attributes before appending it (see Bug 1592054):
|
// and inherited attributes before appending it (see Bug 1592054):
|
||||||
@@ -3947,7 +4050,7 @@
|
@@ -3948,7 +4051,7 @@
|
||||||
|
|
||||||
this.tabContainer._invalidateCachedTabs();
|
this.tabContainer._invalidateCachedTabs();
|
||||||
|
|
||||||
@@ -423,7 +423,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
if (this.isTab(itemAfter) && itemAfter.group == tabGroup) {
|
if (this.isTab(itemAfter) && itemAfter.group == tabGroup) {
|
||||||
// Place at the front of, or between tabs in, the same tab group
|
// Place at the front of, or between tabs in, the same tab group
|
||||||
this.tabContainer.insertBefore(tab, itemAfter);
|
this.tabContainer.insertBefore(tab, itemAfter);
|
||||||
@@ -3980,6 +4083,7 @@
|
@@ -3981,6 +4084,7 @@
|
||||||
if (pinned) {
|
if (pinned) {
|
||||||
this._updateTabBarForPinnedTabs();
|
this._updateTabBarForPinnedTabs();
|
||||||
}
|
}
|
||||||
@@ -431,17 +431,17 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
|
|
||||||
TabBarVisibility.update();
|
TabBarVisibility.update();
|
||||||
}
|
}
|
||||||
@@ -4268,6 +4372,9 @@
|
@@ -4270,6 +4374,9 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ for (let tab of selectedTabs) {
|
+ for (let tab of selectedTabs) {
|
||||||
+ gZenPinnedTabManager._removePinnedAttributes(tab, true);
|
+ gZenPinnedTabManager._removePinnedAttributes(tab, true);
|
||||||
+ }
|
+ }
|
||||||
this.removeTabs(selectedTabs, { telemetrySource });
|
this.removeTabs(selectedTabs, { isUserTriggered, telemetrySource });
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4520,6 +4627,7 @@
|
@@ -4526,6 +4633,7 @@
|
||||||
telemetrySource,
|
telemetrySource,
|
||||||
} = {}
|
} = {}
|
||||||
) {
|
) {
|
||||||
@@ -449,7 +449,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs
|
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs
|
||||||
// can be considered equivalent to closing the window.
|
// can be considered equivalent to closing the window.
|
||||||
if (
|
if (
|
||||||
@@ -4604,6 +4712,7 @@
|
@@ -4615,6 +4723,7 @@
|
||||||
if (lastToClose) {
|
if (lastToClose) {
|
||||||
this.removeTab(lastToClose, aParams);
|
this.removeTab(lastToClose, aParams);
|
||||||
}
|
}
|
||||||
@@ -457,7 +457,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
}
|
}
|
||||||
@@ -4641,6 +4750,12 @@
|
@@ -4653,6 +4762,12 @@
|
||||||
aTab._closeTimeNoAnimTimerId = Glean.browserTabclose.timeNoAnim.start();
|
aTab._closeTimeNoAnimTimerId = Glean.browserTabclose.timeNoAnim.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -470,7 +470,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
// Handle requests for synchronously removing an already
|
// Handle requests for synchronously removing an already
|
||||||
// asynchronously closing tab.
|
// asynchronously closing tab.
|
||||||
if (!animate && aTab.closing) {
|
if (!animate && aTab.closing) {
|
||||||
@@ -4655,7 +4770,9 @@
|
@@ -4667,7 +4782,9 @@
|
||||||
// frame created for it (for example, by updating the visually selected
|
// frame created for it (for example, by updating the visually selected
|
||||||
// state).
|
// state).
|
||||||
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
|
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
|
||||||
@@ -481,7 +481,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
if (
|
if (
|
||||||
!this._beginRemoveTab(aTab, {
|
!this._beginRemoveTab(aTab, {
|
||||||
closeWindowFastpath: true,
|
closeWindowFastpath: true,
|
||||||
@@ -4821,7 +4938,7 @@
|
@@ -4835,7 +4952,7 @@
|
||||||
closeWindowWithLastTab != null
|
closeWindowWithLastTab != null
|
||||||
? closeWindowWithLastTab
|
? closeWindowWithLastTab
|
||||||
: !window.toolbar.visible ||
|
: !window.toolbar.visible ||
|
||||||
@@ -490,7 +490,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
|
|
||||||
if (closeWindow) {
|
if (closeWindow) {
|
||||||
// We've already called beforeunload on all the relevant tabs if we get here,
|
// We've already called beforeunload on all the relevant tabs if we get here,
|
||||||
@@ -4845,6 +4962,7 @@
|
@@ -4859,6 +4976,7 @@
|
||||||
|
|
||||||
newTab = true;
|
newTab = true;
|
||||||
}
|
}
|
||||||
@@ -498,7 +498,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
aTab._endRemoveArgs = [closeWindow, newTab];
|
aTab._endRemoveArgs = [closeWindow, newTab];
|
||||||
|
|
||||||
// swapBrowsersAndCloseOther will take care of closing the window without animation.
|
// swapBrowsersAndCloseOther will take care of closing the window without animation.
|
||||||
@@ -4885,9 +5003,7 @@
|
@@ -4899,9 +5017,7 @@
|
||||||
aTab._mouseleave();
|
aTab._mouseleave();
|
||||||
|
|
||||||
if (newTab) {
|
if (newTab) {
|
||||||
@@ -509,7 +509,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
} else {
|
} else {
|
||||||
TabBarVisibility.update();
|
TabBarVisibility.update();
|
||||||
}
|
}
|
||||||
@@ -5016,6 +5132,7 @@
|
@@ -5035,6 +5151,7 @@
|
||||||
this.tabs[i]._tPos = i;
|
this.tabs[i]._tPos = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -517,7 +517,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
if (!this._windowIsClosing) {
|
if (!this._windowIsClosing) {
|
||||||
if (wasPinned) {
|
if (wasPinned) {
|
||||||
this.tabContainer._positionPinnedTabs();
|
this.tabContainer._positionPinnedTabs();
|
||||||
@@ -5230,6 +5347,7 @@
|
@@ -5249,6 +5366,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
let excludeTabs = new Set(aExcludeTabs);
|
let excludeTabs = new Set(aExcludeTabs);
|
||||||
@@ -525,7 +525,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
|
|
||||||
// If this tab has a successor, it should be selectable, since
|
// If this tab has a successor, it should be selectable, since
|
||||||
// hiding or closing a tab removes that tab as a successor.
|
// hiding or closing a tab removes that tab as a successor.
|
||||||
@@ -5242,13 +5360,13 @@
|
@@ -5261,13 +5379,13 @@
|
||||||
!excludeTabs.has(aTab.owner) &&
|
!excludeTabs.has(aTab.owner) &&
|
||||||
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
|
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
|
||||||
) {
|
) {
|
||||||
@@ -541,7 +541,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
);
|
);
|
||||||
|
|
||||||
let tab = this.tabContainer.findNextTab(aTab, {
|
let tab = this.tabContainer.findNextTab(aTab, {
|
||||||
@@ -5264,7 +5382,7 @@
|
@@ -5283,7 +5401,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tab) {
|
if (tab) {
|
||||||
@@ -550,7 +550,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If no qualifying visible tab was found, see if there is a tab in
|
// If no qualifying visible tab was found, see if there is a tab in
|
||||||
@@ -5285,7 +5403,7 @@
|
@@ -5304,7 +5422,7 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -559,7 +559,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
}
|
}
|
||||||
|
|
||||||
_blurTab(aTab) {
|
_blurTab(aTab) {
|
||||||
@@ -5686,10 +5804,10 @@
|
@@ -5701,10 +5819,10 @@
|
||||||
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -572,7 +572,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
aTab.selected ||
|
aTab.selected ||
|
||||||
aTab.closing ||
|
aTab.closing ||
|
||||||
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
||||||
@@ -5909,7 +6027,7 @@
|
@@ -5924,7 +6042,7 @@
|
||||||
* `true` if element is a `<tab-group>`
|
* `true` if element is a `<tab-group>`
|
||||||
*/
|
*/
|
||||||
isTabGroup(element) {
|
isTabGroup(element) {
|
||||||
@@ -581,7 +581,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -5986,7 +6104,7 @@
|
@@ -6001,7 +6119,7 @@
|
||||||
|
|
||||||
// Don't allow mixing pinned and unpinned tabs.
|
// Don't allow mixing pinned and unpinned tabs.
|
||||||
if (this.isTab(element) && element.pinned) {
|
if (this.isTab(element) && element.pinned) {
|
||||||
@@ -590,7 +590,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
} else {
|
} else {
|
||||||
tabIndex = Math.max(tabIndex, this.pinnedTabCount);
|
tabIndex = Math.max(tabIndex, this.pinnedTabCount);
|
||||||
}
|
}
|
||||||
@@ -6012,10 +6130,16 @@
|
@@ -6027,10 +6145,16 @@
|
||||||
this.#handleTabMove(
|
this.#handleTabMove(
|
||||||
element,
|
element,
|
||||||
() => {
|
() => {
|
||||||
@@ -609,7 +609,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
if (neighbor && this.isTab(element) && tabIndex > element._tPos) {
|
if (neighbor && this.isTab(element) && tabIndex > element._tPos) {
|
||||||
neighbor.after(element);
|
neighbor.after(element);
|
||||||
} else {
|
} else {
|
||||||
@@ -6084,17 +6208,29 @@
|
@@ -6099,17 +6223,29 @@
|
||||||
targetElement = targetElement.group;
|
targetElement = targetElement.group;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -643,7 +643,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
if (element.pinned && this.tabContainer.verticalMode) {
|
if (element.pinned && this.tabContainer.verticalMode) {
|
||||||
return this.tabContainer.verticalPinnedTabsContainer;
|
return this.tabContainer.verticalPinnedTabsContainer;
|
||||||
}
|
}
|
||||||
@@ -6154,7 +6290,7 @@
|
@@ -6169,7 +6305,7 @@
|
||||||
if (!this.isTab(aTab)) {
|
if (!this.isTab(aTab)) {
|
||||||
throw new Error("Can only move a tab into a tab group");
|
throw new Error("Can only move a tab into a tab group");
|
||||||
}
|
}
|
||||||
@@ -652,7 +652,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (aTab.group && aTab.group.id === aGroup.id) {
|
if (aTab.group && aTab.group.id === aGroup.id) {
|
||||||
@@ -6248,6 +6384,10 @@
|
@@ -6263,6 +6399,10 @@
|
||||||
|
|
||||||
moveActionCallback();
|
moveActionCallback();
|
||||||
|
|
||||||
@@ -663,7 +663,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
// Clear tabs cache after moving nodes because the order of tabs may have
|
// Clear tabs cache after moving nodes because the order of tabs may have
|
||||||
// changed.
|
// changed.
|
||||||
this.tabContainer._invalidateCachedTabs();
|
this.tabContainer._invalidateCachedTabs();
|
||||||
@@ -7145,7 +7285,7 @@
|
@@ -7160,7 +7300,7 @@
|
||||||
// preventDefault(). It will still raise the window if appropriate.
|
// preventDefault(). It will still raise the window if appropriate.
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -672,7 +672,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
window.focus();
|
window.focus();
|
||||||
aEvent.preventDefault();
|
aEvent.preventDefault();
|
||||||
break;
|
break;
|
||||||
@@ -8044,6 +8184,7 @@
|
@@ -8059,6 +8199,7 @@
|
||||||
aWebProgress.isTopLevel
|
aWebProgress.isTopLevel
|
||||||
) {
|
) {
|
||||||
this.mTab.setAttribute("busy", "true");
|
this.mTab.setAttribute("busy", "true");
|
||||||
@@ -680,7 +680,7 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
||||||
this.mTab._notselectedsinceload = !this.mTab.selected;
|
this.mTab._notselectedsinceload = !this.mTab.selected;
|
||||||
}
|
}
|
||||||
@@ -9009,7 +9150,7 @@ var TabContextMenu = {
|
@@ -9022,7 +9163,7 @@ var TabContextMenu = {
|
||||||
);
|
);
|
||||||
contextUnpinSelectedTabs.hidden =
|
contextUnpinSelectedTabs.hidden =
|
||||||
!this.contextTab.pinned || !this.multiselected;
|
!this.contextTab.pinned || !this.multiselected;
|
||||||
@@ -689,11 +689,11 @@ index d5aa64842a35c6697263c63fd3a0571b64b01344..e8f37acf7761adb7bd97cb06dc1df386
|
|||||||
// Move Tab items
|
// Move Tab items
|
||||||
let contextMoveTabOptions = document.getElementById(
|
let contextMoveTabOptions = document.getElementById(
|
||||||
"context_moveTabOptions"
|
"context_moveTabOptions"
|
||||||
@@ -9278,6 +9419,7 @@ var TabContextMenu = {
|
@@ -9298,6 +9439,7 @@ var TabContextMenu = {
|
||||||
telemetrySource: gBrowser.TabMetrics.METRIC_SOURCE.TAB_STRIP,
|
)
|
||||||
});
|
);
|
||||||
} else {
|
} else {
|
||||||
+ gZenPinnedTabManager._removePinnedAttributes(this.contextTab, true);
|
+ gZenPinnedTabManager._removePinnedAttributes(this.contextTab, true);
|
||||||
gBrowser.removeTab(this.contextTab, {
|
gBrowser.removeTab(this.contextTab, {
|
||||||
animate: true,
|
animate: true,
|
||||||
telemetrySource: gBrowser.TabMetrics.METRIC_SOURCE.TAB_STRIP,
|
...gBrowser.TabMetrics.userTriggeredContext(
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
|
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
|
||||||
index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783eae31cc79a 100644
|
index 67bba60cfc21b940f263e1eb26b8b5429355660f..9f73966429d8e82bb9ef0af73a996c8cff230eab 100644
|
||||||
--- a/browser/components/tabbrowser/content/tabs.js
|
--- a/browser/components/tabbrowser/content/tabs.js
|
||||||
+++ b/browser/components/tabbrowser/content/tabs.js
|
+++ b/browser/components/tabbrowser/content/tabs.js
|
||||||
@@ -83,7 +83,7 @@
|
@@ -83,7 +83,7 @@
|
||||||
@@ -46,7 +46,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
expandGroupOnDrop = true;
|
expandGroupOnDrop = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -868,7 +869,7 @@
|
@@ -871,7 +872,7 @@
|
||||||
? event.screenY - window.screenY - tabOffset
|
? event.screenY - window.screenY - tabOffset
|
||||||
: event.screenY - window.screenY,
|
: event.screenY - window.screenY,
|
||||||
scrollPos:
|
scrollPos:
|
||||||
@@ -55,7 +55,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
? this.verticalPinnedTabsContainer.scrollPosition
|
? this.verticalPinnedTabsContainer.scrollPosition
|
||||||
: this.arrowScrollbox.scrollPosition,
|
: this.arrowScrollbox.scrollPosition,
|
||||||
screenX: event.screenX,
|
screenX: event.screenX,
|
||||||
@@ -921,6 +922,10 @@
|
@@ -925,6 +926,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0);
|
let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0);
|
||||||
@@ -66,7 +66,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
if (
|
if (
|
||||||
(effects == "move" || effects == "copy") &&
|
(effects == "move" || effects == "copy") &&
|
||||||
document == draggedTab.ownerDocument &&
|
document == draggedTab.ownerDocument &&
|
||||||
@@ -1077,6 +1082,18 @@
|
@@ -1081,6 +1086,18 @@
|
||||||
|
|
||||||
this._tabDropIndicator.hidden = true;
|
this._tabDropIndicator.hidden = true;
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
@@ -85,7 +85,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
if (draggedTab && dropEffect == "copy") {
|
if (draggedTab && dropEffect == "copy") {
|
||||||
let duplicatedDraggedTab;
|
let duplicatedDraggedTab;
|
||||||
let duplicatedTabs = [];
|
let duplicatedTabs = [];
|
||||||
@@ -1116,10 +1133,11 @@
|
@@ -1120,10 +1137,11 @@
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let isPinned = draggedTab.pinned;
|
let isPinned = draggedTab.pinned;
|
||||||
@@ -100,7 +100,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
);
|
);
|
||||||
let size = this.verticalMode ? "height" : "width";
|
let size = this.verticalMode ? "height" : "width";
|
||||||
let screenAxis = this.verticalMode ? "screenY" : "screenX";
|
let screenAxis = this.verticalMode ? "screenY" : "screenX";
|
||||||
@@ -1168,7 +1186,7 @@
|
@@ -1172,7 +1190,7 @@
|
||||||
(oldTranslateX && oldTranslateX != newTranslateX) ||
|
(oldTranslateX && oldTranslateX != newTranslateX) ||
|
||||||
(oldTranslateY && oldTranslateY != newTranslateY);
|
(oldTranslateY && oldTranslateY != newTranslateY);
|
||||||
} else if (this.verticalMode) {
|
} else if (this.verticalMode) {
|
||||||
@@ -109,7 +109,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
} else {
|
} else {
|
||||||
shouldTranslate &&= oldTranslateX && oldTranslateX != newTranslateX;
|
shouldTranslate &&= oldTranslateX && oldTranslateX != newTranslateX;
|
||||||
}
|
}
|
||||||
@@ -1337,6 +1355,7 @@
|
@@ -1341,6 +1359,7 @@
|
||||||
|
|
||||||
let nextItem = this.ariaFocusableItems[newIndex];
|
let nextItem = this.ariaFocusableItems[newIndex];
|
||||||
let tabGroup = isTab(nextItem) && nextItem.group;
|
let tabGroup = isTab(nextItem) && nextItem.group;
|
||||||
@@ -117,7 +117,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
gBrowser.loadTabs(urls, {
|
gBrowser.loadTabs(urls, {
|
||||||
inBackground,
|
inBackground,
|
||||||
replace,
|
replace,
|
||||||
@@ -1369,6 +1388,17 @@
|
@@ -1373,6 +1392,17 @@
|
||||||
|
|
||||||
this.finishMoveTogetherSelectedTabs(draggedTab);
|
this.finishMoveTogetherSelectedTabs(draggedTab);
|
||||||
this.finishAnimateTabMove();
|
this.finishAnimateTabMove();
|
||||||
@@ -135,7 +135,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
this.#expandGroupOnDrop(draggedTab);
|
this.#expandGroupOnDrop(draggedTab);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
@@ -1597,7 +1627,7 @@
|
@@ -1601,7 +1631,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
get newTabButton() {
|
get newTabButton() {
|
||||||
@@ -144,7 +144,15 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
}
|
}
|
||||||
|
|
||||||
get verticalMode() {
|
get verticalMode() {
|
||||||
@@ -1621,29 +1651,54 @@
|
@@ -1617,6 +1647,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
get overflowing() {
|
||||||
|
+ gZenWorkspaces.updateOverflowingTabs();
|
||||||
|
return this.hasAttribute("overflow");
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1625,29 +1656,54 @@
|
||||||
if (this.#allTabs) {
|
if (this.#allTabs) {
|
||||||
return this.#allTabs;
|
return this.#allTabs;
|
||||||
}
|
}
|
||||||
@@ -207,7 +215,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1698,23 +1753,18 @@
|
@@ -1702,23 +1758,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
let elementIndex = 0;
|
let elementIndex = 0;
|
||||||
@@ -235,7 +243,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
let visibleTabsInGroup = child.tabs.filter(tab => tab.visible);
|
let visibleTabsInGroup = child.tabs.filter(tab => tab.visible);
|
||||||
visibleTabsInGroup.forEach(tab => {
|
visibleTabsInGroup.forEach(tab => {
|
||||||
tab.elementIndex = elementIndex++;
|
tab.elementIndex = elementIndex++;
|
||||||
@@ -1724,10 +1774,7 @@
|
@@ -1728,10 +1779,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -247,7 +255,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
|
|
||||||
return this.#focusableItems;
|
return this.#focusableItems;
|
||||||
}
|
}
|
||||||
@@ -1735,6 +1782,7 @@
|
@@ -1739,6 +1787,7 @@
|
||||||
_invalidateCachedTabs() {
|
_invalidateCachedTabs() {
|
||||||
this.#allTabs = null;
|
this.#allTabs = null;
|
||||||
this._invalidateCachedVisibleTabs();
|
this._invalidateCachedVisibleTabs();
|
||||||
@@ -255,7 +263,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
}
|
}
|
||||||
|
|
||||||
_invalidateCachedVisibleTabs() {
|
_invalidateCachedVisibleTabs() {
|
||||||
@@ -1749,8 +1797,8 @@
|
@@ -1753,8 +1802,8 @@
|
||||||
#isContainerVerticalPinnedGrid(tab) {
|
#isContainerVerticalPinnedGrid(tab) {
|
||||||
return (
|
return (
|
||||||
this.verticalMode &&
|
this.verticalMode &&
|
||||||
@@ -266,7 +274,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
!this.expandOnHover
|
!this.expandOnHover
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -1766,7 +1814,7 @@
|
@@ -1770,7 +1819,7 @@
|
||||||
|
|
||||||
if (node == null) {
|
if (node == null) {
|
||||||
// We have a container for non-tab elements at the end of the scrollbox.
|
// We have a container for non-tab elements at the end of the scrollbox.
|
||||||
@@ -275,7 +283,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
}
|
}
|
||||||
|
|
||||||
node.before(tab);
|
node.before(tab);
|
||||||
@@ -1861,7 +1909,7 @@
|
@@ -1865,7 +1914,7 @@
|
||||||
// There are separate "new tab" buttons for horizontal tabs toolbar, vertical tabs and
|
// There are separate "new tab" buttons for horizontal tabs toolbar, vertical tabs and
|
||||||
// for when the tab strip is overflowed (which is shared by vertical and horizontal tabs);
|
// for when the tab strip is overflowed (which is shared by vertical and horizontal tabs);
|
||||||
// Attach the long click popup to all of them.
|
// Attach the long click popup to all of them.
|
||||||
@@ -284,7 +292,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
const newTab2 = this.newTabButton;
|
const newTab2 = this.newTabButton;
|
||||||
const newTabVertical = document.getElementById(
|
const newTabVertical = document.getElementById(
|
||||||
"vertical-tabs-newtab-button"
|
"vertical-tabs-newtab-button"
|
||||||
@@ -1956,10 +2004,12 @@
|
@@ -1960,10 +2009,12 @@
|
||||||
|
|
||||||
_handleTabSelect(aInstant) {
|
_handleTabSelect(aInstant) {
|
||||||
let selectedTab = this.selectedItem;
|
let selectedTab = this.selectedItem;
|
||||||
@@ -297,7 +305,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
selectedTab._notselectedsinceload = false;
|
selectedTab._notselectedsinceload = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2132,6 +2182,7 @@
|
@@ -2136,6 +2187,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
_positionPinnedTabs() {
|
_positionPinnedTabs() {
|
||||||
@@ -305,7 +313,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
let tabs = this.visibleTabs;
|
let tabs = this.visibleTabs;
|
||||||
let numPinned = gBrowser.pinnedTabCount;
|
let numPinned = gBrowser.pinnedTabCount;
|
||||||
let absPositionHorizontalTabs =
|
let absPositionHorizontalTabs =
|
||||||
@@ -2206,7 +2257,7 @@
|
@@ -2210,7 +2262,7 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -314,7 +322,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
|
|
||||||
let directionX = screenX > dragData.animLastScreenX;
|
let directionX = screenX > dragData.animLastScreenX;
|
||||||
let directionY = screenY > dragData.animLastScreenY;
|
let directionY = screenY > dragData.animLastScreenY;
|
||||||
@@ -2215,6 +2266,8 @@
|
@@ -2219,6 +2271,8 @@
|
||||||
|
|
||||||
let { width: tabWidth, height: tabHeight } =
|
let { width: tabWidth, height: tabHeight } =
|
||||||
draggedTab.getBoundingClientRect();
|
draggedTab.getBoundingClientRect();
|
||||||
@@ -323,7 +331,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
let shiftSizeX = tabWidth * movingTabs.length;
|
let shiftSizeX = tabWidth * movingTabs.length;
|
||||||
let shiftSizeY = tabHeight;
|
let shiftSizeY = tabHeight;
|
||||||
dragData.tabWidth = tabWidth;
|
dragData.tabWidth = tabWidth;
|
||||||
@@ -2244,7 +2297,7 @@
|
@@ -2248,7 +2302,7 @@
|
||||||
let translateX = screenX - dragData.screenX;
|
let translateX = screenX - dragData.screenX;
|
||||||
let translateY = screenY - dragData.screenY;
|
let translateY = screenY - dragData.screenY;
|
||||||
translateY +=
|
translateY +=
|
||||||
@@ -332,7 +340,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
let firstBoundX = firstTabInRow.screenX - firstMovingTabScreenX;
|
let firstBoundX = firstTabInRow.screenX - firstMovingTabScreenX;
|
||||||
let firstBoundY = firstTabInRow.screenY - firstMovingTabScreenY;
|
let firstBoundY = firstTabInRow.screenY - firstMovingTabScreenY;
|
||||||
let lastBoundX =
|
let lastBoundX =
|
||||||
@@ -2389,12 +2442,16 @@
|
@@ -2394,12 +2448,16 @@
|
||||||
|
|
||||||
this.#clearDragOverCreateGroupTimer();
|
this.#clearDragOverCreateGroupTimer();
|
||||||
|
|
||||||
@@ -353,7 +361,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
|
|
||||||
if (this.#rtlMode) {
|
if (this.#rtlMode) {
|
||||||
tabs.reverse();
|
tabs.reverse();
|
||||||
@@ -2408,7 +2465,7 @@
|
@@ -2413,7 +2471,7 @@
|
||||||
let size = this.verticalMode ? "height" : "width";
|
let size = this.verticalMode ? "height" : "width";
|
||||||
let translateAxis = this.verticalMode ? "translateY" : "translateX";
|
let translateAxis = this.verticalMode ? "translateY" : "translateX";
|
||||||
let scrollDirection = this.verticalMode ? "scrollTop" : "scrollLeft";
|
let scrollDirection = this.verticalMode ? "scrollTop" : "scrollLeft";
|
||||||
@@ -362,7 +370,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
let translateX = event.screenX - dragData.screenX;
|
let translateX = event.screenX - dragData.screenX;
|
||||||
let translateY = event.screenY - dragData.screenY;
|
let translateY = event.screenY - dragData.screenY;
|
||||||
|
|
||||||
@@ -2422,12 +2479,21 @@
|
@@ -2427,12 +2485,21 @@
|
||||||
let lastTab = tabs.at(-1);
|
let lastTab = tabs.at(-1);
|
||||||
let lastMovingTab = movingTabs.at(-1);
|
let lastMovingTab = movingTabs.at(-1);
|
||||||
let firstMovingTab = movingTabs[0];
|
let firstMovingTab = movingTabs[0];
|
||||||
@@ -385,7 +393,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
translate +=
|
translate +=
|
||||||
this.arrowScrollbox.scrollbox[scrollDirection] - dragData.scrollPos;
|
this.arrowScrollbox.scrollbox[scrollDirection] - dragData.scrollPos;
|
||||||
} else if (isPinned && this.verticalMode) {
|
} else if (isPinned && this.verticalMode) {
|
||||||
@@ -2446,6 +2512,9 @@
|
@@ -2451,6 +2518,9 @@
|
||||||
// Shift the `.tab-group-label-container` to shift the label element.
|
// Shift the `.tab-group-label-container` to shift the label element.
|
||||||
item = item.parentElement;
|
item = item.parentElement;
|
||||||
}
|
}
|
||||||
@@ -395,7 +403,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
item.style.transform = `${translateAxis}(${translate}px)`;
|
item.style.transform = `${translateAxis}(${translate}px)`;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2583,6 +2652,9 @@
|
@@ -2588,6 +2658,9 @@
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
let element = tabs[mid];
|
let element = tabs[mid];
|
||||||
@@ -405,18 +413,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
let elementForSize = isTabGroupLabel(element)
|
let elementForSize = isTabGroupLabel(element)
|
||||||
? element.parentElement
|
? element.parentElement
|
||||||
: element;
|
: element;
|
||||||
@@ -2605,6 +2677,10 @@
|
@@ -2664,7 +2737,7 @@
|
||||||
if (!dropElement) {
|
|
||||||
dropElement = this.ariaFocusableItems[oldDropElementIndex];
|
|
||||||
}
|
|
||||||
+ if (dropElement?.group?.hasAttribute("split-view-group")) {
|
|
||||||
+ // We focus the group label element, not the group itself.
|
|
||||||
+ dropElement = dropElement.group.labelElement;
|
|
||||||
+ }
|
|
||||||
let newDropElementIndex = dropElement
|
|
||||||
? dropElement.elementIndex
|
|
||||||
: oldDropElementIndex;
|
|
||||||
@@ -2613,7 +2689,7 @@
|
|
||||||
let shouldCreateGroupOnDrop;
|
let shouldCreateGroupOnDrop;
|
||||||
let dropBefore;
|
let dropBefore;
|
||||||
if (dropElement) {
|
if (dropElement) {
|
||||||
@@ -425,7 +422,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
? dropElement.parentElement
|
? dropElement.parentElement
|
||||||
: dropElement;
|
: dropElement;
|
||||||
|
|
||||||
@@ -2675,12 +2751,12 @@
|
@@ -2726,12 +2799,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -437,10 +434,10 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
// that dropping the tab(s) will create a new tab group.
|
// that dropping the tab(s) will create a new tab group.
|
||||||
- shouldCreateGroupOnDrop =
|
- shouldCreateGroupOnDrop =
|
||||||
+ shouldCreateGroupOnDrop = false &&
|
+ shouldCreateGroupOnDrop = false &&
|
||||||
dropElement != draggedTab &&
|
|
||||||
isTab(dropElement) &&
|
isTab(dropElement) &&
|
||||||
!dropElement?.group &&
|
!dropElement?.group &&
|
||||||
@@ -2720,7 +2796,7 @@
|
overlapPercent > dragOverGroupingThreshold;
|
||||||
|
@@ -2773,7 +2846,7 @@
|
||||||
// Dropping right before the tab group.
|
// Dropping right before the tab group.
|
||||||
dropElement = dropElementGroup;
|
dropElement = dropElementGroup;
|
||||||
colorCode = undefined;
|
colorCode = undefined;
|
||||||
@@ -449,7 +446,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
// Dropping right after the collapsed tab group.
|
// Dropping right after the collapsed tab group.
|
||||||
dropElement = dropElementGroup;
|
dropElement = dropElementGroup;
|
||||||
colorCode = undefined;
|
colorCode = undefined;
|
||||||
@@ -2750,7 +2826,7 @@
|
@@ -2803,7 +2876,7 @@
|
||||||
// Shift background tabs to leave a gap where the dragged tab
|
// Shift background tabs to leave a gap where the dragged tab
|
||||||
// would currently be dropped.
|
// would currently be dropped.
|
||||||
for (let item of tabs) {
|
for (let item of tabs) {
|
||||||
@@ -458,7 +455,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2759,6 +2835,9 @@
|
@@ -2812,6 +2885,9 @@
|
||||||
if (isTabGroupLabel(item)) {
|
if (isTabGroupLabel(item)) {
|
||||||
// Shift the `.tab-group-label-container` to shift the label element.
|
// Shift the `.tab-group-label-container` to shift the label element.
|
||||||
item = item.parentElement;
|
item = item.parentElement;
|
||||||
@@ -468,7 +465,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
}
|
}
|
||||||
item.style.transform = transform;
|
item.style.transform = transform;
|
||||||
}
|
}
|
||||||
@@ -2811,8 +2890,9 @@
|
@@ -2864,8 +2940,9 @@
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -480,7 +477,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2824,6 +2904,12 @@
|
@@ -2877,6 +2954,12 @@
|
||||||
item = item.parentElement;
|
item = item.parentElement;
|
||||||
}
|
}
|
||||||
item.style.transform = "";
|
item.style.transform = "";
|
||||||
@@ -493,7 +490,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
item.removeAttribute("dragover-createGroup");
|
item.removeAttribute("dragover-createGroup");
|
||||||
}
|
}
|
||||||
this.removeAttribute("movingtab-createGroup");
|
this.removeAttribute("movingtab-createGroup");
|
||||||
@@ -2870,7 +2956,7 @@
|
@@ -2923,7 +3006,7 @@
|
||||||
let postTransitionCleanup = () => {
|
let postTransitionCleanup = () => {
|
||||||
movingTab._moveTogetherSelectedTabsData.animate = false;
|
movingTab._moveTogetherSelectedTabsData.animate = false;
|
||||||
};
|
};
|
||||||
@@ -502,7 +499,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
postTransitionCleanup();
|
postTransitionCleanup();
|
||||||
} else {
|
} else {
|
||||||
let onTransitionEnd = transitionendEvent => {
|
let onTransitionEnd = transitionendEvent => {
|
||||||
@@ -3043,7 +3129,7 @@
|
@@ -3096,7 +3179,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
_notifyBackgroundTab(aTab) {
|
_notifyBackgroundTab(aTab) {
|
||||||
@@ -511,7 +508,7 @@ index 84d633471c89230b981d8a07babef4e0c76c0338..37ebb0a715629d372fb8054bcd8783ea
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3169,6 +3255,9 @@
|
@@ -3222,6 +3305,9 @@
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,13 +0,0 @@
|
|||||||
diff --git a/browser/extensions/newtab/lib/AboutPreferences.sys.mjs b/browser/extensions/newtab/lib/AboutPreferences.sys.mjs
|
|
||||||
index a325becabddda511204fc5bd2022edc332cdde7c..6bb29b21f1e6c1d6ea3d38d50f01148e0a51f0d7 100644
|
|
||||||
--- a/browser/extensions/newtab/lib/AboutPreferences.sys.mjs
|
|
||||||
+++ b/browser/extensions/newtab/lib/AboutPreferences.sys.mjs
|
|
||||||
@@ -52,7 +52,7 @@ const PREFS_BEFORE_SECTIONS = () => [
|
|
||||||
titleString: "home-prefs-shortcuts-header",
|
|
||||||
descString: "home-prefs-shortcuts-description",
|
|
||||||
get nestedPrefs() {
|
|
||||||
- return Services.prefs.getBoolPref("browser.topsites.useRemoteSetting")
|
|
||||||
+ return Services.prefs.getBoolPref("browser.topsites.useRemoteSetting") && false
|
|
||||||
? [
|
|
||||||
{
|
|
||||||
name: "showSponsoredTopSites",
|
|
@@ -249,37 +249,6 @@ groupbox h2 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.zenLooksAndFeelColorOption {
|
|
||||||
width: 60px;
|
|
||||||
height: 60px;
|
|
||||||
border-radius: 50%;
|
|
||||||
background: var(--zen-primary-color);
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.zenLooksAndFeelColorOption::before {
|
|
||||||
content: '';
|
|
||||||
display: block;
|
|
||||||
width: 50%;
|
|
||||||
height: 50%;
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
position: absolute;
|
|
||||||
background: var(--zen-colors-secondary);
|
|
||||||
}
|
|
||||||
|
|
||||||
.zenLooksAndFeelColorOption::after {
|
|
||||||
content: '';
|
|
||||||
display: block;
|
|
||||||
width: 50%;
|
|
||||||
height: 50%;
|
|
||||||
bottom: 0;
|
|
||||||
right: 0;
|
|
||||||
position: absolute;
|
|
||||||
background: var(--zen-colors-tertiary);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Workspace */
|
/* Workspace */
|
||||||
|
|
||||||
#category-zen-tabs-management > .category-icon {
|
#category-zen-tabs-management > .category-icon {
|
||||||
@@ -622,7 +591,9 @@ groupbox h2 {
|
|||||||
#dataCollectionCategory,
|
#dataCollectionCategory,
|
||||||
#dataCollectionGroup,
|
#dataCollectionGroup,
|
||||||
#websiteAdvertisingCategory,
|
#websiteAdvertisingCategory,
|
||||||
#websiteAdvertisingGroup {
|
#websiteAdvertisingGroup,
|
||||||
|
#webAppearanceGroup,
|
||||||
|
#helpButton {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
|
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
|
||||||
index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272ede59857 100644
|
index d7d9a40e8c473fa3b06f5bbc743e851a392ea8fa..c5b3f015caf666dad800432828a8c615e8353936 100644
|
||||||
--- a/browser/themes/shared/tabbrowser/tabs.css
|
--- a/browser/themes/shared/tabbrowser/tabs.css
|
||||||
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
||||||
@@ -19,7 +19,7 @@
|
@@ -19,7 +19,7 @@
|
||||||
@@ -11,16 +11,19 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
--tab-collapsed-width: calc(var(--tab-collapsed-background-width) + 2 * var(--tab-inner-inline-margin));
|
--tab-collapsed-width: calc(var(--tab-collapsed-background-width) + 2 * var(--tab-inner-inline-margin));
|
||||||
--tab-inner-inline-margin: var(--space-medium);
|
--tab-inner-inline-margin: var(--space-medium);
|
||||||
--tab-inline-padding: 8px;
|
--tab-inline-padding: 8px;
|
||||||
@@ -33,7 +33,7 @@
|
@@ -33,9 +33,9 @@
|
||||||
--tab-block-margin: 4px;
|
--tab-block-margin: 4px;
|
||||||
--tab-icon-end-margin: 5.5px;
|
--tab-icon-end-margin: 5.5px;
|
||||||
--tab-label-line-height: 1.7;
|
--tab-label-line-height: 1.7;
|
||||||
- --tab-loading-fill: #0A84FF;
|
- --tab-loading-fill: #0A84FF;
|
||||||
+ --tab-loading-fill: var(--zen-primary-color);
|
+ --tab-loading-fill: var(--zen-primary-color);
|
||||||
--tab-hover-background-color: color-mix(in srgb, currentColor 11%, transparent);
|
--tab-hover-background-color: color-mix(in srgb, currentColor 11%, transparent);
|
||||||
--tab-selected-textcolor: var(--toolbar-color);
|
- --tab-selected-textcolor: var(--toolbar-color);
|
||||||
|
+ --tab-selected-textcolor: currentColor;
|
||||||
--tab-selected-bgcolor: var(--toolbar-bgcolor);
|
--tab-selected-bgcolor: var(--toolbar-bgcolor);
|
||||||
@@ -211,8 +211,7 @@
|
--tab-selected-color-scheme: var(--toolbar-color-scheme);
|
||||||
|
&[lwt-tab-selected="light"] {
|
||||||
|
@@ -216,8 +216,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > &[pinned] {
|
#tabbrowser-tabs[positionpinnedtabs] > #tabbrowser-arrowscrollbox > &[pinned] {
|
||||||
@@ -30,7 +33,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabs[movingtab] &:is(:active, [multiselected]) {
|
#tabbrowser-tabs[movingtab] &:is(:active, [multiselected]) {
|
||||||
@@ -258,7 +257,6 @@
|
@@ -263,7 +262,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
:root:not([uidensity=compact], [sidebar-expand-on-hover]) &[pinned] {
|
:root:not([uidensity=compact], [sidebar-expand-on-hover]) &[pinned] {
|
||||||
@@ -38,7 +41,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:is([selected], [multiselected]) {
|
&:is([selected], [multiselected]) {
|
||||||
@@ -272,6 +270,7 @@
|
@@ -277,6 +275,7 @@
|
||||||
border-radius: inherit;
|
border-radius: inherit;
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@@ -46,7 +49,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -459,14 +458,11 @@
|
@@ -464,14 +463,11 @@
|
||||||
.tab-icon-image {
|
.tab-icon-image {
|
||||||
-moz-context-properties: fill, stroke;
|
-moz-context-properties: fill, stroke;
|
||||||
fill: currentColor;
|
fill: currentColor;
|
||||||
@@ -62,7 +65,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
/* Fade the favicon out */
|
/* Fade the favicon out */
|
||||||
transition-property: filter, opacity;
|
transition-property: filter, opacity;
|
||||||
@@ -483,10 +479,6 @@
|
@@ -488,10 +484,6 @@
|
||||||
/* stylelint-disable-next-line media-query-no-invalid */
|
/* stylelint-disable-next-line media-query-no-invalid */
|
||||||
@media -moz-pref("browser.tabs.fadeOutExplicitlyUnloadedTabs") {
|
@media -moz-pref("browser.tabs.fadeOutExplicitlyUnloadedTabs") {
|
||||||
&[pending][discarded] {
|
&[pending][discarded] {
|
||||||
@@ -73,7 +76,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
/* Fade the favicon out */
|
/* Fade the favicon out */
|
||||||
transition-property: filter, opacity;
|
transition-property: filter, opacity;
|
||||||
@@ -559,7 +551,7 @@
|
@@ -564,7 +556,7 @@
|
||||||
z-index: 1; /* Overlay tab title */
|
z-index: 1; /* Overlay tab title */
|
||||||
|
|
||||||
#tabbrowser-tabs[orient=vertical] & {
|
#tabbrowser-tabs[orient=vertical] & {
|
||||||
@@ -82,7 +85,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
}
|
}
|
||||||
|
|
||||||
&[crashed] {
|
&[crashed] {
|
||||||
@@ -567,7 +559,7 @@
|
@@ -572,7 +564,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabs[orient="vertical"]:not([expanded]) &:not([crashed]),
|
#tabbrowser-tabs[orient="vertical"]:not([expanded]) &:not([crashed]),
|
||||||
@@ -91,7 +94,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
&[soundplaying] {
|
&[soundplaying] {
|
||||||
list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-playing-small.svg");
|
list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-playing-small.svg");
|
||||||
}
|
}
|
||||||
@@ -597,7 +589,7 @@
|
@@ -602,7 +594,7 @@
|
||||||
background-image: linear-gradient(var(--audio-overlay-extra-background)),
|
background-image: linear-gradient(var(--audio-overlay-extra-background)),
|
||||||
linear-gradient(var(--toolbox-bgcolor));
|
linear-gradient(var(--toolbox-bgcolor));
|
||||||
-moz-context-properties: fill;
|
-moz-context-properties: fill;
|
||||||
@@ -100,7 +103,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
color-scheme: var(--tab-selected-color-scheme);
|
color-scheme: var(--tab-selected-color-scheme);
|
||||||
border-radius: var(--border-radius-circle);
|
border-radius: var(--border-radius-circle);
|
||||||
|
|
||||||
@@ -1365,7 +1357,7 @@ tab-group {
|
@@ -1373,7 +1365,7 @@ tab-group {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,7 +112,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
#vertical-tabs-newtab-button {
|
#vertical-tabs-newtab-button {
|
||||||
appearance: none;
|
appearance: none;
|
||||||
min-height: var(--tab-min-height);
|
min-height: var(--tab-min-height);
|
||||||
@@ -1376,7 +1368,7 @@ tab-group {
|
@@ -1384,7 +1376,7 @@ tab-group {
|
||||||
margin-inline: var(--tab-inner-inline-margin);
|
margin-inline: var(--tab-inner-inline-margin);
|
||||||
|
|
||||||
#tabbrowser-tabs[orient="vertical"]:not([expanded]) & > .toolbarbutton-text {
|
#tabbrowser-tabs[orient="vertical"]:not([expanded]) & > .toolbarbutton-text {
|
||||||
@@ -118,7 +121,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
@@ -1400,7 +1392,7 @@ tab-group {
|
@@ -1408,7 +1400,7 @@ tab-group {
|
||||||
* flex container. #tabs-newtab-button is a child of the arrowscrollbox where
|
* flex container. #tabs-newtab-button is a child of the arrowscrollbox where
|
||||||
* we don't want a gap (between tabs), so we have to add some margin.
|
* we don't want a gap (between tabs), so we have to add some margin.
|
||||||
*/
|
*/
|
||||||
@@ -127,7 +130,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
margin-block: var(--tab-block-margin);
|
margin-block: var(--tab-block-margin);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1474,8 +1466,6 @@ tab-group {
|
@@ -1486,8 +1478,6 @@ tab-group {
|
||||||
}
|
}
|
||||||
|
|
||||||
:root:not([sidebar-expand-on-hover]) & {
|
:root:not([sidebar-expand-on-hover]) & {
|
||||||
@@ -136,7 +139,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
/* stylelint-disable-next-line media-query-no-invalid */
|
/* stylelint-disable-next-line media-query-no-invalid */
|
||||||
@media not -moz-pref("sidebar.visibility", "expand-on-hover") {
|
@media not -moz-pref("sidebar.visibility", "expand-on-hover") {
|
||||||
/* We need these rules to apply at all times when the sidebar.visibility
|
/* We need these rules to apply at all times when the sidebar.visibility
|
||||||
@@ -1585,7 +1575,6 @@ tab-group {
|
@@ -1605,7 +1595,6 @@ tab-group {
|
||||||
|
|
||||||
&:not([expanded]) {
|
&:not([expanded]) {
|
||||||
.tabbrowser-tab[pinned] {
|
.tabbrowser-tab[pinned] {
|
||||||
@@ -144,7 +147,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
}
|
}
|
||||||
|
|
||||||
.tab-background {
|
.tab-background {
|
||||||
@@ -1716,7 +1705,7 @@ tab-group {
|
@@ -1736,7 +1725,7 @@ tab-group {
|
||||||
toolbarbutton:not(#firefox-view-button),
|
toolbarbutton:not(#firefox-view-button),
|
||||||
toolbarpaletteitem:not(#wrapper-firefox-view-button)
|
toolbarpaletteitem:not(#wrapper-firefox-view-button)
|
||||||
) ~ #tabbrowser-tabs {
|
) ~ #tabbrowser-tabs {
|
||||||
@@ -153,7 +156,7 @@ index 5b9ad123d819c6ef068acd427416957a1d0939fe..543d42dab2d84593f491a5652fcfe272
|
|||||||
padding-inline-start: calc(var(--tab-overflow-pinned-tabs-width) + 2px);
|
padding-inline-start: calc(var(--tab-overflow-pinned-tabs-width) + 2px);
|
||||||
margin-inline-start: 2px;
|
margin-inline-start: 2px;
|
||||||
}
|
}
|
||||||
@@ -1750,7 +1739,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
|
@@ -1770,7 +1759,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
|
||||||
list-style-image: url(chrome://global/skin/icons/plus.svg);
|
list-style-image: url(chrome://global/skin/icons/plus.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,8 +16,7 @@
|
|||||||
border-radius: 100% !important;
|
border-radius: 100% !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#back-button,
|
#back-button {
|
||||||
#zen-sidebar-web-panel-back {
|
|
||||||
list-style-image: url('back.svg') !important;
|
list-style-image: url('back.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,19 +24,16 @@
|
|||||||
list-style-image: url('move-tab.svg') !important;
|
list-style-image: url('move-tab.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#forward-button,
|
#forward-button {
|
||||||
#zen-sidebar-web-panel-forward {
|
|
||||||
list-style-image: url('forward.svg') !important;
|
list-style-image: url('forward.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#reload-button,
|
#reload-button {
|
||||||
#zen-sidebar-web-panel-reload {
|
|
||||||
list-style-image: url('reload.svg') !important;
|
list-style-image: url('reload.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#stop-button,
|
#stop-button,
|
||||||
.close-icon,
|
.close-icon,
|
||||||
#zen-sidebar-web-panel-close,
|
|
||||||
#zen-glance-sidebar-close,
|
#zen-glance-sidebar-close,
|
||||||
.zen-theme-picker-custom-list-item-remove {
|
.zen-theme-picker-custom-list-item-remove {
|
||||||
list-style-image: url('close.svg') !important;
|
list-style-image: url('close.svg') !important;
|
||||||
@@ -51,10 +47,6 @@
|
|||||||
list-style-image: url('reload.svg') !important;
|
list-style-image: url('reload.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#PanelUI-zen-gradient-generator-color-toggle-algo {
|
|
||||||
list-style-image: url('palette.svg');
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-reset-button,
|
.tab-reset-button,
|
||||||
#PanelUI-zen-gradient-generator-color-remove {
|
#PanelUI-zen-gradient-generator-color-remove {
|
||||||
list-style-image: url('unpin.svg') !important;
|
list-style-image: url('unpin.svg') !important;
|
||||||
@@ -105,7 +97,8 @@
|
|||||||
list-style-image: url('chevron.svg') !important;
|
list-style-image: url('chevron.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-rice-share-options .options-header {
|
#zen-rice-share-options .options-header,
|
||||||
|
#PanelUI-zen-gradient-generator-color-page-right {
|
||||||
list-style-image: url('arrow-right.svg');
|
list-style-image: url('arrow-right.svg');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,6 +165,7 @@
|
|||||||
|
|
||||||
#add-ons-button,
|
#add-ons-button,
|
||||||
#appMenu-extensions-themes-button,
|
#appMenu-extensions-themes-button,
|
||||||
|
#appMenu-unified-extensions-button,
|
||||||
#unified-extensions-button {
|
#unified-extensions-button {
|
||||||
list-style-image: url('extension.svg') !important;
|
list-style-image: url('extension.svg') !important;
|
||||||
}
|
}
|
||||||
@@ -281,8 +275,7 @@
|
|||||||
list-style-image: url('bookmark-star-on-tray.svg') !important;
|
list-style-image: url('bookmark-star-on-tray.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#home-button,
|
#home-button {
|
||||||
#zen-sidebar-web-panel-home {
|
|
||||||
list-style-image: url('home.svg') !important;
|
list-style-image: url('home.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -405,7 +398,8 @@
|
|||||||
list-style-image: url('expand-sidebar.svg') !important;
|
list-style-image: url('expand-sidebar.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.panel-header > .subviewbutton-back {
|
.panel-header > .subviewbutton-back,
|
||||||
|
#PanelUI-zen-gradient-generator-color-page-left {
|
||||||
list-style-image: url('arrow-left.svg') !important;
|
list-style-image: url('arrow-left.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -600,11 +594,6 @@
|
|||||||
> #reload-button[displaystop]
|
> #reload-button[displaystop]
|
||||||
+ #stop-button
|
+ #stop-button
|
||||||
> .toolbarbutton-animatable-box
|
> .toolbarbutton-animatable-box
|
||||||
> .toolbarbutton-animatable-image,
|
|
||||||
#zen-sidebar-web-panel-reload[animate]
|
|
||||||
> #zen-sidebar-web-panel-reload-button[displaystop]
|
|
||||||
+ #zen-sidebar-web-panel-stop-button
|
|
||||||
> .toolbarbutton-animatable-box
|
|
||||||
> .toolbarbutton-animatable-image {
|
> .toolbarbutton-animatable-image {
|
||||||
background-image: url('reload-to-stop.svg') !important;
|
background-image: url('reload-to-stop.svg') !important;
|
||||||
}
|
}
|
||||||
@@ -612,10 +601,6 @@
|
|||||||
#stop-reload-button[animate]
|
#stop-reload-button[animate]
|
||||||
> #reload-button
|
> #reload-button
|
||||||
> .toolbarbutton-animatable-box
|
> .toolbarbutton-animatable-box
|
||||||
> .toolbarbutton-animatable-image,
|
|
||||||
#zen-sidebar-web-panel-reload[animate]
|
|
||||||
> #zen-sidebar-web-panel-reload-button
|
|
||||||
> .toolbarbutton-animatable-box
|
|
||||||
> .toolbarbutton-animatable-image {
|
> .toolbarbutton-animatable-image {
|
||||||
background-image: url('stop-to-reload.svg') !important;
|
background-image: url('stop-to-reload.svg') !important;
|
||||||
}
|
}
|
||||||
@@ -775,10 +760,40 @@
|
|||||||
border-radius: var(--tab-border-radius);
|
border-radius: var(--tab-border-radius);
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: var(--toolbarbutton-active-background);
|
background: var(--toolbarbutton-hover-background);
|
||||||
}
|
}
|
||||||
|
|
||||||
& image {
|
& image {
|
||||||
background: transparent !important;
|
background: transparent !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#PanelUI-zen-gradient-generator-scheme-auto {
|
||||||
|
list-style-image: url('sparkles.svg');
|
||||||
|
}
|
||||||
|
|
||||||
|
@media -moz-pref('zen.view.window.scheme', 2) {
|
||||||
|
#PanelUI-zen-gradient-generator-scheme-auto {
|
||||||
|
background: light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#PanelUI-zen-gradient-generator-scheme-dark {
|
||||||
|
list-style-image: url('moon-stars.svg');
|
||||||
|
}
|
||||||
|
|
||||||
|
@media -moz-pref('zen.view.window.scheme', 0) {
|
||||||
|
#PanelUI-zen-gradient-generator-scheme-dark {
|
||||||
|
background: light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#PanelUI-zen-gradient-generator-scheme-light {
|
||||||
|
list-style-image: url('face-sun.svg');
|
||||||
|
}
|
||||||
|
|
||||||
|
@media -moz-pref('zen.view.window.scheme', 1) {
|
||||||
|
#PanelUI-zen-gradient-generator-scheme-light {
|
||||||
|
background: light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -35,15 +35,16 @@
|
|||||||
skin/classic/browser/zen-icons/edit-paste.svg (../shared/zen-icons/lin/edit-paste.svg)
|
skin/classic/browser/zen-icons/edit-paste.svg (../shared/zen-icons/lin/edit-paste.svg)
|
||||||
skin/classic/browser/zen-icons/edit-redo.svg (../shared/zen-icons/lin/edit-redo.svg)
|
skin/classic/browser/zen-icons/edit-redo.svg (../shared/zen-icons/lin/edit-redo.svg)
|
||||||
skin/classic/browser/zen-icons/edit-select-all.svg (../shared/zen-icons/lin/edit-select-all.svg)
|
skin/classic/browser/zen-icons/edit-select-all.svg (../shared/zen-icons/lin/edit-select-all.svg)
|
||||||
skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
|
|
||||||
skin/classic/browser/zen-icons/edit-theme.svg (../shared/zen-icons/lin/edit-theme.svg)
|
skin/classic/browser/zen-icons/edit-theme.svg (../shared/zen-icons/lin/edit-theme.svg)
|
||||||
skin/classic/browser/zen-icons/edit-undo.svg (../shared/zen-icons/lin/edit-undo.svg)
|
skin/classic/browser/zen-icons/edit-undo.svg (../shared/zen-icons/lin/edit-undo.svg)
|
||||||
|
skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
|
||||||
skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/lin/essential-add.svg)
|
skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/lin/essential-add.svg)
|
||||||
skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
|
skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
|
||||||
skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
|
skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
|
||||||
|
skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
|
||||||
skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
|
skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
|
||||||
skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
|
skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
|
||||||
skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
|
skin/classic/browser/zen-icons/face-sun.svg (../shared/zen-icons/lin/face-sun.svg)
|
||||||
skin/classic/browser/zen-icons/firefox.svg (../shared/zen-icons/lin/firefox.svg)
|
skin/classic/browser/zen-icons/firefox.svg (../shared/zen-icons/lin/firefox.svg)
|
||||||
skin/classic/browser/zen-icons/folder.svg (../shared/zen-icons/lin/folder.svg)
|
skin/classic/browser/zen-icons/folder.svg (../shared/zen-icons/lin/folder.svg)
|
||||||
skin/classic/browser/zen-icons/forget.svg (../shared/zen-icons/lin/forget.svg)
|
skin/classic/browser/zen-icons/forget.svg (../shared/zen-icons/lin/forget.svg)
|
||||||
@@ -80,6 +81,7 @@
|
|||||||
skin/classic/browser/zen-icons/microphone-fill.svg (../shared/zen-icons/lin/microphone-fill.svg)
|
skin/classic/browser/zen-icons/microphone-fill.svg (../shared/zen-icons/lin/microphone-fill.svg)
|
||||||
skin/classic/browser/zen-icons/microphone.svg (../shared/zen-icons/lin/microphone.svg)
|
skin/classic/browser/zen-icons/microphone.svg (../shared/zen-icons/lin/microphone.svg)
|
||||||
skin/classic/browser/zen-icons/midi.svg (../shared/zen-icons/lin/midi.svg)
|
skin/classic/browser/zen-icons/midi.svg (../shared/zen-icons/lin/midi.svg)
|
||||||
|
skin/classic/browser/zen-icons/moon-stars.svg (../shared/zen-icons/lin/moon-stars.svg)
|
||||||
skin/classic/browser/zen-icons/move-tab.svg (../shared/zen-icons/lin/move-tab.svg)
|
skin/classic/browser/zen-icons/move-tab.svg (../shared/zen-icons/lin/move-tab.svg)
|
||||||
skin/classic/browser/zen-icons/new-tab-image.svg (../shared/zen-icons/lin/new-tab-image.svg)
|
skin/classic/browser/zen-icons/new-tab-image.svg (../shared/zen-icons/lin/new-tab-image.svg)
|
||||||
skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/lin/open.svg)
|
skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/lin/open.svg)
|
||||||
@@ -95,27 +97,28 @@
|
|||||||
skin/classic/browser/zen-icons/pocket-outline.svg (../shared/zen-icons/lin/pocket-outline.svg)
|
skin/classic/browser/zen-icons/pocket-outline.svg (../shared/zen-icons/lin/pocket-outline.svg)
|
||||||
skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/lin/popup.svg)
|
skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/lin/popup.svg)
|
||||||
skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/lin/print.svg)
|
skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/lin/print.svg)
|
||||||
skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
|
|
||||||
skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/lin/private-window.svg)
|
skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/lin/private-window.svg)
|
||||||
|
skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
|
||||||
skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/lin/reader-mode.svg)
|
skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/lin/reader-mode.svg)
|
||||||
skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/lin/reload.svg)
|
|
||||||
skin/classic/browser/zen-icons/reload-to-stop.svg (../shared/zen-icons/lin/reload-to-stop.svg)
|
skin/classic/browser/zen-icons/reload-to-stop.svg (../shared/zen-icons/lin/reload-to-stop.svg)
|
||||||
|
skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/lin/reload.svg)
|
||||||
skin/classic/browser/zen-icons/report.svg (../shared/zen-icons/lin/report.svg)
|
skin/classic/browser/zen-icons/report.svg (../shared/zen-icons/lin/report.svg)
|
||||||
skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/lin/save.svg)
|
skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/lin/save.svg)
|
||||||
skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/lin/screen-blocked.svg)
|
skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/lin/screen-blocked.svg)
|
||||||
skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/lin/screenshot.svg)
|
|
||||||
skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/lin/screen.svg)
|
skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/lin/screen.svg)
|
||||||
|
skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/lin/screenshot.svg)
|
||||||
skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/lin/search-glass.svg)
|
skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/lin/search-glass.svg)
|
||||||
skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/lin/search-page.svg)
|
skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/lin/search-page.svg)
|
||||||
skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/lin/security-broken.svg)
|
skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/lin/security-broken.svg)
|
||||||
skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
|
|
||||||
skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/lin/security-warning.svg)
|
skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/lin/security-warning.svg)
|
||||||
|
skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
|
||||||
skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/lin/send-to-device.svg)
|
skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/lin/send-to-device.svg)
|
||||||
skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/lin/settings.svg)
|
skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/lin/settings.svg)
|
||||||
skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/lin/share.svg)
|
skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/lin/share.svg)
|
||||||
skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
|
|
||||||
skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/lin/sidebar.svg)
|
skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/lin/sidebar.svg)
|
||||||
|
skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
|
||||||
skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/lin/source-code.svg)
|
skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/lin/source-code.svg)
|
||||||
|
skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/lin/sparkles.svg)
|
||||||
skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/lin/spell-check.svg)
|
skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/lin/spell-check.svg)
|
||||||
skin/classic/browser/zen-icons/split.svg (../shared/zen-icons/lin/split.svg)
|
skin/classic/browser/zen-icons/split.svg (../shared/zen-icons/lin/split.svg)
|
||||||
skin/classic/browser/zen-icons/stop-to-reload.svg (../shared/zen-icons/lin/stop-to-reload.svg)
|
skin/classic/browser/zen-icons/stop-to-reload.svg (../shared/zen-icons/lin/stop-to-reload.svg)
|
||||||
@@ -174,15 +177,16 @@
|
|||||||
skin/classic/browser/zen-icons/edit-paste.svg (../shared/zen-icons/lin/edit-paste.svg)
|
skin/classic/browser/zen-icons/edit-paste.svg (../shared/zen-icons/lin/edit-paste.svg)
|
||||||
skin/classic/browser/zen-icons/edit-redo.svg (../shared/zen-icons/lin/edit-redo.svg)
|
skin/classic/browser/zen-icons/edit-redo.svg (../shared/zen-icons/lin/edit-redo.svg)
|
||||||
skin/classic/browser/zen-icons/edit-select-all.svg (../shared/zen-icons/lin/edit-select-all.svg)
|
skin/classic/browser/zen-icons/edit-select-all.svg (../shared/zen-icons/lin/edit-select-all.svg)
|
||||||
skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
|
|
||||||
skin/classic/browser/zen-icons/edit-theme.svg (../shared/zen-icons/lin/edit-theme.svg)
|
skin/classic/browser/zen-icons/edit-theme.svg (../shared/zen-icons/lin/edit-theme.svg)
|
||||||
skin/classic/browser/zen-icons/edit-undo.svg (../shared/zen-icons/lin/edit-undo.svg)
|
skin/classic/browser/zen-icons/edit-undo.svg (../shared/zen-icons/lin/edit-undo.svg)
|
||||||
|
skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
|
||||||
skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/lin/essential-add.svg)
|
skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/lin/essential-add.svg)
|
||||||
skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
|
skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
|
||||||
skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
|
skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
|
||||||
|
skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
|
||||||
skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
|
skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
|
||||||
skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
|
skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
|
||||||
skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
|
skin/classic/browser/zen-icons/face-sun.svg (../shared/zen-icons/lin/face-sun.svg)
|
||||||
skin/classic/browser/zen-icons/firefox.svg (../shared/zen-icons/lin/firefox.svg)
|
skin/classic/browser/zen-icons/firefox.svg (../shared/zen-icons/lin/firefox.svg)
|
||||||
skin/classic/browser/zen-icons/folder.svg (../shared/zen-icons/lin/folder.svg)
|
skin/classic/browser/zen-icons/folder.svg (../shared/zen-icons/lin/folder.svg)
|
||||||
skin/classic/browser/zen-icons/forget.svg (../shared/zen-icons/lin/forget.svg)
|
skin/classic/browser/zen-icons/forget.svg (../shared/zen-icons/lin/forget.svg)
|
||||||
@@ -219,6 +223,7 @@
|
|||||||
skin/classic/browser/zen-icons/microphone-fill.svg (../shared/zen-icons/lin/microphone-fill.svg)
|
skin/classic/browser/zen-icons/microphone-fill.svg (../shared/zen-icons/lin/microphone-fill.svg)
|
||||||
skin/classic/browser/zen-icons/microphone.svg (../shared/zen-icons/lin/microphone.svg)
|
skin/classic/browser/zen-icons/microphone.svg (../shared/zen-icons/lin/microphone.svg)
|
||||||
skin/classic/browser/zen-icons/midi.svg (../shared/zen-icons/lin/midi.svg)
|
skin/classic/browser/zen-icons/midi.svg (../shared/zen-icons/lin/midi.svg)
|
||||||
|
skin/classic/browser/zen-icons/moon-stars.svg (../shared/zen-icons/lin/moon-stars.svg)
|
||||||
skin/classic/browser/zen-icons/move-tab.svg (../shared/zen-icons/lin/move-tab.svg)
|
skin/classic/browser/zen-icons/move-tab.svg (../shared/zen-icons/lin/move-tab.svg)
|
||||||
skin/classic/browser/zen-icons/new-tab-image.svg (../shared/zen-icons/lin/new-tab-image.svg)
|
skin/classic/browser/zen-icons/new-tab-image.svg (../shared/zen-icons/lin/new-tab-image.svg)
|
||||||
skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/lin/open.svg)
|
skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/lin/open.svg)
|
||||||
@@ -234,27 +239,28 @@
|
|||||||
skin/classic/browser/zen-icons/pocket-outline.svg (../shared/zen-icons/lin/pocket-outline.svg)
|
skin/classic/browser/zen-icons/pocket-outline.svg (../shared/zen-icons/lin/pocket-outline.svg)
|
||||||
skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/lin/popup.svg)
|
skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/lin/popup.svg)
|
||||||
skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/lin/print.svg)
|
skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/lin/print.svg)
|
||||||
skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
|
|
||||||
skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/lin/private-window.svg)
|
skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/lin/private-window.svg)
|
||||||
|
skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
|
||||||
skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/lin/reader-mode.svg)
|
skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/lin/reader-mode.svg)
|
||||||
skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/lin/reload.svg)
|
|
||||||
skin/classic/browser/zen-icons/reload-to-stop.svg (../shared/zen-icons/lin/reload-to-stop.svg)
|
skin/classic/browser/zen-icons/reload-to-stop.svg (../shared/zen-icons/lin/reload-to-stop.svg)
|
||||||
|
skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/lin/reload.svg)
|
||||||
skin/classic/browser/zen-icons/report.svg (../shared/zen-icons/lin/report.svg)
|
skin/classic/browser/zen-icons/report.svg (../shared/zen-icons/lin/report.svg)
|
||||||
skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/lin/save.svg)
|
skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/lin/save.svg)
|
||||||
skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/lin/screen-blocked.svg)
|
skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/lin/screen-blocked.svg)
|
||||||
skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/lin/screenshot.svg)
|
|
||||||
skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/lin/screen.svg)
|
skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/lin/screen.svg)
|
||||||
|
skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/lin/screenshot.svg)
|
||||||
skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/lin/search-glass.svg)
|
skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/lin/search-glass.svg)
|
||||||
skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/lin/search-page.svg)
|
skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/lin/search-page.svg)
|
||||||
skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/lin/security-broken.svg)
|
skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/lin/security-broken.svg)
|
||||||
skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
|
|
||||||
skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/lin/security-warning.svg)
|
skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/lin/security-warning.svg)
|
||||||
|
skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
|
||||||
skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/lin/send-to-device.svg)
|
skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/lin/send-to-device.svg)
|
||||||
skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/lin/settings.svg)
|
skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/lin/settings.svg)
|
||||||
skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/lin/share.svg)
|
skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/lin/share.svg)
|
||||||
skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
|
|
||||||
skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/lin/sidebar.svg)
|
skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/lin/sidebar.svg)
|
||||||
|
skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
|
||||||
skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/lin/source-code.svg)
|
skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/lin/source-code.svg)
|
||||||
|
skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/lin/sparkles.svg)
|
||||||
skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/lin/spell-check.svg)
|
skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/lin/spell-check.svg)
|
||||||
skin/classic/browser/zen-icons/split.svg (../shared/zen-icons/lin/split.svg)
|
skin/classic/browser/zen-icons/split.svg (../shared/zen-icons/lin/split.svg)
|
||||||
skin/classic/browser/zen-icons/stop-to-reload.svg (../shared/zen-icons/lin/stop-to-reload.svg)
|
skin/classic/browser/zen-icons/stop-to-reload.svg (../shared/zen-icons/lin/stop-to-reload.svg)
|
||||||
@@ -313,15 +319,16 @@
|
|||||||
skin/classic/browser/zen-icons/edit-paste.svg (../shared/zen-icons/lin/edit-paste.svg)
|
skin/classic/browser/zen-icons/edit-paste.svg (../shared/zen-icons/lin/edit-paste.svg)
|
||||||
skin/classic/browser/zen-icons/edit-redo.svg (../shared/zen-icons/lin/edit-redo.svg)
|
skin/classic/browser/zen-icons/edit-redo.svg (../shared/zen-icons/lin/edit-redo.svg)
|
||||||
skin/classic/browser/zen-icons/edit-select-all.svg (../shared/zen-icons/lin/edit-select-all.svg)
|
skin/classic/browser/zen-icons/edit-select-all.svg (../shared/zen-icons/lin/edit-select-all.svg)
|
||||||
skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
|
|
||||||
skin/classic/browser/zen-icons/edit-theme.svg (../shared/zen-icons/lin/edit-theme.svg)
|
skin/classic/browser/zen-icons/edit-theme.svg (../shared/zen-icons/lin/edit-theme.svg)
|
||||||
skin/classic/browser/zen-icons/edit-undo.svg (../shared/zen-icons/lin/edit-undo.svg)
|
skin/classic/browser/zen-icons/edit-undo.svg (../shared/zen-icons/lin/edit-undo.svg)
|
||||||
|
skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
|
||||||
skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/lin/essential-add.svg)
|
skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/lin/essential-add.svg)
|
||||||
skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
|
skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
|
||||||
skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
|
skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
|
||||||
|
skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
|
||||||
skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
|
skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
|
||||||
skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
|
skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
|
||||||
skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
|
skin/classic/browser/zen-icons/face-sun.svg (../shared/zen-icons/lin/face-sun.svg)
|
||||||
skin/classic/browser/zen-icons/firefox.svg (../shared/zen-icons/lin/firefox.svg)
|
skin/classic/browser/zen-icons/firefox.svg (../shared/zen-icons/lin/firefox.svg)
|
||||||
skin/classic/browser/zen-icons/folder.svg (../shared/zen-icons/lin/folder.svg)
|
skin/classic/browser/zen-icons/folder.svg (../shared/zen-icons/lin/folder.svg)
|
||||||
skin/classic/browser/zen-icons/forget.svg (../shared/zen-icons/lin/forget.svg)
|
skin/classic/browser/zen-icons/forget.svg (../shared/zen-icons/lin/forget.svg)
|
||||||
@@ -358,6 +365,7 @@
|
|||||||
skin/classic/browser/zen-icons/microphone-fill.svg (../shared/zen-icons/lin/microphone-fill.svg)
|
skin/classic/browser/zen-icons/microphone-fill.svg (../shared/zen-icons/lin/microphone-fill.svg)
|
||||||
skin/classic/browser/zen-icons/microphone.svg (../shared/zen-icons/lin/microphone.svg)
|
skin/classic/browser/zen-icons/microphone.svg (../shared/zen-icons/lin/microphone.svg)
|
||||||
skin/classic/browser/zen-icons/midi.svg (../shared/zen-icons/lin/midi.svg)
|
skin/classic/browser/zen-icons/midi.svg (../shared/zen-icons/lin/midi.svg)
|
||||||
|
skin/classic/browser/zen-icons/moon-stars.svg (../shared/zen-icons/lin/moon-stars.svg)
|
||||||
skin/classic/browser/zen-icons/move-tab.svg (../shared/zen-icons/lin/move-tab.svg)
|
skin/classic/browser/zen-icons/move-tab.svg (../shared/zen-icons/lin/move-tab.svg)
|
||||||
skin/classic/browser/zen-icons/new-tab-image.svg (../shared/zen-icons/lin/new-tab-image.svg)
|
skin/classic/browser/zen-icons/new-tab-image.svg (../shared/zen-icons/lin/new-tab-image.svg)
|
||||||
skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/lin/open.svg)
|
skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/lin/open.svg)
|
||||||
@@ -373,27 +381,28 @@
|
|||||||
skin/classic/browser/zen-icons/pocket-outline.svg (../shared/zen-icons/lin/pocket-outline.svg)
|
skin/classic/browser/zen-icons/pocket-outline.svg (../shared/zen-icons/lin/pocket-outline.svg)
|
||||||
skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/lin/popup.svg)
|
skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/lin/popup.svg)
|
||||||
skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/lin/print.svg)
|
skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/lin/print.svg)
|
||||||
skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
|
|
||||||
skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/lin/private-window.svg)
|
skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/lin/private-window.svg)
|
||||||
|
skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
|
||||||
skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/lin/reader-mode.svg)
|
skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/lin/reader-mode.svg)
|
||||||
skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/lin/reload.svg)
|
|
||||||
skin/classic/browser/zen-icons/reload-to-stop.svg (../shared/zen-icons/lin/reload-to-stop.svg)
|
skin/classic/browser/zen-icons/reload-to-stop.svg (../shared/zen-icons/lin/reload-to-stop.svg)
|
||||||
|
skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/lin/reload.svg)
|
||||||
skin/classic/browser/zen-icons/report.svg (../shared/zen-icons/lin/report.svg)
|
skin/classic/browser/zen-icons/report.svg (../shared/zen-icons/lin/report.svg)
|
||||||
skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/lin/save.svg)
|
skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/lin/save.svg)
|
||||||
skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/lin/screen-blocked.svg)
|
skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/lin/screen-blocked.svg)
|
||||||
skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/lin/screenshot.svg)
|
|
||||||
skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/lin/screen.svg)
|
skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/lin/screen.svg)
|
||||||
|
skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/lin/screenshot.svg)
|
||||||
skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/lin/search-glass.svg)
|
skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/lin/search-glass.svg)
|
||||||
skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/lin/search-page.svg)
|
skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/lin/search-page.svg)
|
||||||
skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/lin/security-broken.svg)
|
skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/lin/security-broken.svg)
|
||||||
skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
|
|
||||||
skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/lin/security-warning.svg)
|
skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/lin/security-warning.svg)
|
||||||
|
skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/lin/security.svg)
|
||||||
skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/lin/send-to-device.svg)
|
skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/lin/send-to-device.svg)
|
||||||
skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/lin/settings.svg)
|
skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/lin/settings.svg)
|
||||||
skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/lin/share.svg)
|
skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/lin/share.svg)
|
||||||
skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
|
|
||||||
skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/lin/sidebar.svg)
|
skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/lin/sidebar.svg)
|
||||||
|
skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
|
||||||
skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/lin/source-code.svg)
|
skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/lin/source-code.svg)
|
||||||
|
skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/lin/sparkles.svg)
|
||||||
skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/lin/spell-check.svg)
|
skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/lin/spell-check.svg)
|
||||||
skin/classic/browser/zen-icons/split.svg (../shared/zen-icons/lin/split.svg)
|
skin/classic/browser/zen-icons/split.svg (../shared/zen-icons/lin/split.svg)
|
||||||
skin/classic/browser/zen-icons/stop-to-reload.svg (../shared/zen-icons/lin/stop-to-reload.svg)
|
skin/classic/browser/zen-icons/stop-to-reload.svg (../shared/zen-icons/lin/stop-to-reload.svg)
|
||||||
|
1
src/browser/themes/shared/zen-icons/lin/face-sun.svg
Normal file
1
src/browser/themes/shared/zen-icons/lin/face-sun.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="18px" height="18px" viewBox="0 0 18 18"><path d="M17.25,8.25h-1.292c-.146-1.369-.69-2.619-1.512-3.637l1.583-1.583c.293-.293,.293-.768,0-1.061s-.767-.294-1.061,0l-1.583,1.583c-1.018-.821-2.268-1.365-3.636-1.511V.75c0-.414-.336-.75-.75-.75s-.75,.336-.75,.75v1.292c-1.368,.146-2.618,.69-3.636,1.511l-1.583-1.583c-.293-.293-.768-.293-1.061,0s-.293,.768,0,1.061l1.583,1.583c-.821,1.018-1.365,2.268-1.511,3.637H.75c-.414,0-.75,.336-.75,.75s.336,.75,.75,.75h1.292c.146,1.369,.69,2.619,1.511,3.637l-1.583,1.583c-.293,.293-.293,.768,0,1.061,.146,.146,.338,.22,.53,.22,.191,0,.384-.073,.53-.22l1.583-1.583c1.018,.821,2.268,1.365,3.636,1.511v1.292c0,.414,.336,.75,.75,.75s.75-.336,.75-.75v-1.292c1.368-.146,2.618-.69,3.636-1.511l1.583,1.583c.146,.146,.338,.22,.53,.22s.384-.073,.53-.22c.293-.293,.293-.768,0-1.061l-1.583-1.583c.821-1.018,1.365-2.268,1.512-3.637h1.292c.414,0,.75-.336,.75-.75s-.336-.75-.75-.75Zm-11.25,1.75c-.552,0-1-.448-1-1s.448-1,1-1,1,.448,1,1-.448,1-1,1Zm3,2c-.828,0-1.5-.672-1.5-1.5,0-.276,.224-.5,.5-.5h2c.276,0,.5,.224,.5,.5,0,.828-.672,1.5-1.5,1.5Zm2-3c0-.552,.448-1,1-1s1,.448,1,1-.448,1-1,1-1-.448-1-1Z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 1.2 KiB |
1
src/browser/themes/shared/zen-icons/lin/moon-stars.svg
Normal file
1
src/browser/themes/shared/zen-icons/lin/moon-stars.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="18px" height="18px" viewBox="0 0 18 18"><path d="M16.705,10.223c-.246-.183-.578-.197-.838-.037-.868,.532-1.859,.813-2.867,.813-3.033,0-5.5-2.467-5.5-5.5,0-1.146,.354-2.247,1.023-3.186,.177-.249,.186-.581,.021-.839-.164-.258-.467-.386-.77-.334C3.994,1.847,1.25,5.152,1.25,9c0,4.411,3.589,8,8,8,3.638,0,6.819-2.461,7.735-5.986,.077-.296-.034-.609-.28-.791Z" fill="currentColor"></path><path d="M12.743,4.492l-.946-.315-.316-.947c-.102-.306-.609-.306-.711,0l-.316,.947-.946,.315c-.153,.051-.257,.194-.257,.356s.104,.305,.257,.356l.946,.315,.316,.947c.051,.153,.194,.256,.355,.256s.305-.104,.355-.256l.316-.947,.946-.315c.153-.051,.257-.194,.257-.356s-.104-.305-.257-.356Z" fill="currentColor" data-color="color-2"></path><circle cx="14.25" cy="7.75" r=".75" fill="currentColor" data-color="color-2"></circle></svg>
|
After Width: | Height: | Size: 917 B |
1
src/browser/themes/shared/zen-icons/lin/sparkles.svg
Normal file
1
src/browser/themes/shared/zen-icons/lin/sparkles.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="18px" height="18px" viewBox="0 0 18 18"><path d="M3.025,5.623c.068,.204,.26,.342,.475,.342s.406-.138,.475-.342l.421-1.263,1.263-.421c.204-.068,.342-.259,.342-.474s-.138-.406-.342-.474l-1.263-.421-.421-1.263c-.137-.408-.812-.408-.949,0l-.421,1.263-1.263,.421c-.204,.068-.342,.259-.342,.474s.138,.406,.342,.474l1.263,.421,.421,1.263Z" fill="currentColor" data-color="color-2"></path><path d="M16.525,8.803l-4.535-1.793-1.793-4.535c-.227-.572-1.168-.572-1.395,0l-1.793,4.535-4.535,1.793c-.286,.113-.475,.39-.475,.697s.188,.584,.475,.697l4.535,1.793,1.793,4.535c.113,.286,.39,.474,.697,.474s.584-.188,.697-.474l1.793-4.535,4.535-1.793c.286-.113,.475-.39,.475-.697s-.188-.584-.475-.697Z" fill="currentColor"></path></svg>
|
After Width: | Height: | Size: 822 B |
20
src/dom/base/Document-cpp.patch
Normal file
20
src/dom/base/Document-cpp.patch
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp
|
||||||
|
index a16bef739fcde0f14ba7e53e0acfa3aa2ee1dd3a..f928c0f1df4e86bd344ab7e57dab112234fb92e8 100644
|
||||||
|
--- a/dom/base/Document.cpp
|
||||||
|
+++ b/dom/base/Document.cpp
|
||||||
|
@@ -3332,6 +3332,15 @@ void Document::FillStyleSetUserAndUASheets() {
|
||||||
|
|
||||||
|
ServoStyleSet& styleSet = EnsureStyleSet();
|
||||||
|
for (StyleSheet* sheet : *sheetService->UserStyleSheets()) {
|
||||||
|
+ // If the url starts with "file://" and ends with 'zen-themes.css', then
|
||||||
|
+ // skip it if the document is not in a chrome docshell.
|
||||||
|
+ // This is to avoid loading the user chrome stylesheet in the content
|
||||||
|
+ // process, which is not allowed.
|
||||||
|
+ auto spec = sheet->GetSheetURI()->GetSpecOrDefault();
|
||||||
|
+ if (!IsInChromeDocShell() && StringBeginsWith(spec, "file://"_ns) &&
|
||||||
|
+ StringEndsWith(spec, "zen-themes.css"_ns)) {
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
styleSet.AppendStyleSheet(*sheet);
|
||||||
|
}
|
||||||
|
|
@@ -1,32 +0,0 @@
|
|||||||
|
|
||||||
# HG changeset patch
|
|
||||||
# User Julian Descottes <jdescottes@mozilla.com>
|
|
||||||
# Date 1744201993 0
|
|
||||||
# Node ID 2e2d932d75c44447af89224be5e4324dc080c447
|
|
||||||
# Parent 9f134a1b1a884a857c59517ba0e8f3603e4009dd
|
|
||||||
Bug 1959377 - Include vector in mac/Sandbox.h to fix build on macos 15.4 r=emilio
|
|
||||||
|
|
||||||
Differential Revision: https://phabricator.services.mozilla.com/D244870
|
|
||||||
|
|
||||||
diff --git a/security/sandbox/mac/Sandbox.h b/security/sandbox/mac/Sandbox.h
|
|
||||||
--- a/security/sandbox/mac/Sandbox.h
|
|
||||||
+++ b/security/sandbox/mac/Sandbox.h
|
|
||||||
@@ -2,16 +2,17 @@
|
|
||||||
/* 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/. */
|
|
||||||
|
|
||||||
#ifndef mozilla_Sandbox_h
|
|
||||||
#define mozilla_Sandbox_h
|
|
||||||
|
|
||||||
#include <string>
|
|
||||||
+#include <vector>
|
|
||||||
#include "mozilla/ipc/UtilityProcessSandboxing.h"
|
|
||||||
|
|
||||||
enum MacSandboxType {
|
|
||||||
MacSandboxType_Default = 0,
|
|
||||||
MacSandboxType_Content,
|
|
||||||
MacSandboxType_GMP,
|
|
||||||
MacSandboxType_RDD,
|
|
||||||
MacSandboxType_Socket,
|
|
||||||
|
|
97
src/firefox-patches/ff141-gradienth-dithering.patch
Normal file
97
src/firefox-patches/ff141-gradienth-dithering.patch
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
diff --git a/gfx/wr/swgl/build.rs b/gfx/wr/swgl/build.rs
|
||||||
|
--- a/gfx/wr/swgl/build.rs
|
||||||
|
+++ b/gfx/wr/swgl/build.rs
|
||||||
|
@@ -147,10 +147,11 @@
|
||||||
|
let shader_dir = std::env::var("CARGO_MANIFEST_DIR").unwrap() + "/../webrender/res";
|
||||||
|
|
||||||
|
let shader_flags = ShaderFeatureFlags::GL
|
||||||
|
| ShaderFeatureFlags::DUAL_SOURCE_BLENDING
|
||||||
|
| ShaderFeatureFlags::ADVANCED_BLEND_EQUATION
|
||||||
|
+ | ShaderFeatureFlags::DITHERING
|
||||||
|
| ShaderFeatureFlags::DEBUG;
|
||||||
|
let mut shaders: Vec<String> = Vec::new();
|
||||||
|
for (name, features) in get_shader_features(shader_flags) {
|
||||||
|
shaders.extend(features.iter().map(|f| {
|
||||||
|
if f.is_empty() {
|
||||||
|
diff --git a/gfx/wr/webrender/res/brush_linear_gradient.glsl b/gfx/wr/webrender/res/brush_linear_gradient.glsl
|
||||||
|
--- a/gfx/wr/webrender/res/brush_linear_gradient.glsl
|
||||||
|
+++ b/gfx/wr/webrender/res/brush_linear_gradient.glsl
|
||||||
|
@@ -79,17 +79,23 @@
|
||||||
|
|
||||||
|
return Fragment(color);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef SWGL_DRAW_SPAN
|
||||||
|
+#ifdef WR_FEATURE_DITHERING
|
||||||
|
+void swgl_drawSpanRGBA8() {
|
||||||
|
+ return;
|
||||||
|
+}
|
||||||
|
+#else
|
||||||
|
void swgl_drawSpanRGBA8() {
|
||||||
|
int address = swgl_validateGradient(sGpuBufferF, get_gpu_buffer_uv(v_gradient_address.x), int(GRADIENT_ENTRIES + 2.0));
|
||||||
|
if (address < 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
swgl_commitLinearGradientRGBA8(sGpuBufferF, address, GRADIENT_ENTRIES, true, v_gradient_repeat.x != 0.0,
|
||||||
|
v_pos, v_scale_dir, v_start_offset.x);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
diff --git a/gfx/wr/webrender/src/renderer/init.rs b/gfx/wr/webrender/src/renderer/init.rs
|
||||||
|
--- a/gfx/wr/webrender/src/renderer/init.rs
|
||||||
|
+++ b/gfx/wr/webrender/src/renderer/init.rs
|
||||||
|
@@ -222,11 +222,11 @@
|
||||||
|
fn default() -> Self {
|
||||||
|
WebRenderOptions {
|
||||||
|
resource_override_path: None,
|
||||||
|
use_optimized_shaders: false,
|
||||||
|
enable_aa: true,
|
||||||
|
- enable_dithering: false,
|
||||||
|
+ enable_dithering: true,
|
||||||
|
debug_flags: DebugFlags::empty(),
|
||||||
|
max_recorded_profiles: 0,
|
||||||
|
precache_flags: ShaderPrecacheFlags::empty(),
|
||||||
|
enable_subpixel_aa: false,
|
||||||
|
clear_color: ColorF::new(1.0, 1.0, 1.0, 1.0),
|
||||||
|
--- a/gfx/wr/webrender/build.rs
|
||||||
|
+++ b/gfx/wr/webrender/build.rs
|
||||||
|
@@ -150,11 +150,10 @@
|
||||||
|
) {
|
||||||
|
flags.remove(ShaderFeatureFlags::TEXTURE_EXTERNAL_ESSL1);
|
||||||
|
}
|
||||||
|
// The optimizer cannot handle the required EXT_YUV_target extension
|
||||||
|
flags.remove(ShaderFeatureFlags::TEXTURE_EXTERNAL_BT709);
|
||||||
|
- flags.remove(ShaderFeatureFlags::DITHERING);
|
||||||
|
|
||||||
|
for (shader_name, configs) in get_shader_features(flags) {
|
||||||
|
for config in configs {
|
||||||
|
shaders.push(ShaderOptimizationInput {
|
||||||
|
shader_name,
|
||||||
|
diff --git a/gfx/wr/webrender/res/shared.glsl b/gfx/wr/webrender/res/shared.glsl
|
||||||
|
index f9c093f8486dbd481f2520762f80ace257c294f6..904f9991e917423e11563d862bbd185725523573 100644
|
||||||
|
--- a/gfx/wr/webrender/res/shared.glsl
|
||||||
|
+++ b/gfx/wr/webrender/res/shared.glsl
|
||||||
|
@@ -226,6 +226,7 @@ uniform __samplerExternal2DY2YEXT sColor1;
|
||||||
|
uniform __samplerExternal2DY2YEXT sColor2;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#define WR_FEATURE_DITHERING
|
||||||
|
#ifdef WR_FEATURE_DITHERING
|
||||||
|
uniform sampler2D sDither;
|
||||||
|
#endif
|
||||||
|
diff --git a/gfx/wr/webrender/res/gradient.glsl b/gfx/wr/webrender/res/gradient.glsl
|
||||||
|
index 6ed2e6987135e04a70fcc908c089bf225ffdb255..09a4acdf3f53a53e123510fdc5aea8b9b8c4d91e 100644
|
||||||
|
--- a/gfx/wr/webrender/res/gradient.glsl
|
||||||
|
+++ b/gfx/wr/webrender/res/gradient.glsl
|
||||||
|
@@ -11,6 +11,7 @@ flat varying mediump vec2 v_gradient_repeat;
|
||||||
|
|
||||||
|
#ifdef WR_FRAGMENT_SHADER
|
||||||
|
|
||||||
|
+#define WR_FEATURE_DITHERING
|
||||||
|
#ifdef WR_FEATURE_DITHERING
|
||||||
|
vec4 dither(vec4 color) {
|
||||||
|
const int matrix_mask = 7;
|
||||||
|
|
13
src/layout/base/nsStyleSheetService-h.patch
Normal file
13
src/layout/base/nsStyleSheetService-h.patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/layout/base/nsStyleSheetService.h b/layout/base/nsStyleSheetService.h
|
||||||
|
index 8c49b338bf8e6830874ace9a08e8c0713167ee58..53a48129b2b6b2adf15e0fe17da14c3b16577966 100644
|
||||||
|
--- a/layout/base/nsStyleSheetService.h
|
||||||
|
+++ b/layout/base/nsStyleSheetService.h
|
||||||
|
@@ -50,6 +50,8 @@ class nsStyleSheetService final : public nsIStyleSheetService,
|
||||||
|
|
||||||
|
size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const;
|
||||||
|
|
||||||
|
+ void UpdateZenModStyles(mozilla::StyleSheet* aSheet, nsIURI* aURI, bool aInsert);
|
||||||
|
+
|
||||||
|
static nsStyleSheetService* GetInstance();
|
||||||
|
static nsStyleSheetService* gInstance;
|
||||||
|
|
@@ -16,3 +16,8 @@
|
|||||||
type: bool
|
type: bool
|
||||||
value: true
|
value: true
|
||||||
mirror: always
|
mirror: always
|
||||||
|
|
||||||
|
- name: zen.swipe.is-fast-swipe
|
||||||
|
type: bool
|
||||||
|
value: true
|
||||||
|
mirror: always
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
diff --git a/security/mac/hardenedruntime/v2/production/firefox.browser.xml b/security/mac/hardenedruntime/v2/production/firefox.browser.xml
|
diff --git a/security/mac/hardenedruntime/production/firefox.browser.xml b/security/mac/hardenedruntime/production/firefox.browser.xml
|
||||||
index abbf33e9d2b3c9d1e0a34bd46e7cd289c435533b..d580b156fed13f4de8eb73e5c29c646a7a22a1d2 100644
|
index abbf33e9d2b3c9d1e0a34bd46e7cd289c435533b..d580b156fed13f4de8eb73e5c29c646a7a22a1d2 100644
|
||||||
--- a/security/mac/hardenedruntime/v2/production/firefox.browser.xml
|
--- a/security/mac/hardenedruntime/production/firefox.browser.xml
|
||||||
+++ b/security/mac/hardenedruntime/v2/production/firefox.browser.xml
|
+++ b/security/mac/hardenedruntime/production/firefox.browser.xml
|
||||||
@@ -26,7 +26,7 @@
|
@@ -26,7 +26,7 @@
|
||||||
|
|
||||||
<!-- Required for com.apple.developer.web-browser.public-key-credential -->
|
<!-- Required for com.apple.developer.web-browser.public-key-credential -->
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/servo/components/style/gecko/media_features.rs b/servo/components/style/gecko/media_features.rs
|
diff --git a/servo/components/style/gecko/media_features.rs b/servo/components/style/gecko/media_features.rs
|
||||||
index cc24406e22f536733b07a9398580a8719b61e134..214f238b38377a8480711ea2d0ec30e99800bb5c 100644
|
index c66f1e26b22a6eeb2192d531e365ba34a61e220d..097ffce888ee0e180cc06448ea34860e6a467a2a 100644
|
||||||
--- a/servo/components/style/gecko/media_features.rs
|
--- a/servo/components/style/gecko/media_features.rs
|
||||||
+++ b/servo/components/style/gecko/media_features.rs
|
+++ b/servo/components/style/gecko/media_features.rs
|
||||||
@@ -13,6 +13,9 @@ use crate::values::computed::{CSSPixelLength, Context, Ratio, Resolution};
|
@@ -13,6 +13,9 @@ use crate::values::computed::{CSSPixelLength, Context, Ratio, Resolution};
|
||||||
@@ -12,7 +12,7 @@ index cc24406e22f536733b07a9398580a8719b61e134..214f238b38377a8480711ea2d0ec30e9
|
|||||||
|
|
||||||
fn device_size(device: &Device) -> Size2D<Au> {
|
fn device_size(device: &Device) -> Size2D<Au> {
|
||||||
let mut width = 0;
|
let mut width = 0;
|
||||||
@@ -606,6 +609,13 @@ fn eval_moz_overlay_scrollbars(context: &Context) -> bool {
|
@@ -610,6 +613,13 @@ fn eval_moz_overlay_scrollbars(context: &Context) -> bool {
|
||||||
unsafe { bindings::Gecko_MediaFeatures_UseOverlayScrollbars(context.device().document()) }
|
unsafe { bindings::Gecko_MediaFeatures_UseOverlayScrollbars(context.device().document()) }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,16 +26,16 @@ index cc24406e22f536733b07a9398580a8719b61e134..214f238b38377a8480711ea2d0ec30e9
|
|||||||
fn get_lnf_int(int_id: i32) -> i32 {
|
fn get_lnf_int(int_id: i32) -> i32 {
|
||||||
unsafe { bindings::Gecko_GetLookAndFeelInt(int_id) }
|
unsafe { bindings::Gecko_GetLookAndFeelInt(int_id) }
|
||||||
}
|
}
|
||||||
@@ -653,7 +663,7 @@ macro_rules! lnf_int_feature {
|
@@ -657,7 +667,7 @@ macro_rules! lnf_int_feature {
|
||||||
/// to support new types in these entries and (2) ensuring that either
|
/// to support new types in these entries and (2) ensuring that either
|
||||||
/// nsPresContext::MediaFeatureValuesChanged is called when the value that
|
/// nsPresContext::MediaFeatureValuesChanged is called when the value that
|
||||||
/// would be returned by the evaluator function could change.
|
/// would be returned by the evaluator function could change.
|
||||||
-pub static MEDIA_FEATURES: [QueryFeatureDescription; 61] = [
|
-pub static MEDIA_FEATURES: [QueryFeatureDescription; 62] = [
|
||||||
+pub static MEDIA_FEATURES: [QueryFeatureDescription; 62] = [
|
+pub static MEDIA_FEATURES: [QueryFeatureDescription; 63] = [
|
||||||
feature!(
|
feature!(
|
||||||
atom!("width"),
|
atom!("width"),
|
||||||
AllowsRanges::Yes,
|
AllowsRanges::Yes,
|
||||||
@@ -918,6 +928,12 @@ pub static MEDIA_FEATURES: [QueryFeatureDescription; 61] = [
|
@@ -928,6 +938,12 @@ pub static MEDIA_FEATURES: [QueryFeatureDescription; 62] = [
|
||||||
Evaluator::BoolInteger(eval_moz_overlay_scrollbars),
|
Evaluator::BoolInteger(eval_moz_overlay_scrollbars),
|
||||||
FeatureFlags::CHROME_AND_UA_ONLY,
|
FeatureFlags::CHROME_AND_UA_ONLY,
|
||||||
),
|
),
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/testing/profiles/mochitest/user.js b/testing/profiles/mochitest/user.js
|
diff --git a/testing/profiles/mochitest/user.js b/testing/profiles/mochitest/user.js
|
||||||
index a4068ac3f61161d014c49d54ae7a3bf886868f1b..6af5907abb46b6d3b871c159c73eec8373ee8ef5 100644
|
index a4068ac3f61161d014c49d54ae7a3bf886868f1b..b9861cfaae19a4a71b75ccc73095dc602df22b12 100644
|
||||||
--- a/testing/profiles/mochitest/user.js
|
--- a/testing/profiles/mochitest/user.js
|
||||||
+++ b/testing/profiles/mochitest/user.js
|
+++ b/testing/profiles/mochitest/user.js
|
||||||
@@ -41,3 +41,10 @@ user_pref("places.history.floodingPrevention.enabled", false);
|
@@ -41,3 +41,9 @@ user_pref("places.history.floodingPrevention.enabled", false);
|
||||||
// permission, and we can open it and wait for the user to give permission, then
|
// permission, and we can open it and wait for the user to give permission, then
|
||||||
// don't do that.
|
// don't do that.
|
||||||
user_pref("geo.prompt.open_system_prefs", false);
|
user_pref("geo.prompt.open_system_prefs", false);
|
||||||
@@ -12,4 +12,3 @@ index a4068ac3f61161d014c49d54ae7a3bf886868f1b..6af5907abb46b6d3b871c159c73eec83
|
|||||||
+user_pref("zen.watermark.enabled", false);
|
+user_pref("zen.watermark.enabled", false);
|
||||||
+user_pref("zen.urlbar.replace-newtab", false);
|
+user_pref("zen.urlbar.replace-newtab", false);
|
||||||
+user_pref("zen.testing.enabled", true);
|
+user_pref("zen.testing.enabled", true);
|
||||||
+user_pref("dom.security.https_only_mode", false); // Dont ask why
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/testing/profiles/profileserver/user.js b/testing/profiles/profileserver/user.js
|
diff --git a/testing/profiles/profileserver/user.js b/testing/profiles/profileserver/user.js
|
||||||
index 19ff7d474f6d22d2d386764e2e6942ce6a324470..531446847039fd683af52ac7fdfd601bea3cb624 100644
|
index 19ff7d474f6d22d2d386764e2e6942ce6a324470..75ec03c0d6a2f12986eb434f4b9b5350e1af37fd 100644
|
||||||
--- a/testing/profiles/profileserver/user.js
|
--- a/testing/profiles/profileserver/user.js
|
||||||
+++ b/testing/profiles/profileserver/user.js
|
+++ b/testing/profiles/profileserver/user.js
|
||||||
@@ -8,3 +8,13 @@
|
@@ -8,3 +8,12 @@
|
||||||
user_pref("dom.timeout.enable_budget_timer_throttling", false);
|
user_pref("dom.timeout.enable_budget_timer_throttling", false);
|
||||||
// Turn off update
|
// Turn off update
|
||||||
user_pref("app.update.disabledForTesting", true);
|
user_pref("app.update.disabledForTesting", true);
|
||||||
@@ -15,4 +15,3 @@ index 19ff7d474f6d22d2d386764e2e6942ce6a324470..531446847039fd683af52ac7fdfd601b
|
|||||||
+user_pref("zen.urlbar.replace-newtab", false);
|
+user_pref("zen.urlbar.replace-newtab", false);
|
||||||
+user_pref("zen.testing.enabled", true);
|
+user_pref("zen.testing.enabled", true);
|
||||||
+user_pref("zen.testing.profiling.enabled", true);
|
+user_pref("zen.testing.profiling.enabled", true);
|
||||||
+user_pref("dom.security.https_only_mode", false); // Dont ask why
|
|
||||||
|
@@ -1,18 +0,0 @@
|
|||||||
diff --git a/toolkit/content/widgets/browser-custom-element.js b/toolkit/content/widgets/browser-custom-element.js
|
|
||||||
index a531577a29212cdb9e745b88e17fe4177be76635..ae976ecef71d0d659fa6a1d6fea60f5270073544 100644
|
|
||||||
--- a/toolkit/content/widgets/browser-custom-element.js
|
|
||||||
+++ b/toolkit/content/widgets/browser-custom-element.js
|
|
||||||
@@ -556,11 +556,11 @@
|
|
||||||
if (!this.browsingContext) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
- this.browsingContext.isActive = val;
|
|
||||||
+ this.browsingContext.isActive = val || this.zenModeActive;
|
|
||||||
if (this.isRemoteBrowser) {
|
|
||||||
let remoteTab = this.frameLoader?.remoteTab;
|
|
||||||
if (remoteTab) {
|
|
||||||
- remoteTab.renderLayers = val;
|
|
||||||
+ remoteTab.renderLayers = val || this.zenModeActive;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
18
src/toolkit/content/widgets/browser-custom-element-mjs.patch
Normal file
18
src/toolkit/content/widgets/browser-custom-element-mjs.patch
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
diff --git a/toolkit/content/widgets/browser-custom-element.mjs b/toolkit/content/widgets/browser-custom-element.mjs
|
||||||
|
index 8eeea2a403ba2007a1a1e6074bb982b24f40fef5..29bae869dfd8c9df6039b3c9b8b1603092e517ea 100644
|
||||||
|
--- a/toolkit/content/widgets/browser-custom-element.mjs
|
||||||
|
+++ b/toolkit/content/widgets/browser-custom-element.mjs
|
||||||
|
@@ -482,11 +482,11 @@ class MozBrowser extends MozElements.MozElementMixin(XULFrameElement) {
|
||||||
|
if (!this.browsingContext) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
- this.browsingContext.isActive = val;
|
||||||
|
+ this.browsingContext.isActive = val || this.zenModeActive;
|
||||||
|
if (this.isRemoteBrowser) {
|
||||||
|
let remoteTab = this.frameLoader?.remoteTab;
|
||||||
|
if (remoteTab) {
|
||||||
|
- remoteTab.renderLayers = val;
|
||||||
|
+ remoteTab.renderLayers = val || this.zenModeActive;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/toolkit/modules/LightweightThemeConsumer.sys.mjs b/toolkit/modules/LightweightThemeConsumer.sys.mjs
|
diff --git a/toolkit/modules/LightweightThemeConsumer.sys.mjs b/toolkit/modules/LightweightThemeConsumer.sys.mjs
|
||||||
index d8c79cbae4de3ebfc5dc62f3597c7be4965a5429..4398108bd6d74aa8b6689baaf5334d8ba9a26c4e 100644
|
index fe01b25c520d1be71224b136b1ce46e9577e11a1..e5501590f3695ed4c2e19be5c104958b497c886e 100644
|
||||||
--- a/toolkit/modules/LightweightThemeConsumer.sys.mjs
|
--- a/toolkit/modules/LightweightThemeConsumer.sys.mjs
|
||||||
+++ b/toolkit/modules/LightweightThemeConsumer.sys.mjs
|
+++ b/toolkit/modules/LightweightThemeConsumer.sys.mjs
|
||||||
@@ -31,7 +31,7 @@ const toolkitVariableMap = [
|
@@ -31,7 +31,7 @@ const toolkitVariableMap = [
|
||||||
@@ -11,3 +11,12 @@ index d8c79cbae4de3ebfc5dc62f3597c7be4965a5429..4398108bd6d74aa8b6689baaf5334d8b
|
|||||||
}
|
}
|
||||||
// Remove the alpha channel
|
// Remove the alpha channel
|
||||||
const { r, g, b } = rgbaChannels;
|
const { r, g, b } = rgbaChannels;
|
||||||
|
@@ -317,7 +317,7 @@ LightweightThemeConsumer.prototype = {
|
||||||
|
}
|
||||||
|
|
||||||
|
let theme = useDarkTheme ? themeData.darkTheme : themeData.theme;
|
||||||
|
- if (!theme) {
|
||||||
|
+ if (!theme || Services.prefs.getBoolPref("zen.theme.disable-lightweight")) {
|
||||||
|
theme = { id: DEFAULT_THEME_ID };
|
||||||
|
}
|
||||||
|
let hasTheme = theme.id != DEFAULT_THEME_ID || useDarkTheme;
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/toolkit/modules/ShortcutUtils.sys.mjs b/toolkit/modules/ShortcutUtils.sys.mjs
|
diff --git a/toolkit/modules/ShortcutUtils.sys.mjs b/toolkit/modules/ShortcutUtils.sys.mjs
|
||||||
index 360a7dbeeae3899af01945e35d5fe3aa0cb3c562..354c0c9e65e443682a2b12113bc618af9e07910f 100644
|
index 3e796cb6586ad39257a29c2a6da1d0415f4c2676..dd883f81612d9dc892e720b63e2793e43b9686b3 100644
|
||||||
--- a/toolkit/modules/ShortcutUtils.sys.mjs
|
--- a/toolkit/modules/ShortcutUtils.sys.mjs
|
||||||
+++ b/toolkit/modules/ShortcutUtils.sys.mjs
|
+++ b/toolkit/modules/ShortcutUtils.sys.mjs
|
||||||
@@ -140,6 +140,7 @@ export var ShortcutUtils = {
|
@@ -140,6 +140,7 @@ export var ShortcutUtils = {
|
||||||
@@ -10,18 +10,3 @@ index 360a7dbeeae3899af01945e35d5fe3aa0cb3c562..354c0c9e65e443682a2b12113bc618af
|
|||||||
key = keyAttribute.toUpperCase();
|
key = keyAttribute.toUpperCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -382,12 +383,12 @@ export var ShortcutUtils = {
|
|
||||||
return ShortcutUtils.MOVE_TAB_FORWARD;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
- case event.DOM_VK_LEFT:
|
|
||||||
+ case event.DOM_VK_UP: // For macOS, make sure if this patch needs to be updated
|
|
||||||
if (accelMetaKey && event.altKey && !event.shiftKey && !event.ctrlKey) {
|
|
||||||
return ShortcutUtils.PREVIOUS_TAB;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
- case event.DOM_VK_RIGHT:
|
|
||||||
+ case event.DOM_VK_DOWN: // For macOS, make sure if this patch needs to be updated
|
|
||||||
if (accelMetaKey && event.altKey && !event.shiftKey && !event.ctrlKey) {
|
|
||||||
return ShortcutUtils.NEXT_TAB;
|
|
||||||
}
|
|
||||||
|
13
src/toolkit/themes/shared/menulist-css.patch
Normal file
13
src/toolkit/themes/shared/menulist-css.patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/toolkit/themes/shared/menulist.css b/toolkit/themes/shared/menulist.css
|
||||||
|
index e5ac973b1ee2595e8547680465e25d537685a9e7..20f85152d783c81be5e29846353daca9ccd0c67d 100644
|
||||||
|
--- a/toolkit/themes/shared/menulist.css
|
||||||
|
+++ b/toolkit/themes/shared/menulist.css
|
||||||
|
@@ -53,7 +53,7 @@
|
||||||
|
|
||||||
|
:host(:not([native])) {
|
||||||
|
appearance: none;
|
||||||
|
- background-color: var(--button-background-color);
|
||||||
|
+ background-color: light-dark(rgba(0,0,0,.1), rgba(255,255,255,.1));
|
||||||
|
color: var(--button-text-color);
|
||||||
|
border-radius: 4px;
|
||||||
|
padding-block: 4px;
|
@@ -1,13 +0,0 @@
|
|||||||
diff --git a/toolkit/themes/shared/menulist-shared.css b/toolkit/themes/shared/menulist-shared.css
|
|
||||||
index 5dd5549674570170a694afbd9ea4526e52e3192a..a24ded413065ce1493e8622c5777c5b5bdac128e 100644
|
|
||||||
--- a/toolkit/themes/shared/menulist-shared.css
|
|
||||||
+++ b/toolkit/themes/shared/menulist-shared.css
|
|
||||||
@@ -14,7 +14,7 @@
|
|
||||||
|
|
||||||
:host(:not([native])) {
|
|
||||||
appearance: none;
|
|
||||||
- background-color: var(--button-background-color);
|
|
||||||
+ background-color: light-dark(rgba(0,0,0,.1), rgba(255,255,255,.1));
|
|
||||||
color: var(--button-text-color);
|
|
||||||
border-radius: 4px;
|
|
||||||
padding-block: 4px;
|
|
21
src/widget/SwipeTracker-cpp.patch
Normal file
21
src/widget/SwipeTracker-cpp.patch
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
diff --git a/widget/SwipeTracker.cpp b/widget/SwipeTracker.cpp
|
||||||
|
index b09252fd60beb10d5865d226c39ee0c8a9c22d87..91f68161209c6ca3f3bac22997d4e2066f1fafec 100644
|
||||||
|
--- a/widget/SwipeTracker.cpp
|
||||||
|
+++ b/widget/SwipeTracker.cpp
|
||||||
|
@@ -5,6 +5,7 @@
|
||||||
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
|
#include "SwipeTracker.h"
|
||||||
|
+#include "mozilla/StaticPrefs_zen.h"
|
||||||
|
|
||||||
|
#include "InputData.h"
|
||||||
|
#include "mozilla/FlushType.h"
|
||||||
|
@@ -90,7 +91,7 @@ bool SwipeTracker::ComputeSwipeSuccess() const {
|
||||||
|
|
||||||
|
return (mGestureAmount * targetValue +
|
||||||
|
mCurrentVelocity * targetValue *
|
||||||
|
- StaticPrefs::widget_swipe_success_velocity_contribution()) >=
|
||||||
|
+ (StaticPrefs::zen_swipe_is_fast_swipe() ? 0.5 : StaticPrefs::widget_swipe_success_velocity_contribution())) >=
|
||||||
|
kSwipeSuccessThreshold;
|
||||||
|
}
|
||||||
|
|
@@ -1,20 +1,20 @@
|
|||||||
diff --git a/widget/cocoa/VibrancyManager.mm b/widget/cocoa/VibrancyManager.mm
|
diff --git a/widget/cocoa/VibrancyManager.mm b/widget/cocoa/VibrancyManager.mm
|
||||||
index 849b62c9976a7bc5fee35e074e54c8f556ed9c38..a9742c7ff30d417a18f41f9c120259192f33a0fd 100644
|
index b4c14233c64dd3515518d3167f8ee2877fe41a93..2b91fa3044794765b8e15c6b66b348de4111f29f 100644
|
||||||
--- a/widget/cocoa/VibrancyManager.mm
|
--- a/widget/cocoa/VibrancyManager.mm
|
||||||
+++ b/widget/cocoa/VibrancyManager.mm
|
+++ b/widget/cocoa/VibrancyManager.mm
|
||||||
@@ -13,6 +13,7 @@
|
@@ -13,6 +13,7 @@
|
||||||
|
|
||||||
#include "nsChildView.h"
|
#include "nsCocoaWindow.h"
|
||||||
#include "mozilla/StaticPrefs_widget.h"
|
#include "mozilla/StaticPrefs_widget.h"
|
||||||
+#include "mozilla/StaticPrefs_zen.h"
|
+#include "mozilla/StaticPrefs_zen.h"
|
||||||
|
|
||||||
using namespace mozilla;
|
using namespace mozilla;
|
||||||
|
|
||||||
@@ -40,7 +41,23 @@ static NSVisualEffectMaterial VisualEffectMaterialForVibrancyType(
|
@@ -38,7 +39,23 @@ static NSVisualEffectMaterial VisualEffectMaterialForVibrancyType(
|
||||||
|
VibrancyType aType) {
|
||||||
|
switch (aType) {
|
||||||
case VibrancyType::Sidebar:
|
case VibrancyType::Sidebar:
|
||||||
return NSVisualEffectMaterialSidebar;
|
- return NSVisualEffectMaterialSidebar;
|
||||||
case VibrancyType::Titlebar:
|
|
||||||
- return NSVisualEffectMaterialTitlebar;
|
|
||||||
+ switch (StaticPrefs::zen_widget_macos_window_material()) {
|
+ switch (StaticPrefs::zen_widget_macos_window_material()) {
|
||||||
+ case 1:
|
+ case 1:
|
||||||
+ return NSVisualEffectMaterialHUDWindow;
|
+ return NSVisualEffectMaterialHUDWindow;
|
||||||
@@ -32,10 +32,10 @@ index 849b62c9976a7bc5fee35e074e54c8f556ed9c38..a9742c7ff30d417a18f41f9c12025919
|
|||||||
+ default:
|
+ default:
|
||||||
+ return NSVisualEffectMaterialUnderWindowBackground;
|
+ return NSVisualEffectMaterialUnderWindowBackground;
|
||||||
+ }
|
+ }
|
||||||
|
case VibrancyType::Titlebar:
|
||||||
|
return NSVisualEffectMaterialTitlebar;
|
||||||
}
|
}
|
||||||
}
|
@@ -78,6 +95,7 @@ - (NSView*)hitTest:(NSPoint)aPoint {
|
||||||
|
|
||||||
@@ -78,6 +95,7 @@ static NSVisualEffectBlendingMode VisualEffectBlendingModeForVibrancyType(
|
|
||||||
|
|
||||||
- (void)prefChanged {
|
- (void)prefChanged {
|
||||||
self.blendingMode = VisualEffectBlendingModeForVibrancyType(mType);
|
self.blendingMode = VisualEffectBlendingModeForVibrancyType(mType);
|
||||||
@@ -50,4 +50,4 @@ index 849b62c9976a7bc5fee35e074e54c8f556ed9c38..a9742c7ff30d417a18f41f9c12025919
|
|||||||
+ "zen.widget.macos.window-material"_ns,
|
+ "zen.widget.macos.window-material"_ns,
|
||||||
};
|
};
|
||||||
|
|
||||||
VibrancyManager::VibrancyManager(const nsChildView& aCoordinateConverter,
|
VibrancyManager::VibrancyManager(const nsCocoaWindow& aCoordinateConverter,
|
||||||
|
13
src/widget/cocoa/nsCocoaWindow-mm.patch
Normal file
13
src/widget/cocoa/nsCocoaWindow-mm.patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/widget/cocoa/nsCocoaWindow.mm b/widget/cocoa/nsCocoaWindow.mm
|
||||||
|
index c4627621344d35081f11a7b0e03d02eca2097609..c9e35156b484f1afdecdd7f93b6bf02e25fae09b 100644
|
||||||
|
--- a/widget/cocoa/nsCocoaWindow.mm
|
||||||
|
+++ b/widget/cocoa/nsCocoaWindow.mm
|
||||||
|
@@ -7376,7 +7376,7 @@ - (id)initWithContentRect:(NSRect)aContentRect
|
||||||
|
|
||||||
|
// Returns an autoreleased NSImage.
|
||||||
|
static NSImage* GetMenuMaskImage() {
|
||||||
|
- const CGFloat radius = 6.0f;
|
||||||
|
+ const CGFloat radius = 10.0f;
|
||||||
|
const NSSize maskSize = {radius * 3.0f, radius * 3.0f};
|
||||||
|
NSImage* maskImage = [NSImage imageWithSize:maskSize
|
||||||
|
flipped:FALSE
|
@@ -72,7 +72,7 @@ var gZenCommonActions = {
|
|||||||
let transferable = Cc['@mozilla.org/widget/transferable;1'].createInstance(
|
let transferable = Cc['@mozilla.org/widget/transferable;1'].createInstance(
|
||||||
Ci.nsITransferable
|
Ci.nsITransferable
|
||||||
);
|
);
|
||||||
transferable.init(getLoadContext());
|
transferable.init(window.docShell.QueryInterface(Ci.nsILoadContext));
|
||||||
transferable.addDataFlavor('text/plain');
|
transferable.addDataFlavor('text/plain');
|
||||||
transferable.setTransferData('text/plain', str);
|
transferable.setTransferData('text/plain', str);
|
||||||
Services.clipboard.setData(transferable, null, Ci.nsIClipboard.kGlobalClipboard);
|
Services.clipboard.setData(transferable, null, Ci.nsIClipboard.kGlobalClipboard);
|
||||||
@@ -110,7 +110,7 @@ var gZenCommonActions = {
|
|||||||
let transferable = Cc['@mozilla.org/widget/transferable;1'].createInstance(
|
let transferable = Cc['@mozilla.org/widget/transferable;1'].createInstance(
|
||||||
Ci.nsITransferable
|
Ci.nsITransferable
|
||||||
);
|
);
|
||||||
transferable.init(getLoadContext());
|
transferable.init(window.docShell.QueryInterface(Ci.nsILoadContext));
|
||||||
transferable.addDataFlavor('text/plain');
|
transferable.addDataFlavor('text/plain');
|
||||||
transferable.setTransferData('text/plain', str);
|
transferable.setTransferData('text/plain', str);
|
||||||
Services.clipboard.setData(transferable, null, Ci.nsIClipboard.kGlobalClipboard);
|
Services.clipboard.setData(transferable, null, Ci.nsIClipboard.kGlobalClipboard);
|
||||||
|
@@ -1,22 +1,15 @@
|
|||||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
// 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
|
// 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/.
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
const lazy = {};
|
|
||||||
|
|
||||||
var { AppConstants } = ChromeUtils.importESModule('resource://gre/modules/AppConstants.sys.mjs');
|
class nsZenUIMigration {
|
||||||
|
PREF_NAME = 'zen.ui.migration.version';
|
||||||
|
MIGRATION_VERSION = 1;
|
||||||
|
|
||||||
ChromeUtils.defineESModuleGetters(lazy, {
|
init(isNewProfile) {
|
||||||
BrowserWindowTracker: 'resource:///modules/BrowserWindowTracker.sys.mjs',
|
|
||||||
});
|
|
||||||
|
|
||||||
class ZenUIMigration {
|
|
||||||
PREF_NAME = 'zen.migration.version';
|
|
||||||
MIGRATION_VERSION = 5;
|
|
||||||
|
|
||||||
init(isNewProfile, win) {
|
|
||||||
if (!isNewProfile) {
|
if (!isNewProfile) {
|
||||||
try {
|
try {
|
||||||
this._migrate(win);
|
this._migrate();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('ZenUIMigration: Error during migration', e);
|
console.error('ZenUIMigration: Error during migration', e);
|
||||||
}
|
}
|
||||||
@@ -32,18 +25,11 @@ class ZenUIMigration {
|
|||||||
Services.prefs.setIntPref(this.PREF_NAME, value);
|
Services.prefs.setIntPref(this.PREF_NAME, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
_migrate(win) {
|
_migrate() {
|
||||||
if (this._migrationVersion < 1) {
|
for (let i = 0; i <= this.MIGRATION_VERSION; i++) {
|
||||||
this._migrateV1(win);
|
if (this._migrationVersion < i) {
|
||||||
|
this[`_migrateV${i}`]?.();
|
||||||
}
|
}
|
||||||
if (this._migrationVersion < 2) {
|
|
||||||
this._migrateV2(win);
|
|
||||||
}
|
|
||||||
if (this._migrationVersion < 3) {
|
|
||||||
this._migrateV3(win);
|
|
||||||
}
|
|
||||||
if (this._migrationVersion < 4) {
|
|
||||||
this._migrateV4(win);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,59 +37,27 @@ class ZenUIMigration {
|
|||||||
this._migrationVersion = this.MIGRATION_VERSION;
|
this._migrationVersion = this.MIGRATION_VERSION;
|
||||||
}
|
}
|
||||||
|
|
||||||
_migrateV1(win) {
|
_migrateV1() {
|
||||||
// Introduction of the new URL bar, show a message to the user
|
// If there's an userChrome.css or userContent.css existing, we set
|
||||||
const notification = win.gNotificationBox.appendNotification(
|
// 'toolkit.legacyUserProfileCustomizations.stylesheets' back to true
|
||||||
'zen-new-urlbar-notification',
|
// We do this to avoid existing user stylesheets to be ignored
|
||||||
{
|
const profileDir = Services.dirsvc.get('ProfD', Ci.nsIFile);
|
||||||
label: { 'l10n-id': 'zen-new-urlbar-notification' },
|
const userChromeFile = profileDir.clone();
|
||||||
image: 'chrome://browser/skin/notification-icons/persistent-storage-blocked.svg',
|
userChromeFile.append('chrome');
|
||||||
priority: win.gNotificationBox.PRIORITY_WARNING_HIGH,
|
userChromeFile.append('userChrome.css');
|
||||||
},
|
const userContentFile = profileDir.clone();
|
||||||
[
|
userContentFile.append('chrome');
|
||||||
{
|
userContentFile.append('userContent.css');
|
||||||
'l10n-id': 'zen-disable',
|
if (userChromeFile.exists() || userContentFile.exists()) {
|
||||||
accessKey: 'D',
|
Services.prefs.setBoolPref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
|
||||||
callback: () => {
|
|
||||||
Services.prefs.setBoolPref('zen.urlbar.replace-newtab', false);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
link: 'https://docs.zen-browser.app/user-manual/urlbar/',
|
|
||||||
'l10n-id': 'zen-learn-more-text',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
_migrateV2(win) {
|
|
||||||
if (Services.prefs.getBoolPref('zen.widget.windows.acrylic', false)) {
|
|
||||||
Services.prefs.setIntPref('widget.windows.mica.toplevel-backdrop', 2);
|
|
||||||
Services.prefs.clearUserPref('zen.widget.windows.acrylic');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_migrateV3(win) {
|
|
||||||
const kArea = win.CustomizableUI.AREA_TABSTRIP;
|
|
||||||
const widgets = win.CustomizableUI.getWidgetsInArea(kArea);
|
|
||||||
for (const widget of widgets) {
|
|
||||||
const widgetId = widget.id;
|
|
||||||
if (widgetId === 'tabbrowser-tabs') {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
win.CustomizableUI.removeWidgetFromArea(widgetId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_migrateV4(win) {
|
|
||||||
if (AppConstants.platform === 'linux') {
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
Services.prefs.setBoolPref(
|
Services.prefs.setBoolPref(
|
||||||
'browser.tabs.unloadOnLowMemory',
|
'zen.workspaces.separate-essentials',
|
||||||
Services.prefs.getBoolPref('zen.tab-unloader.enabled', true)
|
Services.prefs.getBoolPref('zen.workspaces.container-specific-essentials-enabled', false)
|
||||||
);
|
);
|
||||||
|
const theme = Services.prefs.getIntPref('layout.css.prefers-color-scheme.content-override', 0);
|
||||||
|
Services.prefs.setIntPref('zen.view.window.scheme', theme);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export var gZenUIMigration = new ZenUIMigration();
|
export var gZenUIMigration = new nsZenUIMigration();
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
& browser[transparent='true'] {
|
& browser[transparent='true'] {
|
||||||
background: rgba(255, 255, 255, 0.1);
|
background: light-dark(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
#navigator-toolbox {
|
#navigator-toolbox {
|
||||||
/* see issue #426 */
|
/* see issue #426 */
|
||||||
background: var(--zen-navigator-toolbox-background, transparent) !important;
|
background: var(--zen-navigator-toolbox-background, transparent) !important;
|
||||||
--inactive-titlebar-opacity: 1;
|
--inactive-titlebar-opacity: 0.8;
|
||||||
}
|
}
|
||||||
|
|
||||||
#nav-bar,
|
#nav-bar,
|
||||||
@@ -47,6 +47,8 @@
|
|||||||
|
|
||||||
isolation: isolate;
|
isolation: isolate;
|
||||||
|
|
||||||
|
background: var(--zen-themed-toolbar-bg-transparent);
|
||||||
|
|
||||||
&::after,
|
&::after,
|
||||||
&::before {
|
&::before {
|
||||||
content: '';
|
content: '';
|
||||||
@@ -63,6 +65,12 @@
|
|||||||
transition: 0s;
|
transition: 0s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (-moz-pref('zen.view.grey-out-inactive-windows')) {
|
||||||
|
&:-moz-window-inactive {
|
||||||
|
background: InactiveCaption;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
background: var(--zen-main-browser-background-old);
|
background: var(--zen-main-browser-background-old);
|
||||||
opacity: calc(1 - var(--zen-background-opacity));
|
opacity: calc(1 - var(--zen-background-opacity));
|
||||||
@@ -91,20 +99,22 @@
|
|||||||
z-index: 1;
|
z-index: 1;
|
||||||
opacity: var(--zen-grainy-background-opacity, 0);
|
opacity: var(--zen-grainy-background-opacity, 0);
|
||||||
mix-blend-mode: overlay;
|
mix-blend-mode: overlay;
|
||||||
|
:root:not([swipe-gesture='true']) & {
|
||||||
transition: opacity 0.3s ease-in-out;
|
transition: opacity 0.3s ease-in-out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#sidebar-box {
|
#sidebar-box {
|
||||||
/** Sidebar is already hidden in full screen mode */
|
/** Sidebar is already hidden in full screen mode */
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@supports (-moz-osx-font-smoothing: auto) {
|
@media (-moz-platform: macos) {
|
||||||
#zen-main-app-wrapper,
|
#zen-main-app-wrapper,
|
||||||
#zen-appcontent-wrapper,
|
#zen-appcontent-wrapper,
|
||||||
#zen-sidebar-splitter {
|
#zen-sidebar-splitter {
|
||||||
appearance: -moz-window-titlebar !important;
|
appearance: -moz-sidebar !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,7 +128,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#zen-main-app-wrapper {
|
#zen-main-app-wrapper {
|
||||||
background: var(--zen-themed-toolbar-bg-transparent);
|
background: transparent;
|
||||||
/* See bug #8814, don't an overflow here as it causes issues
|
/* See bug #8814, don't an overflow here as it causes issues
|
||||||
* with firefox's rendering of the tab bar */
|
* with firefox's rendering of the tab bar */
|
||||||
|
|
||||||
@@ -130,14 +140,6 @@
|
|||||||
background: ActiveCaption;
|
background: ActiveCaption;
|
||||||
color: CaptionText;
|
color: CaptionText;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media -moz-pref('zen.view.grey-out-inactive-windows') {
|
|
||||||
transition: background-color var(--inactive-window-transition);
|
|
||||||
&:-moz-window-inactive {
|
|
||||||
background-color: InactiveCaption;
|
|
||||||
color: InactiveCaptionText;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-appcontent-wrapper {
|
#zen-appcontent-wrapper {
|
||||||
@@ -188,6 +190,7 @@
|
|||||||
|
|
||||||
@media -moz-pref('zen.widget.mac.mono-window-controls') {
|
@media -moz-pref('zen.widget.mac.mono-window-controls') {
|
||||||
.titlebar-buttonbox-container {
|
.titlebar-buttonbox-container {
|
||||||
|
color: var(--toolbox-textcolor);
|
||||||
/* Draw 3 dots as background to represent the window controls,
|
/* Draw 3 dots as background to represent the window controls,
|
||||||
all with the same cololr as the titlebar */
|
all with the same cololr as the titlebar */
|
||||||
background-image: radial-gradient(
|
background-image: radial-gradient(
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
panel[type='arrow'][animate='open'] {
|
panel[type='arrow'][animate='open'] {
|
||||||
@media (-moz-platform: macos) {
|
@media (-moz-platform: macos) and (-moz-panel-animations) {
|
||||||
animation: zen-jello-animation-macos 0.4s ease-out;
|
animation: zen-jello-animation-macos 0.4s ease-out;
|
||||||
&[side='bottom'] {
|
&[side='bottom'] {
|
||||||
/* Animate from the bottom */
|
/* Animate from the bottom */
|
||||||
@@ -20,7 +20,7 @@ panel[type='arrow'][animate='open'] {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media (-moz-platform: linux) or ((-moz-platform: windows) and (not (-moz-windows-mica-popups))) {
|
@media (-moz-platform: linux) or ((-moz-platform: windows) and (not (-moz-windows-mica-popups))) and (-moz-panel-animations) {
|
||||||
/* Mica popups have a weird background while the animation is running */
|
/* Mica popups have a weird background while the animation is running */
|
||||||
&::part(content) {
|
&::part(content) {
|
||||||
animation: zen-jello-animation 0.35s ease;
|
animation: zen-jello-animation 0.35s ease;
|
||||||
@@ -64,7 +64,7 @@ panel[type='arrow'] {
|
|||||||
--panel-border-radius: 6px;
|
--panel-border-radius: 6px;
|
||||||
|
|
||||||
&::part(content) {
|
&::part(content) {
|
||||||
background-color: light-dark(rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.2)) !important;
|
background-color: transparent !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -369,7 +369,6 @@ menuseparator {
|
|||||||
var(--zen-primary-color) -40%,
|
var(--zen-primary-color) -40%,
|
||||||
color-mix(in srgb, var(--zen-primary-color) 85%, #0f0f0f 15%)
|
color-mix(in srgb, var(--zen-primary-color) 85%, #0f0f0f 15%)
|
||||||
);
|
);
|
||||||
color: var(--button-primary-color);
|
|
||||||
box-shadow: 0 0 14px 3px rgba(0, 0, 0, 0.05);
|
box-shadow: 0 0 14px 3px rgba(0, 0, 0, 0.05);
|
||||||
border: 1px solid light-dark(rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.2));
|
border: 1px solid light-dark(rgba(255, 255, 255, 0.2), rgba(0, 0, 0, 0.2));
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -394,7 +393,6 @@ menuseparator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
& button {
|
& button {
|
||||||
color-scheme: dark;
|
|
||||||
width: min-content;
|
width: min-content;
|
||||||
padding: 0 10px !important;
|
padding: 0 10px !important;
|
||||||
min-width: unset !important;
|
min-width: unset !important;
|
||||||
|
@@ -98,3 +98,27 @@ body > #confetti {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.toolbarbutton-1 {
|
||||||
|
:root:is([zen-single-toolbar='true'], :not([zen-sidebar-expanded='true']))
|
||||||
|
#zen-sidebar-top-buttons-customization-target
|
||||||
|
&,
|
||||||
|
#zen-sidebar-foot-buttons & {
|
||||||
|
--tab-border-radius: 4px;
|
||||||
|
--toolbarbutton-border-radius: var(--tab-border-radius);
|
||||||
|
--toolbarbutton-inner-padding: 7px;
|
||||||
|
|
||||||
|
&,
|
||||||
|
& stack {
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
transition:
|
||||||
|
background-color 0.1s,
|
||||||
|
scale 0.2s;
|
||||||
|
&:active {
|
||||||
|
transform: scale(0.98);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -9,12 +9,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
:host(:is(.anonymous-content-host, notification-message)),
|
:host(:is(.anonymous-content-host, notification-message)),
|
||||||
:root,
|
:root {
|
||||||
.zenLooksAndFeelColorOption {
|
|
||||||
/** We also add `.zenLooksAndFeelColorOption` so that it recalculates the colors when the theme changes
|
|
||||||
* in the preferences page.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Default values */
|
/* Default values */
|
||||||
--zen-border-radius: 7px;
|
--zen-border-radius: 7px;
|
||||||
--zen-primary-color: #ffb787;
|
--zen-primary-color: #ffb787;
|
||||||
@@ -49,7 +44,7 @@
|
|||||||
var(--zen-colors-tertiary) 99%
|
var(--zen-colors-tertiary) 99%
|
||||||
);
|
);
|
||||||
|
|
||||||
--zen-dialog-background: var(--zen-colors-tertiary);
|
--zen-dialog-background: light-dark(var(--zen-colors-tertiary), var(--zen-branding-bg));
|
||||||
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 3%, #f4f4f4 97%);
|
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 3%, #f4f4f4 97%);
|
||||||
|
|
||||||
--zen-secondary-btn-color: var(--zen-colors-primary-foreground);
|
--zen-secondary-btn-color: var(--zen-colors-primary-foreground);
|
||||||
@@ -89,10 +84,10 @@
|
|||||||
--button-bgcolor: var(--in-content-button-background) !important;
|
--button-bgcolor: var(--in-content-button-background) !important;
|
||||||
--button-hover-bgcolor: var(--in-content-button-background-hover) !important;
|
--button-hover-bgcolor: var(--in-content-button-background-hover) !important;
|
||||||
--button-hover-color: var(--in-content-button-text-color-hover) !important;
|
--button-hover-color: var(--in-content-button-text-color-hover) !important;
|
||||||
--focus-outline-color: var(--button-bgcolor) !important;
|
--focus-outline-color: var(--color-accent-primary) !important;
|
||||||
|
|
||||||
--toolbarbutton-icon-fill-attention: var(--zen-primary-color) !important;
|
--toolbarbutton-icon-fill-attention: var(--zen-primary-color) !important;
|
||||||
--toolbarbutton-icon-fill: light-dark(rgba(57, 57, 58, 0.6), rgba(251, 251, 254, 0.6)) !important;
|
--toolbarbutton-icon-fill: currentColor !important;
|
||||||
|
|
||||||
--button-primary-bgcolor: var(--in-content-primary-button-background) !important;
|
--button-primary-bgcolor: var(--in-content-primary-button-background) !important;
|
||||||
--button-primary-hover-bgcolor: var(--in-content-primary-button-background-hover) !important;
|
--button-primary-hover-bgcolor: var(--in-content-primary-button-background-hover) !important;
|
||||||
@@ -121,18 +116,30 @@
|
|||||||
--zen-button-border-radius: 5px;
|
--zen-button-border-radius: 5px;
|
||||||
--zen-button-padding: 0.6rem 1.2rem;
|
--zen-button-padding: 0.6rem 1.2rem;
|
||||||
|
|
||||||
--zen-toolbar-element-bg: light-dark(rgba(89, 89, 89, 0.1), rgba(255, 255, 255, 0.1));
|
--zen-toolbar-element-bg: light-dark(
|
||||||
|
color-mix(in oklch, var(--toolbox-textcolor) 9%, transparent),
|
||||||
|
color-mix(in oklch, var(--toolbox-textcolor) 15%, transparent)
|
||||||
|
);
|
||||||
|
|
||||||
/* Toolbar */
|
/* Toolbar */
|
||||||
|
--tab-selected-color-scheme: inherit;
|
||||||
|
|
||||||
--zen-toolbar-height: 38px;
|
--zen-toolbar-height: 38px;
|
||||||
--zen-toolbar-button-inner-padding: 6px;
|
--zen-toolbar-button-inner-padding: 6px;
|
||||||
--toolbarbutton-outer-padding: 4px;
|
--toolbarbutton-outer-padding: 4px;
|
||||||
|
|
||||||
--toolbarbutton-hover-background: color-mix(
|
--toolbarbutton-inner-padding: 5px !important;
|
||||||
|
|
||||||
|
--toolbarbutton-hover-background: var(--zen-toolbar-element-bg) !important;
|
||||||
|
|
||||||
|
--toolbarbutton-active-background: color-mix(
|
||||||
in srgb,
|
in srgb,
|
||||||
var(--zen-branding-bg-reverse) 10%,
|
var(--zen-branding-bg-reverse) 7%,
|
||||||
transparent 90%
|
transparent 93%
|
||||||
);
|
) !important;
|
||||||
|
|
||||||
|
--toolbar-color: light-dark(rgb(21, 20, 26, 0.7), rgb(251, 251, 254, 0.7)) !important;
|
||||||
|
--toolbox-textcolor-inactive: var(--toolbox-textcolor) !important;
|
||||||
|
|
||||||
/* Other colors */
|
/* Other colors */
|
||||||
--urlbar-box-bgcolor: var(--zen-urlbar-background) !important;
|
--urlbar-box-bgcolor: var(--zen-urlbar-background) !important;
|
||||||
@@ -155,34 +162,15 @@
|
|||||||
--urlbar-margin-inline: 1px !important;
|
--urlbar-margin-inline: 1px !important;
|
||||||
|
|
||||||
--tab-icon-overlay-stroke: light-dark(white, black) !important;
|
--tab-icon-overlay-stroke: light-dark(white, black) !important;
|
||||||
|
|
||||||
--tab-close-button-padding: 5px !important;
|
--tab-close-button-padding: 5px !important;
|
||||||
|
|
||||||
--toolbarbutton-active-background: var(--zen-toolbar-element-bg);
|
|
||||||
|
|
||||||
--input-bgcolor: var(--zen-colors-tertiary) !important;
|
--input-bgcolor: var(--zen-colors-tertiary) !important;
|
||||||
--input-border-color: var(--zen-input-border-color) !important;
|
--input-border-color: var(--zen-input-border-color) !important;
|
||||||
--zen-themed-toolbar-bg: light-dark(rgb(240, 240, 244), #171717);
|
|
||||||
--zen-themed-toolbar-bg-transparent: light-dark(var(--zen-branding-bg), #171717);
|
--zen-themed-toolbar-bg-transparent: light-dark(var(--zen-branding-bg), #171717);
|
||||||
|
|
||||||
--zen-workspace-indicator-height: 48px;
|
--zen-workspace-indicator-height: 48px;
|
||||||
|
|
||||||
@media (-moz-windows-mica) or (-moz-platform: macos) {
|
--toolbar-field-color: var(--toolbox-textcolor) !important;
|
||||||
background: transparent;
|
|
||||||
--zen-themed-toolbar-bg-transparent: transparent;
|
|
||||||
@media -moz-pref('widget.windows.mica.toplevel-backdrop', 2) {
|
|
||||||
--zen-themed-toolbar-bg-transparent: color-mix(
|
|
||||||
in srgb,
|
|
||||||
var(--zen-themed-toolbar-bg) 35%,
|
|
||||||
transparent 65%
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (-moz-platform: linux) and -moz-pref('zen.widget.linux.transparency') {
|
|
||||||
background: transparent;
|
|
||||||
--zen-themed-toolbar-bg-transparent: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
&[zen-private-window='true'] {
|
&[zen-private-window='true'] {
|
||||||
--zen-main-browser-background: linear-gradient(
|
--zen-main-browser-background: linear-gradient(
|
||||||
@@ -192,6 +180,7 @@
|
|||||||
);
|
);
|
||||||
--zen-main-browser-background-toolbar: var(--zen-main-browser-background);
|
--zen-main-browser-background-toolbar: var(--zen-main-browser-background);
|
||||||
--zen-primary-color: light-dark(rgb(93, 42, 107), rgb(110, 48, 125)) !important;
|
--zen-primary-color: light-dark(rgb(93, 42, 107), rgb(110, 48, 125)) !important;
|
||||||
|
--toolbox-textcolor: currentColor !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
--toolbar-field-background-color: var(--zen-colors-input-bg) !important;
|
--toolbar-field-background-color: var(--zen-colors-input-bg) !important;
|
||||||
@@ -203,11 +192,7 @@
|
|||||||
--zen-active-tab-scale: 0.98;
|
--zen-active-tab-scale: 0.98;
|
||||||
|
|
||||||
/* Define tab hover background color */
|
/* Define tab hover background color */
|
||||||
--tab-hover-background-color: color-mix(
|
--tab-hover-background-color: var(--toolbarbutton-hover-background);
|
||||||
in srgb,
|
|
||||||
var(--toolbarbutton-hover-background) 50%,
|
|
||||||
transparent 50%
|
|
||||||
);
|
|
||||||
|
|
||||||
/* Nativity */
|
/* Nativity */
|
||||||
--zen-native-content-radius: var(--zen-border-radius);
|
--zen-native-content-radius: var(--zen-border-radius);
|
||||||
@@ -239,40 +224,77 @@
|
|||||||
|
|
||||||
#main-window:not([chromehidden~='toolbar']) {
|
#main-window:not([chromehidden~='toolbar']) {
|
||||||
min-height: 495px !important;
|
min-height: 495px !important;
|
||||||
|
|
||||||
|
@media (-moz-windows-mica) or (-moz-platform: macos) or ((-moz-platform: linux) and -moz-pref('zen.widget.linux.transparency')) {
|
||||||
|
background: transparent;
|
||||||
|
--zen-themed-toolbar-bg-transparent: transparent;
|
||||||
|
@media -moz-pref('widget.windows.mica.toplevel-backdrop', 2) {
|
||||||
|
--zen-themed-toolbar-bg-transparent: light-dark(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.3));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&[zen-should-be-dark-mode='true'] #browser {
|
||||||
|
color-scheme: dark;
|
||||||
|
}
|
||||||
|
|
||||||
|
&[zen-should-be-dark-mode='false'] #browser {
|
||||||
|
color-scheme: light;
|
||||||
|
}
|
||||||
|
|
||||||
|
&,
|
||||||
|
& panel,
|
||||||
|
& menupopup,
|
||||||
|
& #zen-browser-background,
|
||||||
|
& #urlbar[breakout-extend='true'],
|
||||||
|
& #tabbrowser-tabpanels browser[type='content'] {
|
||||||
|
@media -moz-pref('zen.view.window.scheme', 0) {
|
||||||
|
color-scheme: dark;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media -moz-pref('zen.view.window.scheme', 1) {
|
||||||
|
color-scheme: light;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media -moz-pref('zen.view.window.scheme', 2) {
|
||||||
|
color-scheme: light;
|
||||||
|
@media (-moz-system-dark-theme) {
|
||||||
|
color-scheme: dark;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
:host(:is(.anonymous-content-host, notification-message)),
|
:host(:is(.anonymous-content-host, notification-message)),
|
||||||
:root {
|
:root {
|
||||||
--zen-in-content-dialog-background: var(--zen-branding-bg);
|
--zen-in-content-dialog-background: var(--zen-branding-bg);
|
||||||
--zen-dark-color-mix-base: var(--zen-branding-bg);
|
|
||||||
--zen-colors-primary: color-mix(
|
--zen-colors-primary: color-mix(
|
||||||
in srgb,
|
in srgb,
|
||||||
var(--zen-primary-color) 20%,
|
var(--zen-primary-color) 20%,
|
||||||
var(--zen-dark-color-mix-base) 80%
|
var(--zen-branding-bg) 80%
|
||||||
);
|
);
|
||||||
--zen-colors-secondary: color-mix(
|
--zen-colors-secondary: color-mix(
|
||||||
in srgb,
|
in srgb,
|
||||||
var(--zen-primary-color) 30%,
|
var(--zen-primary-color) 30%,
|
||||||
var(--zen-dark-color-mix-base) 70%
|
var(--zen-branding-bg) 70%
|
||||||
);
|
);
|
||||||
--zen-colors-tertiary: color-mix(
|
--zen-colors-tertiary: color-mix(
|
||||||
in srgb,
|
in srgb,
|
||||||
var(--zen-primary-color) 1%,
|
var(--zen-primary-color) 1%,
|
||||||
var(--zen-dark-color-mix-base) 99%
|
var(--zen-branding-bg) 99%
|
||||||
);
|
);
|
||||||
|
|
||||||
--zen-colors-hover-bg: color-mix(
|
--zen-colors-hover-bg: color-mix(
|
||||||
in srgb,
|
in srgb,
|
||||||
var(--zen-primary-color) 90%,
|
var(--zen-primary-color) 90%,
|
||||||
var(--zen-dark-color-mix-base) 10%
|
var(--zen-branding-bg) 10%
|
||||||
);
|
);
|
||||||
--zen-colors-primary-foreground: color-mix(in srgb, var(--zen-primary-color) 80%, white 20%);
|
--zen-colors-primary-foreground: color-mix(in srgb, var(--zen-primary-color) 80%, white 20%);
|
||||||
|
|
||||||
--zen-colors-input-bg: color-mix(
|
--zen-colors-input-bg: color-mix(
|
||||||
in srgb,
|
in srgb,
|
||||||
var(--zen-primary-color) 1%,
|
var(--zen-primary-color) 1%,
|
||||||
var(--zen-dark-color-mix-base) 99%
|
var(--zen-branding-bg) 99%
|
||||||
);
|
);
|
||||||
--zen-colors-border: color-mix(in srgb, var(--zen-colors-secondary) 20%, rgb(79, 79, 79) 80%);
|
--zen-colors-border: color-mix(in srgb, var(--zen-colors-secondary) 20%, rgb(79, 79, 79) 80%);
|
||||||
--zen-colors-border-contrast: color-mix(
|
--zen-colors-border-contrast: color-mix(
|
||||||
@@ -281,13 +303,12 @@
|
|||||||
rgba(255, 255, 255, 0.11) 90%
|
rgba(255, 255, 255, 0.11) 90%
|
||||||
);
|
);
|
||||||
|
|
||||||
--zen-dialog-background: var(--zen-dark-color-mix-base);
|
|
||||||
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 4%, rgb(24, 24, 24) 96%);
|
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 4%, rgb(24, 24, 24) 96%);
|
||||||
|
|
||||||
--zen-browser-gradient-base: color-mix(
|
--zen-browser-gradient-base: color-mix(
|
||||||
in srgb,
|
in srgb,
|
||||||
var(--zen-primary-color) 30%,
|
var(--zen-primary-color) 30%,
|
||||||
var(--zen-dark-color-mix-base) 70%
|
var(--zen-branding-bg) 70%
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#urlbar {
|
#urlbar {
|
||||||
--urlbarView-separator-color: light-dark(hsl(0, 0%, 90%), hsl(0, 0%, 20%));
|
--urlbarView-separator-color: light-dark(hsl(0, 0%, 74.9%), hsl(0, 0%, 20%));
|
||||||
--urlbarView-hover-background: var(--toolbarbutton-hover-background);
|
--urlbarView-hover-background: var(--toolbarbutton-hover-background);
|
||||||
--urlbarView-highlight-background: var(--toolbarbutton-hover-background);
|
--urlbarView-highlight-background: var(--toolbarbutton-hover-background);
|
||||||
border-radius: calc(var(--toolbarbutton-border-radius) - 2px);
|
border-radius: calc(var(--toolbarbutton-border-radius) - 2px);
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:hover #urlbar-background {
|
&:hover #urlbar-background {
|
||||||
background-color: light-dark(rgba(89, 89, 89, 0.15), rgba(255, 255, 255, 0.2)) !important;
|
background-color: light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.2)) !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -162,9 +162,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
& #urlbar-background {
|
& #urlbar-background {
|
||||||
--zen-urlbar-background-base: light-dark(
|
--zen-urlbar-background-base: color-mix(
|
||||||
hsl(0, 0%, 100%),
|
in srgb,
|
||||||
color-mix(in srgb, hsl(0, 0%, 5%) 80%, var(--zen-colors-primary) 20%)
|
light-dark(hsl(0, 0%, 100%), hsl(0, 0%, 5%)) 80%,
|
||||||
|
var(--zen-colors-primary) 20%
|
||||||
);
|
);
|
||||||
@media -moz-pref('zen.theme.acrylic-elements') {
|
@media -moz-pref('zen.theme.acrylic-elements') {
|
||||||
--zen-urlbar-background-transparent: color-mix(
|
--zen-urlbar-background-transparent: color-mix(
|
||||||
@@ -481,11 +482,14 @@ button.popup-notification-dropmarker {
|
|||||||
left: 50% !important;
|
left: 50% !important;
|
||||||
|
|
||||||
#urlbar-container:has(&) {
|
#urlbar-container:has(&) {
|
||||||
border-radius: 10px;
|
border-radius: var(--border-radius-medium);
|
||||||
background: var(--toolbarbutton-hover-background);
|
background: var(--toolbarbutton-hover-background);
|
||||||
|
height: var(--urlbar-height) !important;
|
||||||
|
margin-inline: 0.15rem !important;
|
||||||
:root:not([zen-single-toolbar='true']) & {
|
:root:not([zen-single-toolbar='true']) & {
|
||||||
max-height: 32px !important;
|
max-height: 32px !important;
|
||||||
min-height: unset;
|
min-height: unset !important;
|
||||||
|
margin-block: -1px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -155,13 +155,13 @@ var gZenCompactModeManager = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
updateCompactModeContext(isSingleToolbar) {
|
updateCompactModeContext(isSingleToolbar) {
|
||||||
const IDs = [
|
const menuitem = document.getElementById('zen-context-menu-compact-mode-toggle');
|
||||||
'zen-context-menu-compact-mode-hide-sidebar',
|
const menu = document.getElementById('zen-context-menu-compact-mode');
|
||||||
'zen-context-menu-compact-mode-hide-toolbar',
|
menu.setAttribute('hidden', isSingleToolbar);
|
||||||
'zen-context-menu-compact-mode-hide-both',
|
if (isSingleToolbar) {
|
||||||
];
|
menu.before(menuitem);
|
||||||
for (let id of IDs) {
|
} else {
|
||||||
document.getElementById(id).disabled = isSingleToolbar;
|
menu.querySelector('menupopup').prepend(menuitem);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -209,7 +209,7 @@ var gZenCompactModeManager = {
|
|||||||
// the caller is from the ResizeObserver
|
// the caller is from the ResizeObserver
|
||||||
getAndApplySidebarWidth(event = undefined) {
|
getAndApplySidebarWidth(event = undefined) {
|
||||||
if (this._ignoreNextResize) {
|
if (this._ignoreNextResize) {
|
||||||
this._ignoreNextResize = false;
|
delete this._ignoreNextResize;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let sidebarWidth = this.sidebar.getBoundingClientRect().width;
|
let sidebarWidth = this.sidebar.getBoundingClientRect().width;
|
||||||
@@ -245,9 +245,9 @@ var gZenCompactModeManager = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
animateCompactMode() {
|
animateCompactMode() {
|
||||||
return new Promise((resolve) => {
|
|
||||||
// Get the splitter width before hiding it (we need to hide it before animating on right)
|
// Get the splitter width before hiding it (we need to hide it before animating on right)
|
||||||
document.documentElement.setAttribute('zen-compact-animating', 'true');
|
document.documentElement.setAttribute('zen-compact-animating', 'true');
|
||||||
|
return new Promise((resolve) => {
|
||||||
// We need to set the splitter width before hiding it
|
// We need to set the splitter width before hiding it
|
||||||
let splitterWidth = document
|
let splitterWidth = document
|
||||||
.getElementById('zen-sidebar-splitter')
|
.getElementById('zen-sidebar-splitter')
|
||||||
@@ -268,6 +268,7 @@ var gZenCompactModeManager = {
|
|||||||
this.sidebar.style.removeProperty('margin-left');
|
this.sidebar.style.removeProperty('margin-left');
|
||||||
this.sidebar.style.removeProperty('transform');
|
this.sidebar.style.removeProperty('transform');
|
||||||
window.requestAnimationFrame(() => {
|
window.requestAnimationFrame(() => {
|
||||||
|
delete this._ignoreNextResize;
|
||||||
let sidebarWidth = this.getAndApplySidebarWidth();
|
let sidebarWidth = this.getAndApplySidebarWidth();
|
||||||
const elementSeparation = ZenThemeModifier.elementSeparation;
|
const elementSeparation = ZenThemeModifier.elementSeparation;
|
||||||
if (!canAnimate) {
|
if (!canAnimate) {
|
||||||
@@ -324,6 +325,8 @@ var gZenCompactModeManager = {
|
|||||||
} else {
|
} else {
|
||||||
sidebarWidth -= elementSeparation;
|
sidebarWidth -= elementSeparation;
|
||||||
}
|
}
|
||||||
|
this.sidebar.style.marginRight = '0px';
|
||||||
|
this.sidebar.style.marginLeft = '0px';
|
||||||
gZenUIManager.motion
|
gZenUIManager.motion
|
||||||
.animate(
|
.animate(
|
||||||
this.sidebar,
|
this.sidebar,
|
||||||
@@ -335,7 +338,7 @@ var gZenCompactModeManager = {
|
|||||||
ease: 'easeIn',
|
ease: 'easeIn',
|
||||||
type: 'spring',
|
type: 'spring',
|
||||||
bounce: 0,
|
bounce: 0,
|
||||||
duration: 0.2,
|
duration: 0.15,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
@@ -386,7 +389,7 @@ var gZenCompactModeManager = {
|
|||||||
ease: 'easeOut',
|
ease: 'easeOut',
|
||||||
type: 'spring',
|
type: 'spring',
|
||||||
bounce: 0,
|
bounce: 0,
|
||||||
duration: 0.2,
|
duration: 0.15,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
@@ -328,8 +328,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
& #titlebar,
|
& #titlebar,
|
||||||
& #zen-appcontent-wrapper,
|
& #zen-appcontent-wrapper {
|
||||||
& #zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel:not([pinned='true'])) {
|
|
||||||
margin-top: var(--zen-element-separation) !important;
|
margin-top: var(--zen-element-separation) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -337,10 +336,6 @@
|
|||||||
z-index: 3 !important;
|
z-index: 3 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
& #zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[pinned='true']) {
|
|
||||||
margin-top: calc(var(--zen-element-separation) * 2) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
& #zen-appcontent-navbar-wrapper {
|
& #zen-appcontent-navbar-wrapper {
|
||||||
--zen-compact-toolbar-offset: 5px;
|
--zen-compact-toolbar-offset: 5px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
class ZenDownloadAnimation extends ZenDOMOperatedFeature {
|
class nsZenDownloadAnimation extends ZenDOMOperatedFeature {
|
||||||
async init() {
|
async init() {
|
||||||
await this.#setupDownloadListeners();
|
await this.#setupDownloadListeners();
|
||||||
}
|
}
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(
|
console.error(
|
||||||
`[${ZenDownloadAnimation.name}] Failed to set up download animation listeners: ${error}`
|
`[${nsZenDownloadAnimation.name}] Failed to set up download animation listeners: ${error}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
if (!gZenUIManager._lastClickPosition) {
|
if (!gZenUIManager._lastClickPosition) {
|
||||||
console.warn(
|
console.warn(
|
||||||
`[${ZenDownloadAnimation.name}] No recent click position available for animation`
|
`[${nsZenDownloadAnimation.name}] No recent click position available for animation`
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ZenDownloadAnimationElement extends HTMLElement {
|
class nsZenDownloadAnimationElement extends HTMLElement {
|
||||||
#boxAnimationElement = null;
|
#boxAnimationElement = null;
|
||||||
#boxAnimationTimeoutId = null;
|
#boxAnimationTimeoutId = null;
|
||||||
#isBoxAnimationRunning = false;
|
#isBoxAnimationRunning = false;
|
||||||
@@ -82,14 +82,14 @@
|
|||||||
);
|
);
|
||||||
this.shadowRoot.appendChild(link);
|
this.shadowRoot.appendChild(link);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`[${ZenDownloadAnimationElement.name}] Error loading arc styles: ${error}`);
|
console.error(`[${nsZenDownloadAnimationElement.name}] Error loading arc styles: ${error}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async initializeAnimation(startPosition) {
|
async initializeAnimation(startPosition) {
|
||||||
if (!startPosition) {
|
if (!startPosition) {
|
||||||
console.warn(
|
console.warn(
|
||||||
`[${ZenDownloadAnimationElement.name}] No start position provided, skipping animation`
|
`[${nsZenDownloadAnimationElement.name}] No start position provided, skipping animation`
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -229,7 +229,7 @@
|
|||||||
|
|
||||||
this.#cleanArcAnimation(arcAnimationElement);
|
this.#cleanArcAnimation(arcAnimationElement);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('[ZenDownloadAnimationElement] Error in animation sequence:', error);
|
console.error('[nsZenDownloadAnimationElement] Error in animation sequence:', error);
|
||||||
this.#cleanArcAnimation(arcAnimationElement);
|
this.#cleanArcAnimation(arcAnimationElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -309,7 +309,7 @@
|
|||||||
// If animation is already in progress, don't start a new one
|
// If animation is already in progress, don't start a new one
|
||||||
if (this.#isBoxAnimationRunning) {
|
if (this.#isBoxAnimationRunning) {
|
||||||
console.warn(
|
console.warn(
|
||||||
`[${ZenDownloadAnimationElement.name}] Box animation already running, skipping new request.`
|
`[${nsZenDownloadAnimationElement.name}] Box animation already running, skipping new request.`
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -326,7 +326,7 @@
|
|||||||
const wrapper = document.getElementById('zen-main-app-wrapper');
|
const wrapper = document.getElementById('zen-main-app-wrapper');
|
||||||
if (!wrapper) {
|
if (!wrapper) {
|
||||||
console.warn(
|
console.warn(
|
||||||
`[${ZenDownloadAnimationElement.name}] Cannot start box animation, Wrapper element not found`
|
`[${nsZenDownloadAnimationElement.name}] Cannot start box animation, Wrapper element not found`
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -385,7 +385,7 @@
|
|||||||
);
|
);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(
|
console.error(
|
||||||
`[${ZenDownloadAnimationElement.name}] Error during box entry animation: ${error}`
|
`[${nsZenDownloadAnimationElement.name}] Error during box entry animation: ${error}`
|
||||||
);
|
);
|
||||||
this.#cleanBoxAnimation();
|
this.#cleanBoxAnimation();
|
||||||
} finally {
|
} finally {
|
||||||
@@ -436,7 +436,7 @@
|
|||||||
).finished;
|
).finished;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.warn(
|
console.warn(
|
||||||
`[${ZenDownloadAnimationElement.name}] Error during box exit animation: ${error}`
|
`[${nsZenDownloadAnimationElement.name}] Error during box exit animation: ${error}`
|
||||||
);
|
);
|
||||||
} finally {
|
} finally {
|
||||||
this.#cleanBoxAnimation();
|
this.#cleanBoxAnimation();
|
||||||
@@ -458,7 +458,7 @@
|
|||||||
this.#boxAnimationElement.remove();
|
this.#boxAnimationElement.remove();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(
|
console.error(
|
||||||
`[${ZenDownloadAnimationElement.name}] Error removing box animation element: ${error}`,
|
`[${nsZenDownloadAnimationElement.name}] Error removing box animation element: ${error}`,
|
||||||
error
|
error
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -488,7 +488,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
customElements.define('zen-download-animation', ZenDownloadAnimationElement);
|
customElements.define('zen-download-animation', nsZenDownloadAnimationElement);
|
||||||
|
|
||||||
new ZenDownloadAnimation();
|
new nsZenDownloadAnimation();
|
||||||
}
|
}
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#onTabGrouped(event) {
|
#onTabGrouped(event) {
|
||||||
const tab = event.target;
|
const tab = event.detail;
|
||||||
const group = tab.group;
|
const group = tab.group;
|
||||||
group.pinned = tab.pinned;
|
group.pinned = tab.pinned;
|
||||||
|
|
||||||
@@ -30,8 +30,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#onTabUngrouped(event) {
|
#onTabUngrouped(event) {
|
||||||
const tab = event.target;
|
const tab = event.detail;
|
||||||
const group = event.detail;
|
const group = event.target;
|
||||||
if (group.hasAttribute('split-view-group') && tab.hasAttribute('had-zen-pinned-changed')) {
|
if (group.hasAttribute('split-view-group') && tab.hasAttribute('had-zen-pinned-changed')) {
|
||||||
tab.setAttribute('zen-pinned-changed', true);
|
tab.setAttribute('zen-pinned-changed', true);
|
||||||
tab.removeAttribute('had-zen-pinned-changed');
|
tab.removeAttribute('had-zen-pinned-changed');
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
// 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/.
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
{
|
{
|
||||||
class ZenGlanceManager extends ZenDOMOperatedFeature {
|
class nsZenGlanceManager extends ZenDOMOperatedFeature {
|
||||||
_animating = false;
|
_animating = false;
|
||||||
_lazyPref = {};
|
_lazyPref = {};
|
||||||
|
|
||||||
@@ -783,7 +783,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
window.gZenGlanceManager = new ZenGlanceManager();
|
window.gZenGlanceManager = new nsZenGlanceManager();
|
||||||
|
|
||||||
function registerWindowActors() {
|
function registerWindowActors() {
|
||||||
gZenActorsManager.addJSWindowActor('ZenGlance', {
|
gZenActorsManager.addJSWindowActor('ZenGlance', {
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 67 KiB |
@@ -138,7 +138,7 @@ const VALID_SHORTCUT_GROUPS = [
|
|||||||
'other',
|
'other',
|
||||||
];
|
];
|
||||||
|
|
||||||
class KeyShortcutModifiers {
|
class nsKeyShortcutModifiers {
|
||||||
#control = false;
|
#control = false;
|
||||||
#alt = false;
|
#alt = false;
|
||||||
#shift = false;
|
#shift = false;
|
||||||
@@ -161,10 +161,10 @@ class KeyShortcutModifiers {
|
|||||||
|
|
||||||
static parseFromJSON(modifiers) {
|
static parseFromJSON(modifiers) {
|
||||||
if (!modifiers) {
|
if (!modifiers) {
|
||||||
return new KeyShortcutModifiers(false, false, false, false, false);
|
return new nsKeyShortcutModifiers(false, false, false, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new KeyShortcutModifiers(
|
return new nsKeyShortcutModifiers(
|
||||||
modifiers['control'] == true,
|
modifiers['control'] == true,
|
||||||
modifiers['alt'] == true,
|
modifiers['alt'] == true,
|
||||||
modifiers['shift'] == true,
|
modifiers['shift'] == true,
|
||||||
@@ -175,10 +175,10 @@ class KeyShortcutModifiers {
|
|||||||
|
|
||||||
static parseFromXHTMLAttribute(modifiers) {
|
static parseFromXHTMLAttribute(modifiers) {
|
||||||
if (!modifiers) {
|
if (!modifiers) {
|
||||||
return new KeyShortcutModifiers(false, false, false, false, false);
|
return new nsKeyShortcutModifiers(false, false, false, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new KeyShortcutModifiers(
|
return new nsKeyShortcutModifiers(
|
||||||
modifiers.includes('control'),
|
modifiers.includes('control'),
|
||||||
modifiers.includes('alt'),
|
modifiers.includes('alt'),
|
||||||
modifiers.includes('shift'),
|
modifiers.includes('shift'),
|
||||||
@@ -189,7 +189,7 @@ class KeyShortcutModifiers {
|
|||||||
|
|
||||||
// used to avoid any future changes to the object
|
// used to avoid any future changes to the object
|
||||||
static fromObject({ ctrl = false, alt = false, shift = false, meta = false, accel = false }) {
|
static fromObject({ ctrl = false, alt = false, shift = false, meta = false, accel = false }) {
|
||||||
return new KeyShortcutModifiers(ctrl, alt, shift, meta, accel);
|
return new nsKeyShortcutModifiers(ctrl, alt, shift, meta, accel);
|
||||||
}
|
}
|
||||||
|
|
||||||
toUserString() {
|
toUserString() {
|
||||||
@@ -290,7 +290,7 @@ class KeyShortcut {
|
|||||||
#key = '';
|
#key = '';
|
||||||
#keycode = '';
|
#keycode = '';
|
||||||
#group = FIREFOX_SHORTCUTS_GROUP;
|
#group = FIREFOX_SHORTCUTS_GROUP;
|
||||||
#modifiers = new KeyShortcutModifiers(false, false, false, false, false);
|
#modifiers = new nsKeyShortcutModifiers(false, false, false, false, false);
|
||||||
#action = '';
|
#action = '';
|
||||||
#l10nId = '';
|
#l10nId = '';
|
||||||
#disabled = false;
|
#disabled = false;
|
||||||
@@ -357,7 +357,7 @@ class KeyShortcut {
|
|||||||
json['key'],
|
json['key'],
|
||||||
json['keycode'],
|
json['keycode'],
|
||||||
json['group'],
|
json['group'],
|
||||||
KeyShortcutModifiers.parseFromJSON(json['modifiers']),
|
nsKeyShortcutModifiers.parseFromJSON(json['modifiers']),
|
||||||
json['action'],
|
json['action'],
|
||||||
json['l10nId'],
|
json['l10nId'],
|
||||||
json['disabled'],
|
json['disabled'],
|
||||||
@@ -376,7 +376,7 @@ class KeyShortcut {
|
|||||||
KeyShortcut.sanitizeL10nId(key.getAttribute('data-l10n-id')),
|
KeyShortcut.sanitizeL10nId(key.getAttribute('data-l10n-id')),
|
||||||
key.getAttribute('id')
|
key.getAttribute('id')
|
||||||
),
|
),
|
||||||
KeyShortcutModifiers.parseFromXHTMLAttribute(key.getAttribute('modifiers')),
|
nsKeyShortcutModifiers.parseFromXHTMLAttribute(key.getAttribute('modifiers')),
|
||||||
key.getAttribute('command'),
|
key.getAttribute('command'),
|
||||||
key.getAttribute('data-l10n-id'),
|
key.getAttribute('data-l10n-id'),
|
||||||
key.getAttribute('disabled') == 'true',
|
key.getAttribute('disabled') == 'true',
|
||||||
@@ -504,8 +504,8 @@ class KeyShortcut {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setModifiers(modifiers) {
|
setModifiers(modifiers) {
|
||||||
if ((!modifiers) instanceof KeyShortcutModifiers) {
|
if ((!modifiers) instanceof nsKeyShortcutModifiers) {
|
||||||
throw new Error('Only KeyShortcutModifiers allowed');
|
throw new Error('Only nsKeyShortcutModifiers allowed');
|
||||||
}
|
}
|
||||||
this.#modifiers = modifiers;
|
this.#modifiers = modifiers;
|
||||||
}
|
}
|
||||||
@@ -554,7 +554,7 @@ class KeyShortcut {
|
|||||||
clearKeybind() {
|
clearKeybind() {
|
||||||
this.#key = '';
|
this.#key = '';
|
||||||
this.#keycode = '';
|
this.#keycode = '';
|
||||||
this.#modifiers = new KeyShortcutModifiers(false, false, false, false);
|
this.#modifiers = new nsKeyShortcutModifiers(false, false, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
setNewBinding(shortcut) {
|
setNewBinding(shortcut) {
|
||||||
@@ -571,7 +571,7 @@ class KeyShortcut {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ZenKeyboardShortcutsLoader {
|
class nsZenKeyboardShortcutsLoader {
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
|
||||||
get shortcutsFile() {
|
get shortcutsFile() {
|
||||||
@@ -623,7 +623,7 @@ class ZenKeyboardShortcutsLoader {
|
|||||||
'C',
|
'C',
|
||||||
'',
|
'',
|
||||||
ZEN_COMPACT_MODE_SHORTCUTS_GROUP,
|
ZEN_COMPACT_MODE_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
nsKeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
||||||
'cmd_zenCompactModeToggle',
|
'cmd_zenCompactModeToggle',
|
||||||
'zen-compact-mode-shortcut-toggle'
|
'zen-compact-mode-shortcut-toggle'
|
||||||
)
|
)
|
||||||
@@ -634,7 +634,7 @@ class ZenKeyboardShortcutsLoader {
|
|||||||
'S',
|
'S',
|
||||||
'',
|
'',
|
||||||
ZEN_COMPACT_MODE_SHORTCUTS_GROUP,
|
ZEN_COMPACT_MODE_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
nsKeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
||||||
'cmd_zenCompactModeShowSidebar',
|
'cmd_zenCompactModeShowSidebar',
|
||||||
'zen-compact-mode-shortcut-show-sidebar'
|
'zen-compact-mode-shortcut-show-sidebar'
|
||||||
)
|
)
|
||||||
@@ -645,7 +645,7 @@ class ZenKeyboardShortcutsLoader {
|
|||||||
'T',
|
'T',
|
||||||
'',
|
'',
|
||||||
ZEN_COMPACT_MODE_SHORTCUTS_GROUP,
|
ZEN_COMPACT_MODE_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
nsKeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
||||||
'cmd_zenCompactModeShowToolbar',
|
'cmd_zenCompactModeShowToolbar',
|
||||||
'zen-compact-mode-shortcut-show-toolbar'
|
'zen-compact-mode-shortcut-show-toolbar'
|
||||||
)
|
)
|
||||||
@@ -659,7 +659,7 @@ class ZenKeyboardShortcutsLoader {
|
|||||||
'',
|
'',
|
||||||
'',
|
'',
|
||||||
ZEN_WORKSPACE_SHORTCUTS_GROUP,
|
ZEN_WORKSPACE_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({}),
|
nsKeyShortcutModifiers.fromObject({}),
|
||||||
`cmd_zenWorkspaceSwitch${i}`,
|
`cmd_zenWorkspaceSwitch${i}`,
|
||||||
`zen-workspace-shortcut-switch-${i}`
|
`zen-workspace-shortcut-switch-${i}`
|
||||||
)
|
)
|
||||||
@@ -671,7 +671,7 @@ class ZenKeyboardShortcutsLoader {
|
|||||||
'E',
|
'E',
|
||||||
'',
|
'',
|
||||||
ZEN_WORKSPACE_SHORTCUTS_GROUP,
|
ZEN_WORKSPACE_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
nsKeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
||||||
'cmd_zenWorkspaceForward',
|
'cmd_zenWorkspaceForward',
|
||||||
'zen-workspace-shortcut-forward'
|
'zen-workspace-shortcut-forward'
|
||||||
)
|
)
|
||||||
@@ -682,7 +682,7 @@ class ZenKeyboardShortcutsLoader {
|
|||||||
'Q',
|
'Q',
|
||||||
'',
|
'',
|
||||||
ZEN_WORKSPACE_SHORTCUTS_GROUP,
|
ZEN_WORKSPACE_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
nsKeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
||||||
'cmd_zenWorkspaceBackward',
|
'cmd_zenWorkspaceBackward',
|
||||||
'zen-workspace-shortcut-backward'
|
'zen-workspace-shortcut-backward'
|
||||||
)
|
)
|
||||||
@@ -695,7 +695,7 @@ class ZenKeyboardShortcutsLoader {
|
|||||||
'G',
|
'G',
|
||||||
'',
|
'',
|
||||||
ZEN_SPLIT_VIEW_SHORTCUTS_GROUP,
|
ZEN_SPLIT_VIEW_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
nsKeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
||||||
'cmd_zenSplitViewGrid',
|
'cmd_zenSplitViewGrid',
|
||||||
'zen-split-view-shortcut-grid'
|
'zen-split-view-shortcut-grid'
|
||||||
)
|
)
|
||||||
@@ -706,7 +706,7 @@ class ZenKeyboardShortcutsLoader {
|
|||||||
'V',
|
'V',
|
||||||
'',
|
'',
|
||||||
ZEN_SPLIT_VIEW_SHORTCUTS_GROUP,
|
ZEN_SPLIT_VIEW_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
nsKeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
||||||
'cmd_zenSplitViewVertical',
|
'cmd_zenSplitViewVertical',
|
||||||
'zen-split-view-shortcut-vertical'
|
'zen-split-view-shortcut-vertical'
|
||||||
)
|
)
|
||||||
@@ -717,7 +717,7 @@ class ZenKeyboardShortcutsLoader {
|
|||||||
'H',
|
'H',
|
||||||
'',
|
'',
|
||||||
ZEN_SPLIT_VIEW_SHORTCUTS_GROUP,
|
ZEN_SPLIT_VIEW_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
nsKeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
||||||
'cmd_zenSplitViewHorizontal',
|
'cmd_zenSplitViewHorizontal',
|
||||||
'zen-split-view-shortcut-horizontal'
|
'zen-split-view-shortcut-horizontal'
|
||||||
)
|
)
|
||||||
@@ -728,7 +728,7 @@ class ZenKeyboardShortcutsLoader {
|
|||||||
'U',
|
'U',
|
||||||
'',
|
'',
|
||||||
ZEN_SPLIT_VIEW_SHORTCUTS_GROUP,
|
ZEN_SPLIT_VIEW_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
nsKeyShortcutModifiers.fromObject({ accel: true, alt: true }),
|
||||||
'cmd_zenSplitViewUnsplit',
|
'cmd_zenSplitViewUnsplit',
|
||||||
'zen-split-view-shortcut-unsplit'
|
'zen-split-view-shortcut-unsplit'
|
||||||
)
|
)
|
||||||
@@ -763,7 +763,7 @@ class ZenKeyboardShortcutsLoader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class ZenKeyboardShortcutsVersioner {
|
class nsZenKeyboardShortcutsVersioner {
|
||||||
static LATEST_KBS_VERSION = 9;
|
static LATEST_KBS_VERSION = 9;
|
||||||
|
|
||||||
constructor() {}
|
constructor() {}
|
||||||
@@ -783,11 +783,11 @@ class ZenKeyboardShortcutsVersioner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
isVersionUpToDate() {
|
isVersionUpToDate() {
|
||||||
return this.version == ZenKeyboardShortcutsVersioner.LATEST_KBS_VERSION;
|
return this.version == nsZenKeyboardShortcutsVersioner.LATEST_KBS_VERSION;
|
||||||
}
|
}
|
||||||
|
|
||||||
isVersionOutdated() {
|
isVersionOutdated() {
|
||||||
return this.version < ZenKeyboardShortcutsVersioner.LATEST_KBS_VERSION;
|
return this.version < nsZenKeyboardShortcutsVersioner.LATEST_KBS_VERSION;
|
||||||
}
|
}
|
||||||
|
|
||||||
migrateIfNeeded(data) {
|
migrateIfNeeded(data) {
|
||||||
@@ -806,10 +806,10 @@ class ZenKeyboardShortcutsVersioner {
|
|||||||
'Zen CKS: Migrating shortcuts from version',
|
'Zen CKS: Migrating shortcuts from version',
|
||||||
version,
|
version,
|
||||||
'to',
|
'to',
|
||||||
ZenKeyboardShortcutsVersioner.LATEST_KBS_VERSION
|
nsZenKeyboardShortcutsVersioner.LATEST_KBS_VERSION
|
||||||
);
|
);
|
||||||
const newData = this.migrate(data, version);
|
const newData = this.migrate(data, version);
|
||||||
this.version = ZenKeyboardShortcutsVersioner.LATEST_KBS_VERSION;
|
this.version = nsZenKeyboardShortcutsVersioner.LATEST_KBS_VERSION;
|
||||||
return newData;
|
return newData;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -819,7 +819,7 @@ class ZenKeyboardShortcutsVersioner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fillDefaultIfNotPresent(data) {
|
fillDefaultIfNotPresent(data) {
|
||||||
for (let shortcut of ZenKeyboardShortcutsLoader.zenGetDefaultShortcuts()) {
|
for (let shortcut of nsZenKeyboardShortcutsLoader.zenGetDefaultShortcuts()) {
|
||||||
// If it has an ID and we dont find it in the data, we add it
|
// If it has an ID and we dont find it in the data, we add it
|
||||||
if (shortcut.getID() && !data.find((s) => s.getID() == shortcut.getID())) {
|
if (shortcut.getID() && !data.find((s) => s.getID() == shortcut.getID())) {
|
||||||
data.push(shortcut);
|
data.push(shortcut);
|
||||||
@@ -837,7 +837,7 @@ class ZenKeyboardShortcutsVersioner {
|
|||||||
// Migrate from 0 to 1
|
// Migrate from 0 to 1
|
||||||
// Here, we do a complet reset of the shortcuts,
|
// Here, we do a complet reset of the shortcuts,
|
||||||
// since nothing seems to work properly.
|
// since nothing seems to work properly.
|
||||||
data = ZenKeyboardShortcutsLoader.zenGetDefaultShortcuts();
|
data = nsZenKeyboardShortcutsLoader.zenGetDefaultShortcuts();
|
||||||
}
|
}
|
||||||
if (version < 2) {
|
if (version < 2) {
|
||||||
// Migrate from 1 to 2
|
// Migrate from 1 to 2
|
||||||
@@ -855,7 +855,7 @@ class ZenKeyboardShortcutsVersioner {
|
|||||||
'',
|
'',
|
||||||
'',
|
'',
|
||||||
ZEN_OTHER_SHORTCUTS_GROUP,
|
ZEN_OTHER_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({}),
|
nsKeyShortcutModifiers.fromObject({}),
|
||||||
'cmd_zenPinnedTabReset',
|
'cmd_zenPinnedTabReset',
|
||||||
'zen-pinned-tab-shortcut-reset'
|
'zen-pinned-tab-shortcut-reset'
|
||||||
)
|
)
|
||||||
@@ -867,7 +867,7 @@ class ZenKeyboardShortcutsVersioner {
|
|||||||
// detection for internal keys was not working properly, so every internal
|
// detection for internal keys was not working properly, so every internal
|
||||||
// shortcut was being saved as a user-editable shortcut.
|
// shortcut was being saved as a user-editable shortcut.
|
||||||
// This migration will fix this issue.
|
// This migration will fix this issue.
|
||||||
const defaultShortcuts = ZenKeyboardShortcutsLoader.zenGetDefaultShortcuts();
|
const defaultShortcuts = nsZenKeyboardShortcutsLoader.zenGetDefaultShortcuts();
|
||||||
// Get the default shortcut, compare the id and set the internal flag if needed
|
// Get the default shortcut, compare the id and set the internal flag if needed
|
||||||
for (let shortcut of data) {
|
for (let shortcut of data) {
|
||||||
for (let defaultShortcut of defaultShortcuts) {
|
for (let defaultShortcut of defaultShortcuts) {
|
||||||
@@ -892,7 +892,7 @@ class ZenKeyboardShortcutsVersioner {
|
|||||||
'B',
|
'B',
|
||||||
'',
|
'',
|
||||||
ZEN_OTHER_SHORTCUTS_GROUP,
|
ZEN_OTHER_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({ alt: true }),
|
nsKeyShortcutModifiers.fromObject({ alt: true }),
|
||||||
'cmd_zenToggleSidebar',
|
'cmd_zenToggleSidebar',
|
||||||
'zen-sidebar-shortcut-toggle'
|
'zen-sidebar-shortcut-toggle'
|
||||||
)
|
)
|
||||||
@@ -907,7 +907,7 @@ class ZenKeyboardShortcutsVersioner {
|
|||||||
'C',
|
'C',
|
||||||
'',
|
'',
|
||||||
ZEN_OTHER_SHORTCUTS_GROUP,
|
ZEN_OTHER_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({ accel: true, shift: true }),
|
nsKeyShortcutModifiers.fromObject({ accel: true, shift: true }),
|
||||||
'cmd_zenCopyCurrentURL',
|
'cmd_zenCopyCurrentURL',
|
||||||
'zen-text-action-copy-url-shortcut'
|
'zen-text-action-copy-url-shortcut'
|
||||||
)
|
)
|
||||||
@@ -919,7 +919,7 @@ class ZenKeyboardShortcutsVersioner {
|
|||||||
const listener = (event) => {
|
const listener = (event) => {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
||||||
const devToolsShortcuts = ZenKeyboardShortcutsLoader.zenGetDefaultDevToolsShortcuts();
|
const devToolsShortcuts = nsZenKeyboardShortcutsLoader.zenGetDefaultDevToolsShortcuts();
|
||||||
gZenKeyboardShortcutsManager.updatedDefaultDevtoolsShortcuts(devToolsShortcuts);
|
gZenKeyboardShortcutsManager.updatedDefaultDevtoolsShortcuts(devToolsShortcuts);
|
||||||
|
|
||||||
window.removeEventListener('zen-devtools-keyset-added', listener);
|
window.removeEventListener('zen-devtools-keyset-added', listener);
|
||||||
@@ -939,7 +939,7 @@ class ZenKeyboardShortcutsVersioner {
|
|||||||
'C',
|
'C',
|
||||||
'',
|
'',
|
||||||
ZEN_OTHER_SHORTCUTS_GROUP,
|
ZEN_OTHER_SHORTCUTS_GROUP,
|
||||||
KeyShortcutModifiers.fromObject({ accel: true, shift: true, alt: true }),
|
nsKeyShortcutModifiers.fromObject({ accel: true, shift: true, alt: true }),
|
||||||
'cmd_zenCopyCurrentURLMarkdown',
|
'cmd_zenCopyCurrentURLMarkdown',
|
||||||
'zen-text-action-copy-url-markdown-shortcut'
|
'zen-text-action-copy-url-markdown-shortcut'
|
||||||
)
|
)
|
||||||
@@ -989,7 +989,7 @@ class ZenKeyboardShortcutsVersioner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var gZenKeyboardShortcutsManager = {
|
var gZenKeyboardShortcutsManager = {
|
||||||
loader: new ZenKeyboardShortcutsLoader(),
|
loader: new nsZenKeyboardShortcutsLoader(),
|
||||||
_hasToLoadDevtools: false,
|
_hasToLoadDevtools: false,
|
||||||
_inlineCommands: [],
|
_inlineCommands: [],
|
||||||
|
|
||||||
@@ -1051,7 +1051,7 @@ var gZenKeyboardShortcutsManager = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const loadedShortcuts = await innerLoad();
|
const loadedShortcuts = await innerLoad();
|
||||||
this.versioner = new ZenKeyboardShortcutsVersioner(loadedShortcuts);
|
this.versioner = new nsZenKeyboardShortcutsVersioner(loadedShortcuts);
|
||||||
return loadedShortcuts;
|
return loadedShortcuts;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1160,7 +1160,7 @@ var gZenKeyboardShortcutsManager = {
|
|||||||
if (key.getGroup() != 'devTools') {
|
if (key.getGroup() != 'devTools') {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (ZenKeyboardShortcutsLoader.IGNORED_DEVTOOLS_SHORTCUTS.includes(key.getID())) {
|
if (nsZenKeyboardShortcutsLoader.IGNORED_DEVTOOLS_SHORTCUTS.includes(key.getID())) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const originalKey = browser.document.getElementById(key.getID());
|
const originalKey = browser.document.getElementById(key.getID());
|
||||||
|
@@ -10,7 +10,7 @@
|
|||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
class ZenMediaController {
|
class nsZenMediaController {
|
||||||
_currentMediaController = null;
|
_currentMediaController = null;
|
||||||
_currentBrowser = null;
|
_currentBrowser = null;
|
||||||
_mediaUpdateInterval = null;
|
_mediaUpdateInterval = null;
|
||||||
@@ -684,5 +684,5 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
window.gZenMediaController = new ZenMediaController();
|
window.gZenMediaController = new nsZenMediaController();
|
||||||
}
|
}
|
||||||
|
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
.toolbarbutton-1 {
|
.toolbarbutton-1 {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
color: white;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-media-buttons-hbox {
|
#zen-media-buttons-hbox {
|
||||||
@@ -77,19 +76,19 @@
|
|||||||
transition: height 0.15s ease-out;
|
transition: height 0.15s ease-out;
|
||||||
|
|
||||||
&::-moz-range-track {
|
&::-moz-range-track {
|
||||||
background: var(--zen-colors-border);
|
background: var(--zen-toolbar-element-bg);
|
||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
height: var(--progress-height);
|
height: var(--progress-height);
|
||||||
}
|
}
|
||||||
|
|
||||||
&::-moz-range-progress {
|
&::-moz-range-progress {
|
||||||
background: var(--zen-primary-color);
|
background: color-mix(in srgb, var(--zen-primary-color) 70%, light-dark(black, white) 30%);
|
||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
height: var(--progress-height);
|
height: var(--progress-height);
|
||||||
}
|
}
|
||||||
|
|
||||||
&::-moz-range-thumb {
|
&::-moz-range-thumb {
|
||||||
background: var(--zen-primary-color);
|
background: color-mix(in srgb, var(--zen-primary-color) 70%, light-dark(black, white) 30%);
|
||||||
border: none;
|
border: none;
|
||||||
width: calc(var(--progress-height) * 2);
|
width: calc(var(--progress-height) * 2);
|
||||||
height: calc(var(--progress-height) * 2);
|
height: calc(var(--progress-height) * 2);
|
||||||
@@ -285,6 +284,21 @@
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
--toolbarbutton-outer-padding: 0;
|
--toolbarbutton-outer-padding: 0;
|
||||||
|
container: media-controls / inline-size;
|
||||||
|
gap: 0.7rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-media-playback-buttons {
|
||||||
|
justify-content: space-between;
|
||||||
|
max-width: 7em;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hide #zen-media-focus-button if it doesn't fit in the toolbar */
|
||||||
|
@container media-controls (max-width: 150px) {
|
||||||
|
#zen-media-focus-button {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#zen-media-info-container {
|
#zen-media-info-container {
|
||||||
|
@@ -29,12 +29,14 @@
|
|||||||
<hbox id="zen-media-controls-hbox">
|
<hbox id="zen-media-controls-hbox">
|
||||||
<toolbarbutton id="zen-media-focus-button"
|
<toolbarbutton id="zen-media-focus-button"
|
||||||
class="toolbarbutton-1" />
|
class="toolbarbutton-1" />
|
||||||
|
<hbox id="zen-media-playback-buttons">
|
||||||
<toolbarbutton id="zen-media-previoustrack-button"
|
<toolbarbutton id="zen-media-previoustrack-button"
|
||||||
class="toolbarbutton-1" />
|
class="toolbarbutton-1" />
|
||||||
<toolbarbutton id="zen-media-playpause-button"
|
<toolbarbutton id="zen-media-playpause-button"
|
||||||
class="toolbarbutton-1" />
|
class="toolbarbutton-1" />
|
||||||
<toolbarbutton id="zen-media-nexttrack-button"
|
<toolbarbutton id="zen-media-nexttrack-button"
|
||||||
class="toolbarbutton-1" />
|
class="toolbarbutton-1" />
|
||||||
|
</hbox>
|
||||||
<toolbarbutton id="zen-media-mute-button"
|
<toolbarbutton id="zen-media-mute-button"
|
||||||
class="toolbarbutton-1" />
|
class="toolbarbutton-1" />
|
||||||
<hbox id="media-device-buttons">
|
<hbox id="media-device-buttons">
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user