mirror of
https://github.com/zen-browser/desktop.git
synced 2026-07-30 20:07:48 +00:00
Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
123a7923af | ||
|
|
cd71a36765 | ||
|
|
80f424f68d | ||
|
|
7ce5fb77b9 | ||
|
|
08acc6a39e | ||
|
|
8ae271d982 | ||
|
|
ba26c902fb | ||
|
|
89a50770a9 | ||
|
|
036f764d2b | ||
|
|
2c11b9295e | ||
|
|
d7839cdb91 | ||
|
|
67cef284dd | ||
|
|
36df7e718f | ||
|
|
d5b88ead22 | ||
|
|
7261eb1688 | ||
|
|
b5a251a92f | ||
|
|
a217cacfef | ||
|
|
a56bcf3d9c | ||
|
|
5963de1486 | ||
|
|
57ad5c45e7 | ||
|
|
e6bebab10a | ||
|
|
a8820ed409 | ||
|
|
a82a7fb055 | ||
|
|
2be85a2890 | ||
|
|
9301e1b64c | ||
|
|
1e04f394a5 | ||
|
|
665f500925 | ||
|
|
88ebf6e5da | ||
|
|
556beb01b0 | ||
|
|
48d5b32a5a | ||
|
|
4682c8d545 | ||
|
|
2c5fc47e74 | ||
|
|
237f0c0ea5 |
29
.github/workflows/build.yml
vendored
29
.github/workflows/build.yml
vendored
@@ -500,24 +500,10 @@ jobs:
|
||||
path: updates-server
|
||||
token: ${{ secrets.DEPLOY_KEY }}
|
||||
|
||||
- name: Download signed windows objects
|
||||
- name: Download object files
|
||||
if: ${{ inputs.update_branch == 'release' }}
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.DEPLOY_KEY }}
|
||||
run: |
|
||||
mkdir -p .github/workflows/object
|
||||
gh release download "windows-signed-${{ github.run_id }}" \
|
||||
--repo zen-browser/windows-binaries \
|
||||
--pattern 'windows-x64-signed-*.tar.gz' \
|
||||
--dir .github/workflows/object
|
||||
|
||||
for arch in x86_64 arm64; do
|
||||
archive=".github/workflows/object/windows-x64-signed-$arch.tar.gz"
|
||||
dest=".github/workflows/object/windows-x64-signed-$arch"
|
||||
echo "Expanding $archive"
|
||||
mkdir -p "$dest"
|
||||
tar -xvf "$archive" -C "$dest"
|
||||
done
|
||||
git clone https://github.com/zen-browser/windows-binaries.git .github/workflows/object --depth 1
|
||||
|
||||
- name: Sign MAR files
|
||||
env:
|
||||
@@ -630,17 +616,6 @@ jobs:
|
||||
./.github/workflows/object/windows-x64-signed-arm64/zen.installer-arm64.exe
|
||||
./zen.macos-universal.dmg/*
|
||||
|
||||
- name: Clean up signed windows staging release
|
||||
if: ${{ inputs.update_branch == 'release' }}
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.DEPLOY_KEY }}
|
||||
run: |
|
||||
# The per-run staging prerelease on windows-binaries has served its purpose
|
||||
# now that the signed bundles are published in the real release. Never fail
|
||||
# the release over this cleanup.
|
||||
gh release delete "windows-signed-${{ github.run_id }}" \
|
||||
--repo zen-browser/windows-binaries --cleanup-tag --yes || true
|
||||
|
||||
prepare-flatpak:
|
||||
if: ${{ inputs.create_release && inputs.update_branch == 'release' }}
|
||||
permissions: write-all
|
||||
|
||||
1
.github/workflows/windows-profile-build.yml
vendored
1
.github/workflows/windows-profile-build.yml
vendored
@@ -61,6 +61,7 @@ jobs:
|
||||
if: ${{ matrix.arch == 'x86_64' }}
|
||||
run: |
|
||||
cd C:\artifact
|
||||
ls
|
||||
Expand-Archive -Path .\${{ inputs.profile-data-path-archive }} -DestinationPath C:\artifact
|
||||
ls
|
||||
|
||||
|
||||
2
.github/workflows/windows-release-build.yml
vendored
2
.github/workflows/windows-release-build.yml
vendored
@@ -260,8 +260,8 @@ jobs:
|
||||
export ZEN_CROSS_COMPILING=1
|
||||
export ZEN_RELEASE=1
|
||||
npm run package
|
||||
ls ./dist
|
||||
mv ./dist/zen-$(npm run --silent surfer -- get version | xargs).en-US.win64${{ matrix.arch == 'aarch64' && '-aarch64' || '' }}.zip zen.win64.zip
|
||||
ls ./dist
|
||||
ls .
|
||||
|
||||
- name: Move package for PGO upload
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.94.1
|
||||
1.90
|
||||
@@ -34,8 +34,8 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne
|
||||
|
||||
### Firefox Versions
|
||||
|
||||
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `153.0.1`! 🚀
|
||||
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 153.0.1`!
|
||||
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `152.0.4`! 🚀
|
||||
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 152.0.4`!
|
||||
|
||||
### Contributing
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
30959a45eaaf0bc499f3054793c76c6d7f0c8bc2
|
||||
3985a970489e32fc751e1b80abf4d5534c905e45
|
||||
@@ -170,16 +170,14 @@ function SignAndPackage($name) {
|
||||
echo "Packaging $name"
|
||||
npm run package -- --verbose
|
||||
|
||||
# We assemble the signed bundle as a plain folder here (with no top-level
|
||||
# directory inside it) and compress it into windows-x64-signed-$name.tar.gz
|
||||
# at the end of the script, once every .exe has been signed. The release
|
||||
# workflow expands it back with:
|
||||
# In the release script, we do the following:
|
||||
# tar -xvf .github/workflows/object/windows-x64-signed-x86_64.tar.gz -C windows-x64-signed-x86_64
|
||||
# Inside the bundle we need:
|
||||
# We need to create a tar with the same structure and no top-level directory
|
||||
# Inside, we need:
|
||||
# - update_manifest/*
|
||||
# - windows.mar
|
||||
# - zen.installer.exe
|
||||
echo "Preparing signed bundle for $name"
|
||||
echo "Creating tar for $name"
|
||||
rm .\windsign-temp\windows-x64-signed-$name -Recurse -ErrorAction SilentlyContinue
|
||||
mkdir windsign-temp\windows-x64-signed-$name
|
||||
|
||||
@@ -202,8 +200,9 @@ function SignAndPackage($name) {
|
||||
# Move the manifest
|
||||
mv .\dist\update\. windsign-temp\windows-x64-signed-$name\update_manifest
|
||||
|
||||
# The signed bundle stays in windsign-temp\windows-x64-signed-$name; it is
|
||||
# compressed and uploaded to the staging release once every .exe is signed.
|
||||
# note: We need to sign it into a parent folder, called windows-x64-signed-$name
|
||||
rmdir .\windsign-temp\windows-binaries\windows-x64-signed-$name -Recurse -ErrorAction SilentlyContinue
|
||||
mv windsign-temp\windows-x64-signed-$name .\windsign-temp\windows-binaries -Force
|
||||
rmdir engine\obj-$objName-pc-windows-msvc\ -Recurse -ErrorAction SilentlyContinue
|
||||
|
||||
echo "Finished $name"
|
||||
@@ -212,42 +211,16 @@ function SignAndPackage($name) {
|
||||
SignAndPackage arm64
|
||||
SignAndPackage x86_64
|
||||
|
||||
$files = Get-ChildItem .\windsign-temp\windows-x64-signed-x86_64, .\windsign-temp\windows-x64-signed-arm64 -Recurse -Include *.exe
|
||||
$files = Get-ChildItem .\windsign-temp\windows-binaries -Recurse -Include *.exe
|
||||
signtool.exe sign /n "$SignIdentity" /t http://time.certum.pl/ /fd sha256 /v $files
|
||||
|
||||
# Compress each signed bundle into a single gzip tarball (`-C <dir> .` so it has
|
||||
# no top-level directory) and upload it as a release asset on the windows-binaries
|
||||
# repo, keyed to this build's run id. Release assets keep the bundles out of git
|
||||
# (they were too large to commit) while still living in the windows-binaries repo.
|
||||
# The gated release job downloads and expands these from that repo's releases.
|
||||
$binariesRepo = "zen-browser/windows-binaries"
|
||||
$stagingTag = "windows-signed-$GithubRunId"
|
||||
echo "Ensuring staging release $stagingTag exists on $binariesRepo"
|
||||
gh release view $stagingTag --repo $binariesRepo *> $null
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
gh release create $stagingTag --repo $binariesRepo --prerelease --title "Windows signed bundles ($GithubRunId)" --notes "Signed Windows bundles for run $GithubRunId, consumed by the release workflow. Safe to delete."
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Failed to create staging release $stagingTag on $binariesRepo"
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($name in @("x86_64", "arm64")) {
|
||||
$signedDir = ".\windsign-temp\windows-x64-signed-$name"
|
||||
$archive = ".\windsign-temp\windows-x64-signed-$name.tar.gz"
|
||||
echo "Creating compressed tar for $name"
|
||||
Remove-Item $archive -ErrorAction SilentlyContinue
|
||||
tar -czvf $archive -C $signedDir .
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Failed to create tar archive for $name"
|
||||
}
|
||||
echo "Uploading $archive to $binariesRepo release $stagingTag"
|
||||
gh release upload $stagingTag $archive --repo $binariesRepo --clobber
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Failed to upload $archive to release $stagingTag"
|
||||
}
|
||||
}
|
||||
|
||||
echo "All artifacts signed, packaged, and uploaded to $binariesRepo release $stagingTag!"
|
||||
echo "All artifacts signed and packaged, ready for release!"
|
||||
echo "Commiting the changes to the repository"
|
||||
cd windsign-temp\windows-binaries
|
||||
git add .
|
||||
git commit -m "Sign and package windows artifacts"
|
||||
git push
|
||||
cd ..\..
|
||||
|
||||
# Cleaning up
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ if test "$ZEN_CROSS_COMPILING"; then
|
||||
export WINEDEBUG=-all
|
||||
|
||||
export MOZ_STUB_INSTALLER=1
|
||||
export MOZ_PKG_FORMAT=TAR
|
||||
|
||||
export CROSS_BUILD=1
|
||||
CROSS_COMPILE=1
|
||||
|
||||
@@ -20,9 +20,9 @@ files:
|
||||
translation: browser/browser/preferences/zen-preferences.ftl
|
||||
- source: en-US/browser/browser/zen-folders.ftl
|
||||
translation: browser/browser/zen-folders.ftl
|
||||
- source: en-US/browser/browser/zen-library.ftl
|
||||
translation: browser/browser/zen-library.ftl
|
||||
- source: en-US/browser/browser/zen-boosts.ftl
|
||||
translation: browser/browser/zen-boosts.ftl
|
||||
- source: en-US/browser/browser/zen-space-routing.ftl
|
||||
translation: browser/browser/zen-space-routing.ftl
|
||||
- source: en-US/browser/browser/zen-command-palette.ftl
|
||||
translation: browser/browser/zen-command-palette.ftl
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
# 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/.
|
||||
|
||||
zen-action-toggle-compact-mode = Toggle Compact Mode
|
||||
zen-action-open-theme-picker = Open Theme Picker
|
||||
zen-action-new-split-view = New Split View
|
||||
zen-action-new-folder = New Folder
|
||||
zen-action-copy-current-url = Copy Current URL
|
||||
zen-action-settings = Settings
|
||||
zen-action-open-private-window = Open Private Window
|
||||
zen-action-open-new-window = Open New Window
|
||||
zen-action-new-blank-window = New Blank Window
|
||||
zen-action-pin-tab = Pin Tab
|
||||
zen-action-unpin-tab = Unpin Tab
|
||||
zen-action-open-space-routing = Open Space Routing
|
||||
zen-action-new-boost = New Boost
|
||||
zen-action-next-space = Next Space
|
||||
zen-action-previous-space = Previous Space
|
||||
zen-action-close-tab = Close Tab
|
||||
zen-action-reload-tab = Reload Tab
|
||||
zen-action-reload-tab-without-cache = Reload Tab Without Cache
|
||||
zen-action-next-tab = Next Tab
|
||||
zen-action-previous-tab = Previous Tab
|
||||
zen-action-capture-screenshot = Capture Screenshot
|
||||
zen-action-toggle-tabs-on-right = Toggle Tabs on right
|
||||
zen-action-add-to-essentials = Add to Essentials
|
||||
zen-action-remove-from-essentials = Remove from Essentials
|
||||
zen-action-find-in-page = Find in Page
|
||||
zen-action-manage-extensions = Manage Extensions
|
||||
zen-action-switch-to-automatic-appearance = Switch to Automatic Appearance
|
||||
zen-action-switch-to-light-mode = Switch to Light Mode
|
||||
zen-action-switch-to-dark-mode = Switch to Dark Mode
|
||||
zen-action-print = Print
|
||||
zen-action-focus-on = Focus on
|
||||
zen-action-extension = Extension
|
||||
@@ -87,8 +87,6 @@ zen-icons-picker-emoji =
|
||||
.label = Emojis
|
||||
zen-icons-picker-svg =
|
||||
.label = Icons
|
||||
zen-emojis-picker-search =
|
||||
.placeholder = Search emojis
|
||||
|
||||
urlbar-search-mode-zen_actions = Actions
|
||||
zen-site-data-settings = Settings
|
||||
|
||||
89
locales/en-US/browser/browser/zen-library.ftl
Normal file
89
locales/en-US/browser/browser/zen-library.ftl
Normal file
@@ -0,0 +1,89 @@
|
||||
# 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/.
|
||||
|
||||
library-spaces-section-title = Spaces
|
||||
library-downloads-section-title = Downloads
|
||||
library-history-section-title = History
|
||||
library-boosts-section-title = Boosts
|
||||
|
||||
library-search-placeholder =
|
||||
.placeholder = Search…
|
||||
library-history-search-placeholder =
|
||||
.placeholder = Search History…
|
||||
library-downloads-search-placeholder =
|
||||
.placeholder = Search Downloads…
|
||||
|
||||
library-history-today = Today
|
||||
library-history-yesterday = Yesterday
|
||||
|
||||
library-history-empty = No history found
|
||||
library-downloads-empty = No downloads found
|
||||
library-spaces-empty = No spaces available
|
||||
library-boosts-empty = No boosts yet
|
||||
library-search-no-results = No results
|
||||
|
||||
library-boosts-search-placeholder =
|
||||
.placeholder = Search Boosts…
|
||||
|
||||
library-boost-toggle =
|
||||
.tooltiptext = Toggle boost for this site
|
||||
library-boost-context-edit =
|
||||
.label = Edit Boost
|
||||
library-boost-context-export =
|
||||
.label = Export Boost
|
||||
library-boost-context-delete =
|
||||
.label = Delete Boost
|
||||
|
||||
library-filter-button = Filter
|
||||
|
||||
library-history-filter-all =
|
||||
.label = All time
|
||||
library-history-filter-today =
|
||||
.label = Today
|
||||
library-history-filter-yesterday =
|
||||
.label = Yesterday
|
||||
library-history-filter-last-7-days =
|
||||
.label = Last 7 days
|
||||
library-history-filter-last-30-days =
|
||||
.label = Last 30 days
|
||||
|
||||
library-downloads-filter-all =
|
||||
.label = All
|
||||
library-downloads-filter-completed =
|
||||
.label = Completed
|
||||
library-downloads-filter-in-progress =
|
||||
.label = In progress
|
||||
library-downloads-filter-failed =
|
||||
.label = Failed
|
||||
library-downloads-filter-paused =
|
||||
.label = Paused
|
||||
|
||||
library-item-context-open =
|
||||
.label = Open
|
||||
library-item-context-open-glance =
|
||||
.label = Open in Glance
|
||||
library-item-context-open-new-tab =
|
||||
.label = Open in New Tab
|
||||
library-item-context-open-new-window =
|
||||
.label = Open in New Window
|
||||
library-item-context-copy-url =
|
||||
.label = Copy URL
|
||||
library-item-context-delete-history =
|
||||
.label = Forget About This Page
|
||||
library-item-context-open-source =
|
||||
.label = Open Source URL
|
||||
library-item-context-remove =
|
||||
.label = Remove from History
|
||||
library-item-context-delete-file =
|
||||
.label = Delete File
|
||||
|
||||
library-history-action-remove =
|
||||
.tooltiptext = Forget About This Page
|
||||
library-history-action-open-tab =
|
||||
.tooltiptext = Open in New Tab
|
||||
|
||||
library-downloads-state-downloading = Downloading…
|
||||
library-downloads-state-canceled = Canceled
|
||||
library-downloads-state-failed = Failed
|
||||
library-downloads-state-incomplete = Incomplete
|
||||
@@ -82,7 +82,6 @@ zen-workspace-creation-profile = Profile
|
||||
.tooltiptext = Profiles are used to separate cookies and site data between spaces.
|
||||
zen-workspace-creation-header = Create a Space
|
||||
zen-workspace-creation-label = Spaces are used to organize your tabs and sessions.
|
||||
zen-workspace-default-profile = Default
|
||||
|
||||
zen-workspaces-delete-workspace-title = Delete Space?
|
||||
zen-workspaces-delete-workspace-body = Are you sure you want to delete { $name }? This action cannot be undone.
|
||||
|
||||
@@ -2,7 +2,5 @@
|
||||
# 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/.
|
||||
|
||||
EXTRA_JS_MODULES.zen += [
|
||||
"ZenSyncManager.sys.mjs",
|
||||
"ZenWorkspacesSync.sys.mjs",
|
||||
]
|
||||
- name: zen.library.enabled
|
||||
value: false
|
||||
@@ -32,6 +32,9 @@
|
||||
- name: zen.workspaces.scroll-modifier-key
|
||||
value: ctrl
|
||||
|
||||
- name: services.sync.engine.workspaces
|
||||
value: false
|
||||
|
||||
- name: zen.workspaces.separate-essentials
|
||||
value: true
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/.stylelintrc.js b/.stylelintrc.js
|
||||
index b484bf6600a7e1b8ad2aed8c8b7fe5e84cc3d023..f89712e2c13dfa0bcb48e55cd3872c67f5c98dad 100644
|
||||
index 3c9fecf731126fdbf900d1bdcd3635dd31ed53ef..c3a210b8153e9699c6cbdc0d568bb72433976b2c 100644
|
||||
--- a/.stylelintrc.js
|
||||
+++ b/.stylelintrc.js
|
||||
@@ -67,7 +67,7 @@ module.exports = {
|
||||
@@ -11,9 +11,9 @@ index b484bf6600a7e1b8ad2aed8c8b7fe5e84cc3d023..f89712e2c13dfa0bcb48e55cd3872c67
|
||||
{
|
||||
ignore: ["blockless-at-rules"],
|
||||
},
|
||||
@@ -280,7 +280,7 @@ module.exports = {
|
||||
"media-query-no-invalid": null,
|
||||
"stylelint-plugin-mozilla/media-query-no-invalid": true,
|
||||
@@ -274,7 +274,7 @@ module.exports = {
|
||||
// Remove this line setting `csscontrols/use-logical` to null after implementing fixes
|
||||
"csstools/use-logical": null,
|
||||
"stylelint-plugin-mozilla/no-base-design-tokens": true,
|
||||
- "stylelint-plugin-mozilla/use-design-tokens": true,
|
||||
+ "stylelint-plugin-mozilla/use-design-tokens": false,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/browser-box.inc.xhtml b/browser/base/content/browser-box.inc.xhtml
|
||||
index 4a16fe93daeefb88af024c1dac05bc1f518c3fcb..a420768e4047937c8becefb69c1017e13fc12231 100644
|
||||
index 31cd4f927c273573b38021f84417101c57377902..f293e1c61d3b7a80b7dc472d927893f0439d6af9 100644
|
||||
--- a/browser/base/content/browser-box.inc.xhtml
|
||||
+++ b/browser/base/content/browser-box.inc.xhtml
|
||||
@@ -3,12 +3,22 @@
|
||||
@@ -10,7 +10,7 @@ index 4a16fe93daeefb88af024c1dac05bc1f518c3fcb..a420768e4047937c8becefb69c1017e1
|
||||
+ <html:div id="zen-browser-background" class="zen-browser-generic-background">
|
||||
+ <html:div class="zen-browser-grain" />
|
||||
+ </html:div>
|
||||
<box context="sidebar-context-menu" id="sidebar-container" class="chrome-block" hidden="true">
|
||||
<box context="sidebar-context-menu" id="sidebar-main" class="chrome-block" hidden="true">
|
||||
<html:sidebar-main flex="1">
|
||||
<box id="vertical-tabs" slot="tabstrip" customizable="true" contextmenu="toolbar-context-menu"></box>
|
||||
</html:sidebar-main>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||
index e7e94e13a990c154fb54bda4a3420ca00bdac009..8253b7d403734973729a5982cceafc12bab24f54 100644
|
||||
index e7e94e13a990c154fb54bda4a3420ca00bdac009..e3b4846e1b198711d3e0047d38da1c1ed58a2ab2 100644
|
||||
--- a/browser/base/content/navigator-toolbox.inc.xhtml
|
||||
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||
@@ -2,7 +2,7 @@
|
||||
@@ -55,3 +55,11 @@ index e7e94e13a990c154fb54bda4a3420ca00bdac009..8253b7d403734973729a5982cceafc12
|
||||
|
||||
<toolbar id="nav-bar"
|
||||
class="browser-toolbar chromeclass-location"
|
||||
@@ -202,7 +210,6 @@
|
||||
<toolbartabstop/>
|
||||
<html:moz-urlbar id="urlbar"
|
||||
class="urlbar"
|
||||
- popover="manual"
|
||||
pageproxystate="invalid"
|
||||
unifiedsearchbutton-available=""
|
||||
sap-name="urlbar">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/navigator-toolbox.js b/browser/base/content/navigator-toolbox.js
|
||||
index 10faff18ca0c6df472de81b5dbdba83309fa2eb8..b675df9ad22150f5a1060dedbabf6cb27c951619 100644
|
||||
index 1982ebadbd2df5ea309db487a4f30288f1af43e5..926c681d4733c84768a23407d60ca05859408b6d 100644
|
||||
--- a/browser/base/content/navigator-toolbox.js
|
||||
+++ b/browser/base/content/navigator-toolbox.js
|
||||
@@ -10,7 +10,7 @@ ChromeUtils.defineESModuleGetters(this, {
|
||||
@@ -37,15 +37,15 @@ index 10faff18ca0c6df472de81b5dbdba83309fa2eb8..b675df9ad22150f5a1060dedbabf6cb2
|
||||
case "back-button":
|
||||
case "forward-button":
|
||||
case "reload-button":
|
||||
@@ -331,6 +343,7 @@ document.addEventListener(
|
||||
@@ -329,6 +341,7 @@ document.addEventListener(
|
||||
#downloads-button,
|
||||
#fxa-toolbar-menu-button,
|
||||
#unified-extensions-button,
|
||||
+ #zen-site-data-icon-button,
|
||||
#library-button,
|
||||
#ipprotection-button,
|
||||
#split-view-button,
|
||||
@@ -416,6 +429,16 @@ document.addEventListener(
|
||||
#smartwindow-ask-button
|
||||
@@ -413,6 +426,16 @@ document.addEventListener(
|
||||
gUnifiedExtensions.togglePanel(event);
|
||||
break;
|
||||
|
||||
|
||||
@@ -20,4 +20,5 @@
|
||||
#include ../../../zen/fonts/jar.inc.mn
|
||||
#include ../../../zen/boosts/jar.inc.mn
|
||||
#include ../../../zen/live-folders/jar.inc.mn
|
||||
#include ../../../zen/library/jar.inc.mn
|
||||
#include ../../../zen/space-routing/jar.inc.mn
|
||||
|
||||
@@ -69,5 +69,7 @@
|
||||
|
||||
<command id="cmd_zenNewLiveFolder" />
|
||||
|
||||
<command id="cmd_zenToggleLibrary" />
|
||||
|
||||
<command id="cmd_zenDuplicateTab" />
|
||||
</commandset>
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
<link rel="localization" href="browser/zen-menubar.ftl"/>
|
||||
<link rel="localization" href="browser/zen-vertical-tabs.ftl"/>
|
||||
<link rel="localization" href="browser/zen-folders.ftl"/>
|
||||
<link rel="localization" href="browser/zen-library.ftl"/>
|
||||
<link rel="localization" href="browser/zen-boosts.ftl"/>
|
||||
<link rel="localization" href="browser/zen-live-folders.ftl"/>
|
||||
<link rel="localization" href="browser/zen-space-routing.ftl"/>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<hbox id="PanelUI-zen-emojis-picker-pages">
|
||||
<vbox emojis="true">
|
||||
<hbox id="PanelUI-zen-emojis-picker-header">
|
||||
<html:input type="search" id="PanelUI-zen-emojis-picker-search" data-l10n-id="zen-emojis-picker-search" />
|
||||
<html:input type="search" id="PanelUI-zen-emojis-picker-search" placeholder="Search emojis" />
|
||||
</hbox>
|
||||
<hbox id="PanelUI-zen-emojis-picker-list" />
|
||||
</vbox>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
skipintoolbarset="true"
|
||||
context="toolbar-context-menu"
|
||||
mode="icons">
|
||||
<toolbarbutton removable="true" class="chromeclass-toolbar-additional toolbarbutton-1 zen-sidebar-action-button" id="zen-library-button" command="cmd_zenToggleLibrary"></toolbarbutton>
|
||||
<toolbarbutton removable="true" class="chromeclass-toolbar-additional toolbarbutton-1 zen-sidebar-action-button" id="zen-expand-sidebar-button" command="cmd_zenToggleSidebar" data-l10n-id="sidebar-zen-expand"></toolbarbutton>
|
||||
<zen-workspace-icons id="zen-workspaces-button" overflows="false" removable="false"></zen-workspace-icons>
|
||||
<toolbarbutton removable="true" class="chromeclass-toolbar-additional toolbarbutton-1 zen-sidebar-action-button" id="zen-create-new-button" context="zenCreateNewPopup" data-l10n-id="sidebar-zen-create-new"></toolbarbutton>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
diff --git a/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs b/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs
|
||||
index 88c3545431cf1a300d968c296d9b171871b15fe5..754cd644f2e7b82db40d5c06618ac1764424484c 100644
|
||||
index f6f1dd1f6b4d21d27e39b48bb7a57871ad5d019d..bf743120cf9f137cbe06d05896f706fb3d5b9435 100644
|
||||
--- a/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs
|
||||
+++ b/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs
|
||||
@@ -308,6 +308,7 @@ export const AIWindow = {
|
||||
@@ -287,6 +287,7 @@ export const AIWindow = {
|
||||
},
|
||||
|
||||
_updateToolbarButtonPositions(win) {
|
||||
_updateToolbarButtonPositions(win, { isToggling = false } = {}) {
|
||||
+ return;
|
||||
const modeSwitcherButton = win.document.getElementById("ai-window-toggle");
|
||||
const hamburgerMenu = win.document.getElementById("PanelUI-button");
|
||||
const hamburgerMenuShouldBeAdjacent =
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js
|
||||
index 91adc6bc3649af47745818e6f9d00cbbdffc35a5..e221b077dbfbe20c8696732f003bd5809d761a02 100644
|
||||
index aca5a23deda6b0f2316b0e108cff20ffd7feda67..a06c90937f97a4994b0807b54984089dbe627a71 100644
|
||||
--- a/browser/components/extensions/parent/ext-browser.js
|
||||
+++ b/browser/components/extensions/parent/ext-browser.js
|
||||
@@ -362,6 +362,7 @@ class TabTracker extends TabTrackerBase {
|
||||
@@ -352,6 +352,7 @@ class TabTracker extends TabTrackerBase {
|
||||
}
|
||||
|
||||
getId(nativeTab) {
|
||||
@@ -10,15 +10,15 @@ index 91adc6bc3649af47745818e6f9d00cbbdffc35a5..e221b077dbfbe20c8696732f003bd580
|
||||
let id = this._tabs.get(nativeTab);
|
||||
if (id) {
|
||||
return id;
|
||||
@@ -395,6 +396,7 @@ class TabTracker extends TabTrackerBase {
|
||||
@@ -386,6 +387,7 @@ class TabTracker extends TabTrackerBase {
|
||||
if (nativeTab.documentGlobal.closed) {
|
||||
throw new Error("Cannot attach ID to a tab in a closed window.");
|
||||
}
|
||||
+ if (nativeTab.hasAttribute("zen-empty-tab")) return;
|
||||
|
||||
this._tabs.set(nativeTab, id);
|
||||
this._tabIds.set(id, nativeTab);
|
||||
@@ -1262,6 +1264,10 @@ class TabManager extends TabManagerBase {
|
||||
if (nativeTab.linkedBrowser) {
|
||||
@@ -1276,6 +1278,10 @@ class TabManager extends TabManagerBase {
|
||||
}
|
||||
|
||||
canAccessTab(nativeTab) {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/extensions/parent/ext-tabs.js b/browser/components/extensions/parent/ext-tabs.js
|
||||
index f342748d4b680a5de3a8b7c90df79f7c380b9e1c..65091cf370e00a580ae2cb1fad9cde76f10c8bd9 100644
|
||||
index 8f5fdecc9394d42a1460a1b73fb8c4e92f63c41e..82c03e234289c7b00f49f73854be45fb95fb91d7 100644
|
||||
--- a/browser/components/extensions/parent/ext-tabs.js
|
||||
+++ b/browser/components/extensions/parent/ext-tabs.js
|
||||
@@ -438,6 +438,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
||||
@@ -514,6 +514,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
||||
}
|
||||
|
||||
let tab = tabManager.getWrapper(updatedTab);
|
||||
@@ -10,11 +10,11 @@ index f342748d4b680a5de3a8b7c90df79f7c380b9e1c..65091cf370e00a580ae2cb1fad9cde76
|
||||
|
||||
let changeInfo = {};
|
||||
for (let prop of needed) {
|
||||
@@ -806,6 +807,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
||||
@@ -883,6 +884,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
||||
});
|
||||
}
|
||||
|
||||
+ window.gZenCompactModeManager._nextTimeWillBeActive = active;
|
||||
let nativeTab = window.gBrowser.addTab(url, options);
|
||||
tabTracker.addTabReadyBlocker(nativeTab);
|
||||
|
||||
if (active) {
|
||||
|
||||
13
src/browser/components/nova/NovaPrefs-sys-mjs.patch
Normal file
13
src/browser/components/nova/NovaPrefs-sys-mjs.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/browser/components/nova/NovaPrefs.sys.mjs b/browser/components/nova/NovaPrefs.sys.mjs
|
||||
index 3d22c881c481643fcffbc581523905a1847a7d41..453dd4d9c43d7483c037a993afbf2b854533497c 100644
|
||||
--- a/browser/components/nova/NovaPrefs.sys.mjs
|
||||
+++ b/browser/components/nova/NovaPrefs.sys.mjs
|
||||
@@ -18,7 +18,7 @@ const PLATFORM_PREFS = (() => {
|
||||
})();
|
||||
|
||||
function applyNovaPlatformDefaults() {
|
||||
- const on = Services.prefs.getBoolPref("browser.nova.enabled", false);
|
||||
+ const on = true;
|
||||
const defaults = Services.prefs.getDefaultBranch("");
|
||||
for (const pref of PLATFORM_PREFS) {
|
||||
defaults.setBoolPref(pref, on);
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/places/PlacesUIUtils.sys.mjs b/browser/components/places/PlacesUIUtils.sys.mjs
|
||||
index 7c11a2004c87aa6f0c61cf05ca522c7471c7be71..0f92f9925221cadbd258402f1b6a86a71fdb42e9 100644
|
||||
index 7c2786cc1be512ddfc165fb8f6514131ac033040..5846aff53030ef0fad2f87d017ba3713889b474d 100644
|
||||
--- a/browser/components/places/PlacesUIUtils.sys.mjs
|
||||
+++ b/browser/components/places/PlacesUIUtils.sys.mjs
|
||||
@@ -61,6 +61,7 @@ class BookmarkState {
|
||||
@@ -157,3 +157,12 @@ index 7c11a2004c87aa6f0c61cf05ca522c7471c7be71..0f92f9925221cadbd258402f1b6a86a7
|
||||
/**
|
||||
* Append transactions to update tags by given information.
|
||||
*
|
||||
@@ -915,7 +1024,7 @@ export var PlacesUIUtils = {
|
||||
aNode,
|
||||
aWhere,
|
||||
aWindow,
|
||||
- { aPrivate = false, userContextId = 0 } = {}
|
||||
+ { aPrivate = false, userContextId = undefined } = {}
|
||||
) {
|
||||
if (
|
||||
aNode &&
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
diff --git a/browser/components/preferences/config/account-sync.mjs b/browser/components/preferences/config/account-sync.mjs
|
||||
index b503987a08e2ce64bfc01c4e3a21e5e19ef834f0..b1c03a0b219fd3eddd93c1deaeb18ab79c85f168 100644
|
||||
--- a/browser/components/preferences/config/account-sync.mjs
|
||||
+++ b/browser/components/preferences/config/account-sync.mjs
|
||||
@@ -42,6 +42,7 @@ Preferences.addAll([
|
||||
{ id: "services.sync.engine.creditcards", type: "bool" },
|
||||
{ id: "services.sync.engine.addons", type: "bool" },
|
||||
{ id: "services.sync.engine.prefs", type: "bool" },
|
||||
+ { id: "services.sync.engine.spaces", type: "bool" },
|
||||
]);
|
||||
|
||||
/**
|
||||
@@ -546,6 +547,7 @@ const SYNC_ENGINE_SETTINGS = [
|
||||
type: "payments",
|
||||
},
|
||||
{ id: "syncAddons", pref: "services.sync.engine.addons", type: "addons" },
|
||||
+ { id: "syncSpaces", pref: "services.sync.engine.spaces", type: "workspaces" },
|
||||
{ id: "syncSettings", pref: "services.sync.engine.prefs", type: "settings" },
|
||||
];
|
||||
|
||||
@@ -6,7 +6,7 @@ index 64aa0d98a0622c01f3dcfff1a04bfcda368354d2..2013e04b0881ad2295d6897b91e1573c
|
||||
{ id: "services.sync.engine.passwords", type: "bool" },
|
||||
{ id: "services.sync.engine.addresses", type: "bool" },
|
||||
{ id: "services.sync.engine.creditcards", type: "bool" },
|
||||
+ { id: "services.sync.engine.spaces", type: "bool" },
|
||||
+ { id: "services.sync.engine.workspaces", type: "bool" },
|
||||
]);
|
||||
|
||||
let gSyncChooseWhatToSync = {
|
||||
|
||||
@@ -20,7 +20,7 @@ index a893c5ec3d007820d98f5d92dd039640faa2c181..9cbd00102e44ccf98b37845474d92d57
|
||||
+ <html:div class="sync-engine-workspaces">
|
||||
+ <checkbox
|
||||
+ data-l10n-id="sync-engine-workspaces"
|
||||
+ preference="services.sync.engine.spaces"
|
||||
+ preference="services.sync.engine.workspaces"
|
||||
+ />
|
||||
+ </html:div>
|
||||
</html:div>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
|
||||
index fcbd421c99b24e53e46131a1e21ec690814cbf4f..fe3778a57aaeebc53f7f6763ea234cbb41816186 100644
|
||||
index c86e54bb6f5e00d9d7bdd81154857a5be97f909c..4035f6a667a361ad106e816a172342724a770435 100644
|
||||
--- a/browser/components/preferences/main.js
|
||||
+++ b/browser/components/preferences/main.js
|
||||
@@ -662,6 +662,11 @@ function createStartupConfig(hidden = false) {
|
||||
},
|
||||
],
|
||||
@@ -643,6 +643,11 @@ function createStartupConfig(hidden = false) {
|
||||
id: "browserRestoreSession",
|
||||
l10nId: "startup-restore-windows-and-tabs",
|
||||
},
|
||||
+ {
|
||||
+ id: "zenWorkspaceContinueWhereLeftOff",
|
||||
@@ -14,7 +14,7 @@ index fcbd421c99b24e53e46131a1e21ec690814cbf4f..fe3778a57aaeebc53f7f6763ea234cbb
|
||||
{
|
||||
id: "windowsLaunchOnLogin",
|
||||
l10nId: "windows-launch-on-login",
|
||||
@@ -709,7 +714,7 @@ function createStartupConfig(hidden = false) {
|
||||
@@ -690,7 +695,7 @@ function createStartupConfig(hidden = false) {
|
||||
SettingGroupManager.registerGroups({
|
||||
defaultBrowser: createDefaultBrowserConfig(),
|
||||
startup: createStartupConfig(
|
||||
@@ -23,7 +23,7 @@ index fcbd421c99b24e53e46131a1e21ec690814cbf4f..fe3778a57aaeebc53f7f6763ea234cbb
|
||||
),
|
||||
});
|
||||
|
||||
@@ -762,7 +767,7 @@ function getBundleForLocales(newLocales) {
|
||||
@@ -743,7 +748,7 @@ function getBundleForLocales(newLocales) {
|
||||
])
|
||||
);
|
||||
return new Localization(
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
|
||||
index c76a0647e14bac806d9428483bb565b3e10c31e7..2188f7808aca090f92574c7f5c55a28a9c5bb3f8 100644
|
||||
index 57add34d876fb885275f1147209c6fbeee367a7c..be0ab43b299317c0022a5e719f47a070c1574714 100644
|
||||
--- a/browser/components/preferences/preferences.js
|
||||
+++ b/browser/components/preferences/preferences.js
|
||||
@@ -131,6 +131,7 @@ ChromeUtils.defineLazyGetter(this, "gSubDialog", function () {
|
||||
@@ -132,6 +132,7 @@ ChromeUtils.defineLazyGetter(this, "gSubDialog", function () {
|
||||
styleSheets: [
|
||||
"chrome://browser/skin/preferences/dialog.css",
|
||||
"chrome://browser/skin/preferences/preferences.css",
|
||||
@@ -10,7 +10,7 @@ index c76a0647e14bac806d9428483bb565b3e10c31e7..2188f7808aca090f92574c7f5c55a28a
|
||||
],
|
||||
resizeCallback: async ({ title, frame }) => {
|
||||
// Search within main document and highlight matched keyword.
|
||||
@@ -437,6 +438,8 @@ const CONFIG_PANES = Object.freeze({
|
||||
@@ -437,6 +437,8 @@ const CONFIG_PANES = Object.freeze({
|
||||
tabsBrowsing: {
|
||||
l10nId: "tabs-browsing-section",
|
||||
groupIds: [
|
||||
@@ -19,7 +19,7 @@ index c76a0647e14bac806d9428483bb565b3e10c31e7..2188f7808aca090f92574c7f5c55a28a
|
||||
"browserLayout",
|
||||
"tabs",
|
||||
"pageNavigation",
|
||||
@@ -483,7 +486,7 @@ function register_module(categoryName, categoryObject) {
|
||||
@@ -477,7 +480,7 @@ function register_module(categoryName, categoryObject) {
|
||||
}
|
||||
this._initted = true;
|
||||
let template = document.getElementById("template-" + categoryName);
|
||||
@@ -28,10 +28,10 @@ index c76a0647e14bac806d9428483bb565b3e10c31e7..2188f7808aca090f92574c7f5c55a28a
|
||||
// Replace the template element with the nodes inside of it.
|
||||
template.replaceWith(template.content);
|
||||
|
||||
@@ -527,6 +530,10 @@ function init_all() {
|
||||
register_module("paneHome", gHomePane);
|
||||
@@ -522,6 +525,10 @@ function init_all() {
|
||||
register_module("paneSearch", gSearchPane);
|
||||
register_module("panePrivacy", gPrivacyPane);
|
||||
register_module("paneContainers", gContainersPane);
|
||||
+ register_module("paneZenLooks", gZenLooksAndFeel);
|
||||
+ register_module("paneZenTabManagement", gZenWorkspacesSettings);
|
||||
+ register_module("paneZenCKS", gZenCKSSettings);
|
||||
@@ -39,7 +39,7 @@ index c76a0647e14bac806d9428483bb565b3e10c31e7..2188f7808aca090f92574c7f5c55a28a
|
||||
|
||||
// Restore the cached Firefox Labs nav button visibility so it shows
|
||||
// immediately when recipes are expected to be available, before
|
||||
@@ -656,9 +663,9 @@ async function gotoPref(
|
||||
@@ -651,9 +658,9 @@ async function gotoPref(
|
||||
let redesignEnabled = srdSectionPrefs.all;
|
||||
let categories = document.getElementById("categories");
|
||||
const kDefaultCategoryInternalName = redesignEnabled
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
|
||||
index 1b8c38159314b6edee9e6f455beb2b63db1ad3f0..1308345db640dba6b2848b49ef7c11819f9f5727 100644
|
||||
index 9760a4a35b0b3bd21edec07a70c10bccc23e4a09..9f22146c259ea5b45005be660bfcb9ea2c1297ee 100644
|
||||
--- a/browser/components/preferences/preferences.xhtml
|
||||
+++ b/browser/components/preferences/preferences.xhtml
|
||||
@@ -39,6 +39,8 @@
|
||||
@@ -42,6 +42,8 @@
|
||||
<link rel="stylesheet" href="chrome://browser/content/preferences/widgets/setting-pane.css" />
|
||||
<link rel="stylesheet" href="chrome://browser/content/preferences/widgets/setting-control.css" />
|
||||
|
||||
@@ -11,7 +11,7 @@ index 1b8c38159314b6edee9e6f455beb2b63db1ad3f0..1308345db640dba6b2848b49ef7c1181
|
||||
<link rel="localization" href="branding/brand.ftl"/>
|
||||
<link rel="localization" href="browser/browser.ftl"/>
|
||||
<!-- Used by fontbuilder.js -->
|
||||
@@ -118,6 +120,26 @@
|
||||
@@ -121,6 +123,26 @@
|
||||
iconsrc="chrome://browser/skin/preferences/category-general.svg"
|
||||
data-l10n-id="pane-general-title">
|
||||
</html:moz-page-nav-button>
|
||||
@@ -38,8 +38,8 @@ index 1b8c38159314b6edee9e6f455beb2b63db1ad3f0..1308345db640dba6b2848b49ef7c1181
|
||||
<html:moz-page-nav-button id="category-sync"
|
||||
hidden="true"
|
||||
view="paneSync"
|
||||
@@ -248,6 +270,10 @@
|
||||
#include privacy.inc.xhtml
|
||||
@@ -253,6 +275,10 @@
|
||||
#include containers.inc.xhtml
|
||||
#include sync.inc.xhtml
|
||||
#include moreFromMozilla.inc.xhtml
|
||||
+#include zenLooksAndFeel.inc.xhtml
|
||||
|
||||
@@ -6,7 +6,7 @@ index c379e1a5f82692406a92d9fcd3bca2769dfac5b2..af037dd3d995813d966524ac44a3795d
|
||||
<image class="sync-engine-image sync-engine-prefs" alt=""/>
|
||||
<label data-l10n-id="sync-currently-syncing-settings"/>
|
||||
</html:div>
|
||||
+ <html:div engine_preference="services.sync.engine.spaces">
|
||||
+ <html:div engine_preference="services.sync.engine.workspaces">
|
||||
+ <image class="sync-engine-image sync-engine-workspaces" alt=""/>
|
||||
+ <label data-l10n-id="sync-currently-syncing-workspaces"/>
|
||||
+ </html:div>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
||||
index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645eb49d12e9 100644
|
||||
index 08b5b56e069d038d72c87355920c4ce8a55ed805..209c0ddc0297adb8340180c58de07ae107790751 100644
|
||||
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
||||
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
||||
@@ -509,6 +509,7 @@
|
||||
@@ -511,6 +511,7 @@
|
||||
* @type {MozBrowser[]}
|
||||
*/
|
||||
get splitViewBrowsers() {
|
||||
@@ -10,7 +10,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
const browsers = [];
|
||||
if (this.#activeSplitView) {
|
||||
for (const tab of this.#activeSplitView.tabs) {
|
||||
@@ -578,15 +579,66 @@
|
||||
@@ -584,15 +585,66 @@
|
||||
return this.tabContainer.visibleTabs;
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
set selectedTab(val) {
|
||||
if (
|
||||
gSharedTabWarning.willShowSharedTabWarning(val) ||
|
||||
@@ -595,6 +647,9 @@
|
||||
@@ -601,6 +653,9 @@
|
||||
) {
|
||||
return;
|
||||
}
|
||||
@@ -89,7 +89,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
// Update the tab
|
||||
this.tabbox.selectedTab = val;
|
||||
}
|
||||
@@ -662,6 +717,10 @@
|
||||
@@ -668,6 +723,10 @@
|
||||
userContextId = parseInt(tabArgument.getAttribute("usercontextid"), 10);
|
||||
}
|
||||
|
||||
@@ -97,10 +97,10 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
+ userContextId = window._zenStartupUnsyncedUserContextId;
|
||||
+ }
|
||||
+
|
||||
if (openWindowInfo) {
|
||||
userContextId = openWindowInfo.originAttributes.userContextId;
|
||||
}
|
||||
@@ -763,6 +822,8 @@
|
||||
if (tabArgument && tabArgument.linkedBrowser) {
|
||||
remoteType = tabArgument.linkedBrowser.remoteType;
|
||||
initialBrowsingContextGroupId =
|
||||
@@ -760,6 +819,8 @@
|
||||
this.tabpanels.appendChild(panel);
|
||||
|
||||
let tab = this.tabs[0];
|
||||
@@ -109,7 +109,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
tab.linkedPanel = uniqueId;
|
||||
this._selectedTab = tab;
|
||||
this._selectedBrowser = browser;
|
||||
@@ -1129,18 +1190,24 @@
|
||||
@@ -1126,18 +1187,24 @@
|
||||
aTab,
|
||||
{ telemetrySource = this.TabMetrics.METRIC_SOURCE.UNKNOWN } = {}
|
||||
) {
|
||||
@@ -135,7 +135,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
aTab.setAttribute("pinned", "true");
|
||||
this._updateTabBarForPinnedTabs();
|
||||
@@ -1148,16 +1215,25 @@
|
||||
@@ -1145,16 +1212,25 @@
|
||||
}
|
||||
|
||||
unpinTab(aTab) {
|
||||
@@ -162,7 +162,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
});
|
||||
|
||||
aTab.style.marginInlineStart = "";
|
||||
@@ -1372,6 +1448,9 @@
|
||||
@@ -1369,6 +1445,9 @@
|
||||
|
||||
let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"];
|
||||
|
||||
@@ -172,7 +172,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
if (
|
||||
aIconURL &&
|
||||
!LOCAL_PROTOCOLS.some(protocol => aIconURL.startsWith(protocol))
|
||||
@@ -1381,6 +1460,9 @@
|
||||
@@ -1378,6 +1457,9 @@
|
||||
);
|
||||
return;
|
||||
}
|
||||
@@ -182,23 +182,23 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
let browser = this.getBrowserForTab(aTab);
|
||||
browser.mIconURL = aIconURL;
|
||||
@@ -1703,7 +1785,6 @@
|
||||
@@ -1700,7 +1782,6 @@
|
||||
|
||||
// Preview mode should not reset the owner
|
||||
if (!this.#previewMode && !oldTab.selected) {
|
||||
if (!this._previewMode && !oldTab.selected) {
|
||||
- oldTab.owner = null;
|
||||
}
|
||||
|
||||
let lastRelatedTab = this.#lastRelatedTabMap.get(oldTab);
|
||||
@@ -1794,6 +1875,7 @@
|
||||
if (!this.#previewMode) {
|
||||
let lastRelatedTab = this._lastRelatedTabMap.get(oldTab);
|
||||
@@ -1791,6 +1872,7 @@
|
||||
if (!this._previewMode) {
|
||||
newTab.recordTimeFromUnloadToReload();
|
||||
newTab.updateLastAccessed();
|
||||
+ newTab.removeAttribute("unread");
|
||||
oldTab.updateLastAccessed();
|
||||
// if this is the foreground window, update the last-seen timestamps.
|
||||
if (this.documentGlobal == BrowserWindowTracker.getTopWindow()) {
|
||||
@@ -2008,6 +2090,9 @@
|
||||
@@ -2005,6 +2087,9 @@
|
||||
}
|
||||
|
||||
let activeEl = document.activeElement;
|
||||
@@ -208,7 +208,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
// If focus is on the old tab, move it to the new tab.
|
||||
if (activeEl == oldTab) {
|
||||
newTab.focus();
|
||||
@@ -2046,7 +2131,7 @@
|
||||
@@ -2043,7 +2128,7 @@
|
||||
// Focus the location bar if it was previously focused for that tab.
|
||||
// In full screen mode, only bother making the location bar visible
|
||||
// if the tab is a blank one.
|
||||
@@ -217,7 +217,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
let selectURL = () => {
|
||||
if (this._asyncTabSwitching) {
|
||||
// Set _awaitingSetURI flag to suppress popup notification
|
||||
@@ -2334,7 +2419,12 @@
|
||||
@@ -2331,7 +2416,12 @@
|
||||
return this._setTabLabel(aTab, aLabel);
|
||||
}
|
||||
|
||||
@@ -231,16 +231,16 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
if (!aLabel || (isURL && /^about:reader\?url=/.test(aLabel))) {
|
||||
return false;
|
||||
}
|
||||
@@ -2460,7 +2550,7 @@
|
||||
@@ -2457,7 +2547,7 @@
|
||||
newIndex = this.selectedTab._tPos + 1;
|
||||
}
|
||||
|
||||
- if (replace) {
|
||||
+ if (replace && !((targetTab || this.selectedTab)?.hasAttribute('zen-empty-tab'))) {
|
||||
+ if (replace && !(!targetTab && this.selectedTab?.hasAttribute('zen-empty-tab'))) {
|
||||
if (this.isTabGroupLabel(targetTab)) {
|
||||
throw new Error(
|
||||
"Replacing a tab group label with a tab is not supported"
|
||||
@@ -2735,6 +2825,7 @@
|
||||
@@ -2737,6 +2827,7 @@
|
||||
uriIsAboutBlank,
|
||||
userContextId,
|
||||
skipLoad,
|
||||
@@ -248,7 +248,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
} = {}) {
|
||||
let b = document.createXULElement("browser");
|
||||
// Use the JSM global to create the permanentKey, so that if the
|
||||
@@ -2808,8 +2899,7 @@
|
||||
@@ -2810,8 +2901,7 @@
|
||||
// we use a different attribute name for this?
|
||||
b.setAttribute("name", name);
|
||||
}
|
||||
@@ -258,7 +258,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
b.setAttribute("transparent", "true");
|
||||
}
|
||||
|
||||
@@ -2964,7 +3054,7 @@
|
||||
@@ -2981,7 +3071,7 @@
|
||||
|
||||
let panel = this.getPanel(browser);
|
||||
let uniqueId = this._generateUniquePanelID();
|
||||
@@ -267,7 +267,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
aTab.linkedPanel = uniqueId;
|
||||
|
||||
// Inject the <browser> into the DOM if necessary.
|
||||
@@ -3024,8 +3114,8 @@
|
||||
@@ -3041,8 +3131,8 @@
|
||||
// If we transitioned from one browser to two browsers, we need to set
|
||||
// hasSiblings=false on both the existing browser and the new browser.
|
||||
if (this.tabs.length == 2) {
|
||||
@@ -278,7 +278,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
} else {
|
||||
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
||||
}
|
||||
@@ -3210,7 +3300,6 @@
|
||||
@@ -3227,7 +3317,6 @@
|
||||
this.selectedTab = this.addTrustedTab(BROWSER_NEW_TAB_URL, {
|
||||
tabIndex: tab._tPos + 1,
|
||||
userContextId: tab.userContextId,
|
||||
@@ -286,7 +286,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
focusUrlBar: true,
|
||||
});
|
||||
resolve(this.selectedBrowser);
|
||||
@@ -3320,6 +3409,10 @@
|
||||
@@ -3337,6 +3426,10 @@
|
||||
schemelessInput,
|
||||
hasValidUserGestureActivation = false,
|
||||
textDirectiveUserActivation = false,
|
||||
@@ -297,7 +297,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
} = {}
|
||||
) {
|
||||
// all callers of addTab that pass a params object need to pass
|
||||
@@ -3330,10 +3423,25 @@
|
||||
@@ -3347,10 +3440,25 @@
|
||||
);
|
||||
}
|
||||
|
||||
@@ -308,7 +308,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
+
|
||||
+ let hasZenDefaultUserContextId = false;
|
||||
+ let zenForcedWorkspaceId = undefined;
|
||||
+ if (beforeRouteResult.isRouteFound && (typeof userContextId === "undefined" || fromExternal)) {
|
||||
+ if (beforeRouteResult.isRouteFound && typeof userContextId !== "undefined") {
|
||||
+ userContextId = beforeRouteResult.userContextId;
|
||||
+ hasZenDefaultUserContextId = true;
|
||||
+ } else if (typeof gZenWorkspaces !== "undefined" && !_forZenEmptyTab) {
|
||||
@@ -323,7 +323,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
// If we're opening a foreground tab, set the owner by default.
|
||||
ownerTab ??= inBackground ? null : this.selectedTab;
|
||||
|
||||
@@ -3341,6 +3449,7 @@
|
||||
@@ -3358,6 +3466,7 @@
|
||||
if (this.selectedTab.owner) {
|
||||
this.selectedTab.owner = null;
|
||||
}
|
||||
@@ -331,7 +331,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
// Find the tab that opened this one, if any. This is used for
|
||||
// determining positioning, and inherited attributes such as the
|
||||
@@ -3393,6 +3502,22 @@
|
||||
@@ -3410,6 +3519,22 @@
|
||||
noInitialLabel,
|
||||
skipBackgroundNotify,
|
||||
});
|
||||
@@ -354,7 +354,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
if (insertTab) {
|
||||
// Insert the tab into the tab container in the correct position.
|
||||
this.#insertTabAtIndex(t, {
|
||||
@@ -3401,6 +3526,7 @@
|
||||
@@ -3418,6 +3543,7 @@
|
||||
ownerTab,
|
||||
openerTab,
|
||||
pinned,
|
||||
@@ -362,7 +362,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
bulkOrderedOpen,
|
||||
tabGroup: tabGroup ?? openerTab?.group,
|
||||
});
|
||||
@@ -3419,6 +3545,7 @@
|
||||
@@ -3436,6 +3562,7 @@
|
||||
openWindowInfo,
|
||||
skipLoad,
|
||||
triggeringRemoteType,
|
||||
@@ -370,7 +370,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
}));
|
||||
|
||||
if (focusUrlBar) {
|
||||
@@ -3543,6 +3670,12 @@
|
||||
@@ -3560,6 +3687,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -383,7 +383,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
// Additionally send pinned tab events
|
||||
if (pinned) {
|
||||
this.#notifyPinnedStatus(t);
|
||||
@@ -3553,6 +3686,15 @@
|
||||
@@ -3570,6 +3703,15 @@
|
||||
if (!inBackground) {
|
||||
this.selectedTab = t;
|
||||
}
|
||||
@@ -399,7 +399,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
return t;
|
||||
}
|
||||
|
||||
@@ -3785,6 +3927,7 @@
|
||||
@@ -3802,6 +3944,7 @@
|
||||
isAdoptingGroup = false,
|
||||
isUserTriggered = false,
|
||||
telemetryUserCreateSource = "unknown",
|
||||
@@ -407,7 +407,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
} = {}
|
||||
) {
|
||||
if (
|
||||
@@ -3795,9 +3938,6 @@
|
||||
@@ -3812,9 +3955,6 @@
|
||||
!this.isSplitViewWrapper(tabOrSplitView)
|
||||
)
|
||||
) {
|
||||
@@ -417,7 +417,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
}
|
||||
|
||||
if (!color) {
|
||||
@@ -3818,9 +3958,14 @@
|
||||
@@ -3835,9 +3975,14 @@
|
||||
label,
|
||||
isAdoptingGroup
|
||||
);
|
||||
@@ -434,7 +434,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
);
|
||||
group.addTabs(tabsAndSplitViews);
|
||||
|
||||
@@ -3941,7 +4086,7 @@
|
||||
@@ -3958,7 +4103,7 @@
|
||||
}
|
||||
|
||||
this.#handleTabMove(tab, () =>
|
||||
@@ -443,7 +443,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
);
|
||||
}
|
||||
|
||||
@@ -4027,6 +4172,7 @@
|
||||
@@ -4044,6 +4189,7 @@
|
||||
color: group.color,
|
||||
insertBefore: newTabs[0],
|
||||
isAdoptingGroup: true,
|
||||
@@ -451,7 +451,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
});
|
||||
}
|
||||
|
||||
@@ -4237,6 +4383,7 @@
|
||||
@@ -4254,6 +4400,7 @@
|
||||
openWindowInfo,
|
||||
skipLoad,
|
||||
triggeringRemoteType,
|
||||
@@ -459,7 +459,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
}
|
||||
) {
|
||||
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
|
||||
@@ -4297,6 +4444,7 @@
|
||||
@@ -4323,6 +4470,7 @@
|
||||
openWindowInfo,
|
||||
name,
|
||||
skipLoad,
|
||||
@@ -467,7 +467,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
});
|
||||
}
|
||||
|
||||
@@ -4510,9 +4658,9 @@
|
||||
@@ -4536,9 +4684,9 @@
|
||||
}
|
||||
|
||||
// Add a new tab if needed.
|
||||
@@ -479,7 +479,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
let url = "about:blank";
|
||||
if (tabData.entries?.length) {
|
||||
@@ -4545,8 +4693,10 @@
|
||||
@@ -4575,8 +4723,10 @@
|
||||
insertTab: false,
|
||||
skipLoad: true,
|
||||
preferredRemoteType,
|
||||
@@ -491,7 +491,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
if (select) {
|
||||
tabToSelect = tab;
|
||||
}
|
||||
@@ -4568,7 +4718,8 @@
|
||||
@@ -4598,7 +4748,8 @@
|
||||
this.pinTab(tab);
|
||||
// Then ensure all the tab open/pinning information is sent.
|
||||
this._fireTabOpen(tab, {});
|
||||
@@ -501,7 +501,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
let { groupId } = tabData;
|
||||
const tabGroup = tabGroupWorkingData.get(groupId);
|
||||
// if a tab refers to a tab group we don't know, skip any group
|
||||
@@ -4588,7 +4739,10 @@
|
||||
@@ -4618,7 +4769,10 @@
|
||||
tabGroup.stateData.id,
|
||||
tabGroup.stateData.color,
|
||||
tabGroup.stateData.collapsed,
|
||||
@@ -513,7 +513,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
);
|
||||
tabsFragment.appendChild(tabGroup.node);
|
||||
}
|
||||
@@ -4643,9 +4797,21 @@
|
||||
@@ -4673,9 +4827,21 @@
|
||||
// to remove the old selected tab.
|
||||
if (tabToSelect) {
|
||||
let leftoverTab = this.selectedTab;
|
||||
@@ -535,7 +535,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
if (tabs.length > 1 || !tabs[0].selected) {
|
||||
this._updateTabsAfterInsert();
|
||||
@@ -4836,11 +5002,17 @@
|
||||
@@ -4866,11 +5032,17 @@
|
||||
if (ownerTab) {
|
||||
tab.owner = ownerTab;
|
||||
}
|
||||
@@ -554,16 +554,16 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
if (
|
||||
!bulkOrderedOpen &&
|
||||
((openerTab &&
|
||||
@@ -4852,7 +5024,7 @@
|
||||
@@ -4882,7 +5054,7 @@
|
||||
let lastRelatedTab =
|
||||
openerTab && this.#lastRelatedTabMap.get(openerTab);
|
||||
openerTab && this._lastRelatedTabMap.get(openerTab);
|
||||
let previousTab = lastRelatedTab || openerTab || this.selectedTab;
|
||||
- if (!tabGroup) {
|
||||
+ if (!tabGroup && pinned === previousTab.group?.pinned) {
|
||||
tabGroup = previousTab.group;
|
||||
}
|
||||
if (
|
||||
@@ -4868,7 +5040,7 @@
|
||||
@@ -4898,7 +5070,7 @@
|
||||
previousTab.splitview
|
||||
) + 1;
|
||||
} else if (previousTab.visible) {
|
||||
@@ -572,7 +572,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
} else if (previousTab == FirefoxViewHandler.tab) {
|
||||
elementIndex = 0;
|
||||
}
|
||||
@@ -4896,14 +5068,14 @@
|
||||
@@ -4926,14 +5098,14 @@
|
||||
}
|
||||
// Ensure index is within bounds.
|
||||
if (tab.pinned) {
|
||||
@@ -591,7 +591,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
if (pinned && !itemAfter?.pinned) {
|
||||
itemAfter = null;
|
||||
@@ -4920,7 +5092,7 @@
|
||||
@@ -4950,7 +5122,7 @@
|
||||
|
||||
this.tabContainer._invalidateCachedTabs();
|
||||
|
||||
@@ -600,7 +600,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
if (
|
||||
(this.isTab(itemAfter) && itemAfter.group == tabGroup) ||
|
||||
this.isSplitViewWrapper(itemAfter)
|
||||
@@ -4951,7 +5123,11 @@
|
||||
@@ -4981,7 +5153,11 @@
|
||||
const tabContainer = pinned
|
||||
? this.tabContainer.pinnedTabsContainer
|
||||
: this.tabContainer;
|
||||
@@ -612,7 +612,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
}
|
||||
|
||||
if (tab.group?.collapsed) {
|
||||
@@ -4966,6 +5142,7 @@
|
||||
@@ -4996,6 +5172,7 @@
|
||||
if (pinned) {
|
||||
this._updateTabBarForPinnedTabs();
|
||||
}
|
||||
@@ -620,7 +620,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
TabBarVisibility.update();
|
||||
}
|
||||
@@ -5514,6 +5691,7 @@
|
||||
@@ -5544,6 +5721,7 @@
|
||||
telemetrySource,
|
||||
} = {}
|
||||
) {
|
||||
@@ -628,7 +628,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs
|
||||
// can be considered equivalent to closing the window.
|
||||
if (
|
||||
@@ -5603,6 +5781,7 @@
|
||||
@@ -5633,6 +5811,7 @@
|
||||
if (lastToClose) {
|
||||
this.removeTab(lastToClose, aParams);
|
||||
}
|
||||
@@ -636,7 +636,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
@@ -5648,6 +5827,14 @@
|
||||
@@ -5678,6 +5857,14 @@
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -651,7 +651,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
let isVisibleTab = aTab.visible;
|
||||
// We have to sample the tab width now, since _beginRemoveTab might
|
||||
// end up modifying the DOM in such a way that aTab gets a new
|
||||
@@ -5655,6 +5842,9 @@
|
||||
@@ -5685,6 +5872,9 @@
|
||||
// state).
|
||||
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
|
||||
let isLastTab = this.#isLastTabInWindow(aTab);
|
||||
@@ -661,7 +661,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
if (
|
||||
!this._beginRemoveTab(aTab, {
|
||||
closeWindowFastpath: true,
|
||||
@@ -5666,13 +5856,14 @@
|
||||
@@ -5696,13 +5886,14 @@
|
||||
telemetrySource,
|
||||
})
|
||||
) {
|
||||
@@ -677,7 +677,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
let lockTabSizing =
|
||||
!this.tabContainer.verticalMode &&
|
||||
!aTab.pinned &&
|
||||
@@ -5703,7 +5894,13 @@
|
||||
@@ -5733,7 +5924,13 @@
|
||||
// We're not animating, so we can cancel the animation stopwatch.
|
||||
Glean.browserTabclose.timeAnim.cancel(aTab._closeTimeAnimTimerId);
|
||||
aTab._closeTimeAnimTimerId = null;
|
||||
@@ -692,16 +692,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -5746,7 +5943,7 @@
|
||||
*/
|
||||
#isLastTabInWindow(tab) {
|
||||
for (const otherTab of this.tabs) {
|
||||
- if (otherTab != tab && otherTab.isOpen && !otherTab.hidden) {
|
||||
+ if (otherTab != tab && otherTab.isOpen && !otherTab.hidden && !otherTab.hasAttribute("zen-empty-tab")) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -5837,7 +6034,7 @@
|
||||
@@ -5867,7 +6064,7 @@
|
||||
closeWindowWithLastTab != null
|
||||
? closeWindowWithLastTab
|
||||
: !window.toolbar.visible ||
|
||||
@@ -710,7 +701,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
if (closeWindow) {
|
||||
// We've already called beforeunload on all the relevant tabs if we get here,
|
||||
@@ -5861,6 +6058,7 @@
|
||||
@@ -5891,6 +6088,7 @@
|
||||
|
||||
newTab = true;
|
||||
}
|
||||
@@ -718,7 +709,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
aTab._endRemoveArgs = [closeWindow, newTab];
|
||||
|
||||
// swapBrowsersAndCloseOther will take care of closing the window without animation.
|
||||
@@ -5901,13 +6099,7 @@
|
||||
@@ -5931,13 +6129,7 @@
|
||||
aTab._mouseleave();
|
||||
|
||||
if (newTab) {
|
||||
@@ -733,15 +724,15 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
} else {
|
||||
TabBarVisibility.update();
|
||||
}
|
||||
@@ -6040,6 +6232,7 @@
|
||||
@@ -6070,6 +6262,7 @@
|
||||
this.tabs[i]._tPos = i;
|
||||
}
|
||||
|
||||
+ gZenWorkspaces.updateTabsContainers();
|
||||
if (!this.#windowIsClosing) {
|
||||
if (!this._windowIsClosing) {
|
||||
// update tab close buttons state
|
||||
this.tabContainer._updateCloseButtons();
|
||||
@@ -6225,6 +6418,7 @@
|
||||
@@ -6255,6 +6448,7 @@
|
||||
memory_after: await getTotalMemoryUsage(),
|
||||
time_to_unload_in_ms: timeElapsed,
|
||||
});
|
||||
@@ -749,7 +740,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -6270,6 +6464,7 @@
|
||||
@@ -6300,6 +6494,7 @@
|
||||
}
|
||||
|
||||
let excludeTabs = new Set(aExcludeTabs);
|
||||
@@ -757,7 +748,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
// If this tab has a successor, it should be selectable, since
|
||||
// hiding or closing a tab removes that tab as a successor.
|
||||
@@ -6282,15 +6477,22 @@
|
||||
@@ -6312,15 +6507,22 @@
|
||||
!excludeTabs.has(aTab.owner) &&
|
||||
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
|
||||
) {
|
||||
@@ -782,7 +773,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
let tab = this.tabContainer.findNextTab(aTab, {
|
||||
direction: 1,
|
||||
filter: _tab => remainingTabs.includes(_tab),
|
||||
@@ -6304,7 +6506,7 @@
|
||||
@@ -6334,7 +6536,7 @@
|
||||
}
|
||||
|
||||
if (tab) {
|
||||
@@ -791,7 +782,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
}
|
||||
|
||||
// If no qualifying visible tab was found, see if there is a tab in
|
||||
@@ -6325,7 +6527,7 @@
|
||||
@@ -6355,7 +6557,7 @@
|
||||
});
|
||||
}
|
||||
|
||||
@@ -800,7 +791,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
}
|
||||
|
||||
_blurTab(aTab) {
|
||||
@@ -6336,7 +6538,7 @@
|
||||
@@ -6366,7 +6568,7 @@
|
||||
* @returns {boolean}
|
||||
* False if swapping isn't permitted, true otherwise.
|
||||
*/
|
||||
@@ -809,7 +800,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
// Do not allow transfering a private tab to a non-private window
|
||||
// and vice versa.
|
||||
if (
|
||||
@@ -6390,6 +6592,7 @@
|
||||
@@ -6420,6 +6622,7 @@
|
||||
// fire the beforeunload event in the process. Close the other
|
||||
// window if this was its last tab.
|
||||
if (
|
||||
@@ -817,7 +808,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
!remoteBrowser._beginRemoveTab(aOtherTab, {
|
||||
adoptedByTab: aOurTab,
|
||||
closeWindowWithLastTab: true,
|
||||
@@ -6401,7 +6604,7 @@
|
||||
@@ -6431,7 +6634,7 @@
|
||||
// If this is the last tab of the window, hide the window
|
||||
// immediately without animation before the docshell swap, to avoid
|
||||
// about:blank being painted.
|
||||
@@ -826,7 +817,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
if (closeWindow) {
|
||||
let win = aOtherTab.documentGlobal;
|
||||
win.windowUtils.suppressAnimation(true);
|
||||
@@ -6535,11 +6738,13 @@
|
||||
@@ -6565,11 +6768,13 @@
|
||||
}
|
||||
|
||||
// Finish tearing down the tab that's going away.
|
||||
@@ -840,7 +831,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
this.setTabTitle(aOurTab);
|
||||
|
||||
@@ -6759,10 +6964,10 @@
|
||||
@@ -6771,10 +6976,10 @@
|
||||
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
||||
}
|
||||
|
||||
@@ -853,7 +844,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
aTab.selected ||
|
||||
aTab.closing ||
|
||||
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
||||
@@ -6822,7 +7027,8 @@
|
||||
@@ -6834,7 +7039,8 @@
|
||||
* @param {object} [aOptions={}]
|
||||
* Key-value pairs that will be serialized into the features string.
|
||||
*/
|
||||
@@ -863,7 +854,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
if (this.tabs.length == 1) {
|
||||
return null;
|
||||
}
|
||||
@@ -6839,7 +7045,7 @@
|
||||
@@ -6851,7 +7057,7 @@
|
||||
// tell a new window to take the "dropped" tab
|
||||
let args = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray);
|
||||
args.appendElement(aTab.splitview ?? aTab);
|
||||
@@ -872,7 +863,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
private: PrivateBrowsingUtils.isWindowPrivate(window),
|
||||
features: Object.entries(aOptions)
|
||||
.map(([key, value]) => `${key}=${value}`)
|
||||
@@ -6847,6 +7053,8 @@
|
||||
@@ -6859,6 +7065,8 @@
|
||||
openerWindow: window,
|
||||
args,
|
||||
});
|
||||
@@ -881,7 +872,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -6959,7 +7167,7 @@
|
||||
@@ -6971,7 +7179,7 @@
|
||||
* `true` if element is a `<tab-group>`
|
||||
*/
|
||||
isTabGroup(element) {
|
||||
@@ -890,7 +881,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -7044,8 +7252,8 @@
|
||||
@@ -7056,8 +7264,8 @@
|
||||
}
|
||||
|
||||
// Don't allow mixing pinned and unpinned tabs.
|
||||
@@ -901,7 +892,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
} else {
|
||||
tabIndex = Math.max(tabIndex, this.pinnedTabCount);
|
||||
}
|
||||
@@ -7091,8 +7299,8 @@
|
||||
@@ -7103,8 +7311,8 @@
|
||||
this.#handleTabMove(
|
||||
element,
|
||||
() => {
|
||||
@@ -912,7 +903,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
neighbor = neighbor.group;
|
||||
}
|
||||
if (neighbor?.splitview) {
|
||||
@@ -7103,6 +7311,12 @@
|
||||
@@ -7115,6 +7323,12 @@
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -925,7 +916,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
if (movingForwards && neighbor) {
|
||||
neighbor.after(element);
|
||||
@@ -7161,23 +7375,31 @@
|
||||
@@ -7173,23 +7387,31 @@
|
||||
#moveTabNextTo(element, targetElement, moveBefore = false, metricsContext) {
|
||||
if (this.isTabGroupLabel(targetElement)) {
|
||||
targetElement = targetElement.group;
|
||||
@@ -963,7 +954,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
} else if (!element.pinned && targetElement && targetElement.pinned) {
|
||||
// If the caller asks to move an unpinned element next to a pinned
|
||||
// tab, move the unpinned element to be the first unpinned element
|
||||
@@ -7190,12 +7412,35 @@
|
||||
@@ -7202,12 +7424,35 @@
|
||||
// move the tab group right before the first unpinned tab.
|
||||
// 4. Moving a tab group and the first unpinned tab is grouped:
|
||||
// move the tab group right before the first unpinned tab's tab group.
|
||||
@@ -1000,7 +991,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
// We want to include the splitview wrapper if it's the targetElement, but
|
||||
// not in the case where we want to reverse tabs within the same splitview.
|
||||
@@ -7204,6 +7449,7 @@
|
||||
@@ -7216,6 +7461,7 @@
|
||||
}
|
||||
|
||||
let getContainer = () =>
|
||||
@@ -1008,7 +999,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
element.pinned
|
||||
? this.tabContainer.pinnedTabsContainer
|
||||
: this.tabContainer;
|
||||
@@ -7212,11 +7458,15 @@
|
||||
@@ -7224,11 +7470,15 @@
|
||||
element,
|
||||
() => {
|
||||
if (moveBefore) {
|
||||
@@ -1025,7 +1016,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
}
|
||||
},
|
||||
metricsContext
|
||||
@@ -7290,11 +7540,15 @@
|
||||
@@ -7302,11 +7552,15 @@
|
||||
* @param {TabMetricsContext} [metricsContext]
|
||||
*/
|
||||
moveTabToExistingGroup(aTab, aGroup, metricsContext) {
|
||||
@@ -1044,7 +1035,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
}
|
||||
if (aTab.group && aTab.group.id === aGroup.id) {
|
||||
return;
|
||||
@@ -7366,6 +7620,7 @@
|
||||
@@ -7378,6 +7632,7 @@
|
||||
|
||||
let state = {
|
||||
tabIndex: tab._tPos,
|
||||
@@ -1052,7 +1043,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
};
|
||||
if (tab.visible) {
|
||||
state.elementIndex = tab.elementIndex;
|
||||
@@ -7397,7 +7652,7 @@
|
||||
@@ -7409,7 +7664,7 @@
|
||||
let changedSplitView =
|
||||
previousTabState.splitViewId != currentTabState.splitViewId;
|
||||
|
||||
@@ -1061,7 +1052,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
tab.dispatchEvent(
|
||||
new CustomEvent("TabMove", {
|
||||
bubbles: true,
|
||||
@@ -7444,6 +7699,10 @@
|
||||
@@ -7456,6 +7711,10 @@
|
||||
|
||||
moveActionCallback();
|
||||
|
||||
@@ -1072,7 +1063,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
// Clear tabs cache after moving nodes because the order of tabs may have
|
||||
// changed.
|
||||
this.tabContainer._invalidateCachedTabs();
|
||||
@@ -7494,7 +7753,22 @@
|
||||
@@ -7506,7 +7765,22 @@
|
||||
* @returns {object}
|
||||
* The new tab in the current window, null if the tab couldn't be adopted.
|
||||
*/
|
||||
@@ -1096,7 +1087,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
// Swap the dropped tab with a new one we create and then close
|
||||
// it in the other window (making it seem to have moved between
|
||||
// windows). We also ensure that the tab we create to swap into has
|
||||
@@ -7537,6 +7811,8 @@
|
||||
@@ -7549,6 +7823,8 @@
|
||||
}
|
||||
params.skipLoad = true;
|
||||
let newTab = this.addWebTab("about:blank", params);
|
||||
@@ -1105,7 +1096,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
|
||||
aTab.container.tabDragAndDrop.finishAnimateTabMove();
|
||||
|
||||
@@ -8247,7 +8523,7 @@
|
||||
@@ -8259,7 +8535,7 @@
|
||||
// preventDefault(). It will still raise the window if appropriate.
|
||||
return;
|
||||
}
|
||||
@@ -1114,7 +1105,7 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
window.focus();
|
||||
aEvent.preventDefault();
|
||||
}
|
||||
@@ -8264,7 +8540,6 @@
|
||||
@@ -8276,7 +8552,6 @@
|
||||
|
||||
on_TabGroupCollapse(aEvent) {
|
||||
aEvent.target.tabs.forEach(tab => {
|
||||
@@ -1122,38 +1113,38 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
});
|
||||
}
|
||||
|
||||
@@ -8618,7 +8893,9 @@
|
||||
@@ -8630,7 +8905,9 @@
|
||||
|
||||
let filter = this.#tabFilters.get(tab);
|
||||
let filter = this._tabFilters.get(tab);
|
||||
if (filter) {
|
||||
+ try {
|
||||
browser.webProgress.removeProgressListener(filter);
|
||||
+ } catch {}
|
||||
|
||||
let listener = this.#tabListeners.get(tab);
|
||||
let listener = this._tabListeners.get(tab);
|
||||
if (listener) {
|
||||
@@ -9423,6 +9700,7 @@
|
||||
@@ -9435,6 +9712,7 @@
|
||||
aWebProgress.isTopLevel
|
||||
) {
|
||||
this._tab.setAttribute("busy", "true");
|
||||
+ if (!this._tab.selected) this._tab.setAttribute("unread", "true");
|
||||
gBrowser._tabAttrModified(this._tab, ["busy"]);
|
||||
this._tab._notselectedsinceload = !this._tab.selected;
|
||||
this.mTab.setAttribute("busy", "true");
|
||||
+ if (!this.mTab.selected) this.mTab.setAttribute("unread", "true");
|
||||
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
||||
this.mTab._notselectedsinceload = !this.mTab.selected;
|
||||
}
|
||||
@@ -9503,6 +9781,7 @@
|
||||
@@ -9515,6 +9793,7 @@
|
||||
// known defaults. Note we use the original URL since about:newtab
|
||||
// redirects to a prerendered page.
|
||||
const shouldRemoveFavicon =
|
||||
+ !this._tab.zenStaticIcon &&
|
||||
!this._browser.mIconURL &&
|
||||
+ !this.mTab.zenStaticIcon &&
|
||||
!this.mBrowser.mIconURL &&
|
||||
!ignoreBlank &&
|
||||
!(originalLocation.spec in FAVICON_DEFAULTS);
|
||||
@@ -9677,13 +9956,6 @@
|
||||
this._browser.originalURI = aRequest.originalURI;
|
||||
@@ -9689,13 +9968,6 @@
|
||||
this.mBrowser.originalURI = aRequest.originalURI;
|
||||
}
|
||||
|
||||
- if (!gBrowser._allowTransparentBrowser) {
|
||||
- this._browser.toggleAttribute(
|
||||
- this.mBrowser.toggleAttribute(
|
||||
- "transparent",
|
||||
- AIWindow.isAIWindowActive(window) &&
|
||||
- AIWindow.isAIWindowContentPage(aLocation)
|
||||
@@ -1161,8 +1152,8 @@ index c42b1a1a8df6b38886c17f71ea88e5aaa7eebc80..c741404ed973ee3ac246fe246c0f645e
|
||||
- }
|
||||
}
|
||||
|
||||
let userContextId = this._browser.getAttribute("usercontextid") || 0;
|
||||
@@ -10532,7 +10804,8 @@ var TabContextMenu = {
|
||||
let userContextId = this.mBrowser.getAttribute("usercontextid") || 0;
|
||||
@@ -10587,7 +10859,8 @@ var TabContextMenu = {
|
||||
);
|
||||
contextUnpinSelectedTabs.hidden =
|
||||
!this.contextTab.pinned || !this.multiselected;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
|
||||
index d2e2415e6b7c8833617dd1d4d01b16b110afbfa5..4a1e6e0940789b55144afd0566ecb91d88f7d590 100644
|
||||
index 8de151f473ac6b95bc606251f78a4bede093ee0c..dbd302259c54b0196a370b9ff12ba0dcf1545272 100644
|
||||
--- a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
|
||||
@@ -914,6 +914,7 @@ export class Query {
|
||||
@@ -913,6 +913,7 @@ export class Query {
|
||||
if (
|
||||
result.heuristic &&
|
||||
this.context.searchMode &&
|
||||
@@ -10,21 +10,21 @@ index d2e2415e6b7c8833617dd1d4d01b16b110afbfa5..4a1e6e0940789b55144afd0566ecb91d
|
||||
(!this.context.trimmedSearchString ||
|
||||
(!this.context.searchMode.engineName && !result.autofill))
|
||||
) {
|
||||
@@ -1044,6 +1045,7 @@ function updateSourcesIfEmpty(context) {
|
||||
lazy.UrlbarShared.TOKEN_TYPE.RESTRICT_TITLE,
|
||||
lazy.UrlbarShared.TOKEN_TYPE.RESTRICT_URL,
|
||||
lazy.UrlbarShared.TOKEN_TYPE.RESTRICT_ACTION,
|
||||
+ lazy.UrlbarShared.TOKEN_TYPE.RESTRICT_WORKSPACE,
|
||||
@@ -1043,6 +1044,7 @@ function updateSourcesIfEmpty(context) {
|
||||
lazy.UrlbarTokenizer.TYPE.RESTRICT_TITLE,
|
||||
lazy.UrlbarTokenizer.TYPE.RESTRICT_URL,
|
||||
lazy.UrlbarTokenizer.TYPE.RESTRICT_ACTION,
|
||||
+ lazy.UrlbarTokenizer.TYPE.RESTRICT_WORKSPACE,
|
||||
].includes(t.type)
|
||||
);
|
||||
|
||||
@@ -1103,6 +1105,14 @@ function updateSourcesIfEmpty(context) {
|
||||
@@ -1100,6 +1102,14 @@ function updateSourcesIfEmpty(context) {
|
||||
acceptedSources.push(source);
|
||||
}
|
||||
break;
|
||||
+ case lazy.UrlbarUtils.RESULT_SOURCE.WORKSPACES:
|
||||
+ if (
|
||||
+ restrictTokenType === lazy.UrlbarShared.TOKEN_TYPE.RESTRICT_WORKSPACE ||
|
||||
+ restrictTokenType === lazy.UrlbarTokenizer.TYPE.RESTRICT_WORKSPACE ||
|
||||
+ !restrictTokenType
|
||||
+ ) {
|
||||
+ acceptedSources.push(source);
|
||||
|
||||
15
src/browser/components/urlbar/UrlbarResult-sys-mjs.patch
Normal file
15
src/browser/components/urlbar/UrlbarResult-sys-mjs.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
diff --git a/browser/components/urlbar/UrlbarResult.sys.mjs b/browser/components/urlbar/UrlbarResult.sys.mjs
|
||||
index 21f7938f76375e7230f9509e4932cafa4d0e57f2..ab96b160b6c65da3bf267d9fe2f1f35c7507466e 100644
|
||||
--- a/browser/components/urlbar/UrlbarResult.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarResult.sys.mjs
|
||||
@@ -181,6 +181,10 @@ export class UrlbarResult {
|
||||
return this.#heuristic;
|
||||
}
|
||||
|
||||
+ set heuristic(value) {
|
||||
+ this.#heuristic = value;
|
||||
+ }
|
||||
+
|
||||
get hideRowLabel() {
|
||||
return this.#hideRowLabel;
|
||||
}
|
||||
28
src/browser/components/urlbar/UrlbarTokenizer-sys-mjs.patch
Normal file
28
src/browser/components/urlbar/UrlbarTokenizer-sys-mjs.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
diff --git a/browser/components/urlbar/UrlbarTokenizer.sys.mjs b/browser/components/urlbar/UrlbarTokenizer.sys.mjs
|
||||
index d4af0ee5138a69139b94d898fb07e2345172f025..f750aae3f9f0a849ca009784510575b2b7119e6d 100644
|
||||
--- a/browser/components/urlbar/UrlbarTokenizer.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarTokenizer.sys.mjs
|
||||
@@ -66,6 +66,7 @@ export var UrlbarTokenizer = {
|
||||
// `looksLikeOrigin()` returned `LOOKS_LIKE_ORIGIN.OTHER` for this token. It
|
||||
// may or may not be an origin.
|
||||
POSSIBLE_ORIGIN_BUT_SEARCH_ALLOWED: 12,
|
||||
+ RESTRICT_WORKSPACE: 13,
|
||||
}),
|
||||
|
||||
// The special characters below can be typed into the urlbar to restrict
|
||||
@@ -83,6 +84,7 @@ export var UrlbarTokenizer = {
|
||||
TITLE: "#",
|
||||
URL: "$",
|
||||
ACTION: ">",
|
||||
+ WORKSPACE: "`",
|
||||
}),
|
||||
|
||||
// The keys of characters in RESTRICT that will enter search mode.
|
||||
@@ -97,6 +99,7 @@ export var UrlbarTokenizer = {
|
||||
if (lazy.UrlbarPrefs.get("scotchBonnet.enableOverride")) {
|
||||
keys.push(this.RESTRICT.ACTION);
|
||||
}
|
||||
+ keys.push(this.RESTRICT.WORKSPACE);
|
||||
return new Set(keys);
|
||||
},
|
||||
|
||||
@@ -26,7 +26,7 @@ index aa7c67f2bfaa3f15d592a14b527a8721dfc9bc6f..d2fe012796ea3a5be05090a732011b3c
|
||||
},
|
||||
+ {
|
||||
+ source: this.RESULT_SOURCE.WORKSPACES,
|
||||
+ restrict: lazy.UrlbarShared.RESTRICT_TOKENS.WORKSPACE,
|
||||
+ restrict: lazy.UrlbarTokenizer.RESTRICT.WORKSPACE,
|
||||
+ icon: "chrome://browser/skin/zen-icons/selectable/layers.svg",
|
||||
+ pref: "shortcuts.workspaces",
|
||||
+ telemetryLabel: "workspaces",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/urlbar/UrlbarValueFormatter.sys.mjs b/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
|
||||
index 7ccffa60be42ba5e554b0e91bc831c56c24dfb42..ca5d6f983490f6cfc392c92f3570a5fb1bb3c43d 100644
|
||||
index 8def83509f097ba034b9d94ae00d2ee474ec2d30..ebdb84b9af928b132b848bd4c5bb506d813e5e06 100644
|
||||
--- a/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
|
||||
@@ -77,7 +77,7 @@ export class UrlbarValueFormatter {
|
||||
@@ -11,7 +11,7 @@ index 7ccffa60be42ba5e554b0e91bc831c56c24dfb42..ca5d6f983490f6cfc392c92f3570a5fb
|
||||
});
|
||||
}
|
||||
|
||||
@@ -126,6 +126,18 @@ export class UrlbarValueFormatter {
|
||||
@@ -105,6 +105,18 @@ export class UrlbarValueFormatter {
|
||||
}
|
||||
|
||||
#ensureFormattedHostVisible(urlMetaData) {
|
||||
@@ -30,7 +30,7 @@ index 7ccffa60be42ba5e554b0e91bc831c56c24dfb42..ca5d6f983490f6cfc392c92f3570a5fb
|
||||
// Make sure the host is always visible. Since it is aligned on
|
||||
// the first strong directional character, we set scrollLeft
|
||||
// appropriately to ensure the domain stays visible in case of an
|
||||
@@ -403,7 +415,7 @@ export class UrlbarValueFormatter {
|
||||
@@ -381,7 +393,7 @@ export class UrlbarValueFormatter {
|
||||
* @returns {boolean}
|
||||
* True if formatting was applied and false if not.
|
||||
*/
|
||||
@@ -39,15 +39,11 @@ index 7ccffa60be42ba5e554b0e91bc831c56c24dfb42..ca5d6f983490f6cfc392c92f3570a5fb
|
||||
let urlMetaData = this.#getUrlMetaData();
|
||||
if (!urlMetaData) {
|
||||
return false;
|
||||
@@ -688,9 +700,10 @@ export class UrlbarValueFormatter {
|
||||
) {
|
||||
// The host range is no longer valid.
|
||||
this.#removeURLFormat();
|
||||
- this.#formatURL();
|
||||
+ this._formatURL();
|
||||
} else {
|
||||
this.#ensureFormattedHostVisible();
|
||||
+ this._formatURL();
|
||||
}
|
||||
@@ -650,6 +662,7 @@ export class UrlbarValueFormatter {
|
||||
this.#window.requestAnimationFrame(() => {
|
||||
if (instance == this.#resizeInstance) {
|
||||
this.#ensureFormattedHostVisible();
|
||||
+ this._formatURL();
|
||||
}
|
||||
});
|
||||
}, 100);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/urlbar/content/UrlbarView.mjs b/browser/components/urlbar/content/UrlbarView.mjs
|
||||
index 8afb2bf4a757b3ef7902f5a6e6eed6b70ca2845e..440dea1e66540ca1998cb7464b6695ac823fedcb 100644
|
||||
--- a/browser/components/urlbar/content/UrlbarView.mjs
|
||||
+++ b/browser/components/urlbar/content/UrlbarView.mjs
|
||||
@@ -674,7 +674,7 @@ export class UrlbarView {
|
||||
diff --git a/browser/components/urlbar/UrlbarView.sys.mjs b/browser/components/urlbar/UrlbarView.sys.mjs
|
||||
index b665adb1a1ce8bbae8df4cbea6c3248c3e4fb431..1de7f9461b8ccbd4680b917e6dd5ba3c02f69a94 100644
|
||||
--- a/browser/components/urlbar/UrlbarView.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarView.sys.mjs
|
||||
@@ -640,7 +640,7 @@ export class UrlbarView {
|
||||
!this.input.value ||
|
||||
this.input.getAttribute("pageproxystate") == "valid"
|
||||
) {
|
||||
@@ -11,7 +11,7 @@ index 8afb2bf4a757b3ef7902f5a6e6eed6b70ca2845e..440dea1e66540ca1998cb7464b6695ac
|
||||
// Try to reuse the cached top-sites context. If it's not cached, then
|
||||
// there will be a gap of time between when the input is focused and
|
||||
// when the view opens that can be perceived as flicker.
|
||||
@@ -812,10 +812,6 @@ export class UrlbarView {
|
||||
@@ -777,10 +777,6 @@ export class UrlbarView {
|
||||
}
|
||||
|
||||
// If search mode isn't active, close the view.
|
||||
@@ -22,7 +22,7 @@ index 8afb2bf4a757b3ef7902f5a6e6eed6b70ca2845e..440dea1e66540ca1998cb7464b6695ac
|
||||
|
||||
// Search mode is active. If the one-offs should be shown, make sure they
|
||||
// are enabled and show the view.
|
||||
@@ -3031,6 +3027,8 @@ export class UrlbarView {
|
||||
@@ -2988,6 +2984,8 @@ export class UrlbarView {
|
||||
if (row?.hasAttribute("row-selectable")) {
|
||||
row?.toggleAttribute("selected", true);
|
||||
}
|
||||
@@ -31,7 +31,7 @@ index 8afb2bf4a757b3ef7902f5a6e6eed6b70ca2845e..440dea1e66540ca1998cb7464b6695ac
|
||||
if (element != row) {
|
||||
row?.toggleAttribute("descendant-selected", true);
|
||||
}
|
||||
@@ -3544,7 +3542,7 @@ export class UrlbarView {
|
||||
@@ -3477,7 +3475,7 @@ export class UrlbarView {
|
||||
}
|
||||
|
||||
#enableOrDisableRowWrap() {
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/urlbar/content/UrlbarInput.mjs b/browser/components/urlbar/content/UrlbarInput.mjs
|
||||
index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2633c1284 100644
|
||||
index 0fba59d62af9d3cd05bfee2cf84cd8b7cf9bfd6e..fdf4f8a89fc35a6cf214fb0213f6cd03fb88add9 100644
|
||||
--- a/browser/components/urlbar/content/UrlbarInput.mjs
|
||||
+++ b/browser/components/urlbar/content/UrlbarInput.mjs
|
||||
@@ -98,6 +98,13 @@ const lazy = XPCOMUtils.declareLazy({
|
||||
@@ -61,10 +61,10 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1630,7 +1659,11 @@ ${
|
||||
openParams.avoidBrowserFocus = keepViewOpen;
|
||||
@@ -1627,7 +1656,11 @@ ${
|
||||
}
|
||||
|
||||
if (!this.#providesSearchMode(result) && !keepViewOpen) {
|
||||
if (!this.#providesSearchMode(result)) {
|
||||
- this.view.close({ elementPicked: true });
|
||||
+ if (this._zenHandleUrlbarClose) {
|
||||
+ this._zenHandleUrlbarClose(true, true);
|
||||
@@ -74,7 +74,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
}
|
||||
|
||||
if (isCanonized) {
|
||||
@@ -2940,6 +2973,42 @@ ${
|
||||
@@ -2936,6 +2969,42 @@ ${
|
||||
await this.#updateLayoutBreakoutDimensions();
|
||||
}
|
||||
|
||||
@@ -117,10 +117,15 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
startLayoutExtend() {
|
||||
if (!this.#allowBreakout || this.hasAttribute("breakout-extend")) {
|
||||
// Do not expand if the Urlbar does not support being expanded or it is
|
||||
@@ -2957,6 +3026,13 @@ ${
|
||||
this.toggleAttribute("breakout-extend", true);
|
||||
@@ -2950,10 +3019,18 @@ ${
|
||||
return;
|
||||
}
|
||||
|
||||
+ this.setAttribute("popover", "manual");
|
||||
this.#updateTextboxPosition();
|
||||
|
||||
this.toggleAttribute("breakout-extend", true);
|
||||
|
||||
+ this.window.gZenUIManager.onUrlbarOpen();
|
||||
+ if (this.zenUrlbarBehavior == 'float' || (this.zenUrlbarBehavior == 'floating-on-type' && !this.focusedViaMousedown)) {
|
||||
+ this.setAttribute("zen-floating-urlbar", "true");
|
||||
@@ -131,7 +136,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
// Enable the animation only after the first extend call to ensure it
|
||||
// doesn't run when opening a new window.
|
||||
if (!this.hasAttribute("breakout-extend-animate")) {
|
||||
@@ -2984,6 +3060,29 @@ ${
|
||||
@@ -2981,7 +3058,31 @@ ${
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -159,9 +164,11 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
+ this.removeAttribute("zen-floating-urlbar");
|
||||
+
|
||||
this.toggleAttribute("breakout-extend", false);
|
||||
+ this.removeAttribute("popover");
|
||||
this.#updateTextboxPosition();
|
||||
}
|
||||
@@ -3031,7 +3130,7 @@ ${
|
||||
|
||||
@@ -3028,7 +3129,7 @@ ${
|
||||
forceUnifiedSearchButtonAvailable = false
|
||||
) {
|
||||
let prevState = this.getAttribute("pageproxystate");
|
||||
@@ -170,7 +177,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
this.setAttribute("pageproxystate", state);
|
||||
this._inputContainer.setAttribute("pageproxystate", state);
|
||||
this._identityBox?.setAttribute("pageproxystate", state);
|
||||
@@ -3314,10 +3413,12 @@ ${
|
||||
@@ -3309,10 +3410,12 @@ ${
|
||||
}
|
||||
|
||||
this.style.top = px(
|
||||
@@ -183,7 +190,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
);
|
||||
}
|
||||
|
||||
@@ -3376,9 +3477,10 @@ ${
|
||||
@@ -3371,9 +3474,10 @@ ${
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -195,7 +202,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
);
|
||||
this.style.setProperty(
|
||||
"--urlbar-height",
|
||||
@@ -3883,6 +3985,7 @@ ${
|
||||
@@ -3878,6 +3982,7 @@ ${
|
||||
}
|
||||
|
||||
_toggleActionOverride(event) {
|
||||
@@ -203,7 +210,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
if (
|
||||
event.keyCode == KeyEvent.DOM_VK_SHIFT ||
|
||||
event.keyCode == KeyEvent.DOM_VK_ALT ||
|
||||
@@ -3995,8 +4098,8 @@ ${
|
||||
@@ -3990,8 +4095,8 @@ ${
|
||||
if (!this.#isAddressbar) {
|
||||
return val;
|
||||
}
|
||||
@@ -214,15 +221,15 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
: val;
|
||||
// Only trim value if the directionality doesn't change to RTL and we're not
|
||||
// showing a strikeout https protocol.
|
||||
@@ -4298,6 +4401,7 @@ ${
|
||||
browser = this.window.gBrowser.selectedBrowser,
|
||||
keepViewOpen = false
|
||||
@@ -4290,6 +4395,7 @@ ${
|
||||
resultDetails = null,
|
||||
browser = this.window.gBrowser.selectedBrowser
|
||||
) {
|
||||
+ openUILinkWhere = this.window.gZenUIManager.getOpenUILinkWhere(url, browser, openUILinkWhere);
|
||||
if (this.#isAddressbar) {
|
||||
this.#prepareAddressbarLoad(
|
||||
url,
|
||||
@@ -4411,6 +4515,10 @@ ${
|
||||
@@ -4401,6 +4507,10 @@ ${
|
||||
}
|
||||
reuseEmpty = true;
|
||||
}
|
||||
@@ -233,7 +240,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
if (
|
||||
where == "tab" &&
|
||||
reuseEmpty &&
|
||||
@@ -4418,6 +4526,9 @@ ${
|
||||
@@ -4408,6 +4518,9 @@ ${
|
||||
) {
|
||||
where = "current";
|
||||
}
|
||||
@@ -243,7 +250,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
return where;
|
||||
}
|
||||
|
||||
@@ -4672,6 +4783,7 @@ ${
|
||||
@@ -4662,6 +4775,7 @@ ${
|
||||
this.setResultForCurrentValue(null);
|
||||
this.handleCommand();
|
||||
this.controller.clearLastQueryContextCache();
|
||||
@@ -251,7 +258,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
|
||||
this._suppressStartQuery = false;
|
||||
});
|
||||
@@ -4679,7 +4791,6 @@ ${
|
||||
@@ -4669,7 +4783,6 @@ ${
|
||||
contextMenu.addEventListener("popupshowing", () => {
|
||||
// Close the results pane when the input field contextual menu is open,
|
||||
// because paste and go doesn't want a result selection.
|
||||
@@ -259,7 +266,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
|
||||
let controller =
|
||||
this.document.commandDispatcher.getControllerForCommand("cmd_paste");
|
||||
@@ -4842,7 +4953,11 @@ ${
|
||||
@@ -4825,7 +4938,11 @@ ${
|
||||
if (!engineName && !source && !this.hasAttribute("searchmode")) {
|
||||
return;
|
||||
}
|
||||
@@ -272,7 +279,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
if (this._searchModeIndicatorTitle) {
|
||||
this._searchModeIndicatorTitle.textContent = "";
|
||||
this._searchModeIndicatorTitle.removeAttribute("data-l10n-id");
|
||||
@@ -5159,6 +5274,7 @@ ${
|
||||
@@ -5141,6 +5258,7 @@ ${
|
||||
|
||||
this.document.l10n.setAttributes(
|
||||
this.inputField,
|
||||
@@ -280,7 +287,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
l10nId,
|
||||
l10nId == "urlbar-placeholder-with-name"
|
||||
? { name: engineName }
|
||||
@@ -5282,6 +5398,11 @@ ${
|
||||
@@ -5264,6 +5382,11 @@ ${
|
||||
}
|
||||
|
||||
_on_click(event) {
|
||||
@@ -292,7 +299,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
switch (event.target) {
|
||||
case this.inputField:
|
||||
case this._inputContainer:
|
||||
@@ -5374,7 +5495,7 @@ ${
|
||||
@@ -5356,7 +5479,7 @@ ${
|
||||
}
|
||||
}
|
||||
|
||||
@@ -301,7 +308,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
this.view.autoOpen({ event });
|
||||
} else {
|
||||
if (this._untrimOnFocusAfterKeydown) {
|
||||
@@ -5414,9 +5535,16 @@ ${
|
||||
@@ -5396,9 +5519,16 @@ ${
|
||||
}
|
||||
|
||||
_on_mousedown(event) {
|
||||
@@ -319,7 +326,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
if (
|
||||
event.composedTarget != this.inputField &&
|
||||
event.composedTarget != this._inputContainer
|
||||
@@ -5426,6 +5554,10 @@ ${
|
||||
@@ -5408,6 +5538,10 @@ ${
|
||||
|
||||
this.focusedViaMousedown = !this.focused;
|
||||
this.#preventClickSelectsAll = this.focused;
|
||||
@@ -330,7 +337,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
|
||||
// Keep the focus status, since the attribute may be changed
|
||||
// upon calling this.focus().
|
||||
@@ -5461,7 +5593,7 @@ ${
|
||||
@@ -5443,7 +5577,7 @@ ${
|
||||
}
|
||||
// Don't close the view when clicking on a tab; we may want to keep the
|
||||
// view open on tab switch, and the TabSelect event arrived earlier.
|
||||
@@ -339,7 +346,7 @@ index 0b1b4b2f0f8d6b0fb126aa1224409ab6f1ffb8d8..942c6e1e3b6cd9de65df54a1d83884f2
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -5750,7 +5882,7 @@ ${
|
||||
@@ -5732,7 +5866,7 @@ ${
|
||||
// When we are in actions search mode we can show more results so
|
||||
// increase the limit.
|
||||
let maxResults =
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
diff --git a/browser/components/urlbar/content/UrlbarResult.mjs b/browser/components/urlbar/content/UrlbarResult.mjs
|
||||
index 30662cbb0551a5efe12926eb1524719ece24ee48..1ed598c8b8c0836759b5af10e6cc9f5e334744ef 100644
|
||||
--- a/browser/components/urlbar/content/UrlbarResult.mjs
|
||||
+++ b/browser/components/urlbar/content/UrlbarResult.mjs
|
||||
@@ -184,6 +184,10 @@ export class UrlbarResult {
|
||||
return this.#heuristic;
|
||||
}
|
||||
|
||||
+ set heuristic(value) {
|
||||
+ this.#heuristic = value;
|
||||
+ }
|
||||
+
|
||||
get hideRowLabel() {
|
||||
return this.#hideRowLabel;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
diff --git a/browser/components/urlbar/content/UrlbarShared.mjs b/browser/components/urlbar/content/UrlbarShared.mjs
|
||||
index 5522d8a8c8d9549453c1700ff6fec40be52747ce..7b8ad33cc337907249749074057254bf7e316994 100644
|
||||
--- a/browser/components/urlbar/content/UrlbarShared.mjs
|
||||
+++ b/browser/components/urlbar/content/UrlbarShared.mjs
|
||||
@@ -32,6 +32,7 @@ export const UrlbarShared = {
|
||||
// `looksLikeOrigin()` returned `LOOKS_LIKE_ORIGIN.OTHER` for this token.
|
||||
// It may or may not be an origin.
|
||||
POSSIBLE_ORIGIN_BUT_SEARCH_ALLOWED: 12,
|
||||
+ RESTRICT_WORKSPACE: 13,
|
||||
}),
|
||||
|
||||
/**
|
||||
@@ -52,6 +53,7 @@ export const UrlbarShared = {
|
||||
TITLE: "#",
|
||||
URL: "$",
|
||||
ACTION: ">",
|
||||
+ WORKSPACE: "`",
|
||||
}),
|
||||
|
||||
/**
|
||||
@@ -68,6 +70,7 @@ export const UrlbarShared = {
|
||||
if (lazy.UrlbarPrefs.get("scotchBonnet.enableOverride")) {
|
||||
keys.push(this.RESTRICT_TOKENS.ACTION);
|
||||
}
|
||||
+ keys.push(this.RESTRICT_TOKENS.WORKSPACE);
|
||||
return new Set(keys);
|
||||
},
|
||||
};
|
||||
@@ -1,18 +1,18 @@
|
||||
diff --git a/browser/themes/shared/identity-block/identity-block.css b/browser/themes/shared/identity-block/identity-block.css
|
||||
index 82c3e319f783e6383ce437131808bbde14293379..6b4444b8ad68664f746be057aae4c59e01e8d170 100644
|
||||
index f239438ce661ae2c33a3e04ecc6d403b3a56a42b..c3a237aa78cff7aaaf0a7b931dd2b4d99049c051 100644
|
||||
--- a/browser/themes/shared/identity-block/identity-block.css
|
||||
+++ b/browser/themes/shared/identity-block/identity-block.css
|
||||
@@ -12,7 +12,7 @@
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
#identity-box {
|
||||
margin-inline-end: var(--identity-box-margin-inline);
|
||||
|
||||
- &[pageproxystate="invalid"] {
|
||||
+ :root[zen-has-empty-tab='true'] & {
|
||||
pointer-events: none;
|
||||
-moz-user-focus: ignore;
|
||||
|
||||
@@ -96,13 +96,6 @@
|
||||
margin: 0;
|
||||
}
|
||||
@@ -85,13 +85,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
-#identity-box[pageproxystate="valid"]:is(.notSecureText, .chromeUI, .extensionPage) > .identity-box-button,
|
||||
@@ -25,7 +25,7 @@ index 82c3e319f783e6383ce437131808bbde14293379..6b4444b8ad68664f746be057aae4c59e
|
||||
|
||||
#urlbar[focused] {
|
||||
#identity-box[pageproxystate="valid"]:is(.notSecureText, .chromeUI, .extensionPage) > .identity-box-button:not(:hover, [open]),
|
||||
@@ -193,16 +186,17 @@
|
||||
@@ -182,16 +175,17 @@
|
||||
}
|
||||
|
||||
#identity-icon {
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
diff --git a/browser/themes/shared/jar.inc.mn b/browser/themes/shared/jar.inc.mn
|
||||
index 7892988bd5994d5183d25bf575d486f89ac888d0..a837672bb2fa1a404640fc8b2908fe4bd68d3c04 100644
|
||||
index e3bdc11e449fb2cd2a4033a1d8c1bba00455e748..f928bc1a3a668dcc1a9ecde9945c6349e5903828 100644
|
||||
--- a/browser/themes/shared/jar.inc.mn
|
||||
+++ b/browser/themes/shared/jar.inc.mn
|
||||
@@ -357,3 +357,5 @@
|
||||
@@ -352,3 +352,5 @@
|
||||
|
||||
skin/classic/browser/illustrations/market-opt-in.svg (../shared/illustrations/market-opt-in.svg)
|
||||
skin/classic/browser/illustrations/tab-groups.svg (../shared/illustrations/tab-groups.svg)
|
||||
skin/classic/browser/illustrations/yelpRealtime-opt-in.svg (../shared/illustrations/yelpRealtime-opt-in.svg)
|
||||
+
|
||||
+#include zen-sources.inc.mn
|
||||
\ No newline at end of file
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
diff --git a/browser/themes/shared/places/organizer-shared.css b/browser/themes/shared/places/organizer-shared.css
|
||||
index fe6b79cfc2453927c324a044bd62040f866def95..a93813c76ba3633c365a739289b39187c0d1e881 100644
|
||||
--- a/browser/themes/shared/places/organizer-shared.css
|
||||
+++ b/browser/themes/shared/places/organizer-shared.css
|
||||
@@ -52,6 +52,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
+#places .zenEditBMPanel_fieldContainer {
|
||||
+ display: contents;
|
||||
+}
|
||||
+
|
||||
+#places label[control="editBMPanel_workspacesSelectorExpander"],
|
||||
+#places #editBMPanel_workspaceDropdown,
|
||||
+#places #editBMPanel_workspaceList {
|
||||
+ display: none;
|
||||
+}
|
||||
+
|
||||
#editBMPanel_itemsCountText {
|
||||
grid-column: auto / span 2;
|
||||
justify-self: center;
|
||||
@@ -484,10 +484,11 @@ groupbox h2 {
|
||||
#helpButton,
|
||||
#support-firefox,
|
||||
#tabGroupSuggestions,
|
||||
#web-appearance-manage-themes-link,
|
||||
#setting-control-sidebarChatbotFieldset,
|
||||
#setting-control-supportFirefox,
|
||||
.mission-message,
|
||||
html|setting-group:is([data-subcategory="layout"], [groupid="support"], [groupid="browserTheme"]) {
|
||||
html|setting-group:is([data-subcategory="layout"], [groupid="support"]) {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
diff --git a/browser/themes/shared/tabbrowser/content-area.css b/browser/themes/shared/tabbrowser/content-area.css
|
||||
index 3acdec2b8e043fe27919cfa54e73f4d3c491bfc8..267a1087134464a8193a824a2d7f8ac15ff8ad60 100644
|
||||
index dff8162a84dbbe6873fa771828698b47b80d0472..e0c378af7a5cc607c2de1c9b5693adb04ac6adbd 100644
|
||||
--- a/browser/themes/shared/tabbrowser/content-area.css
|
||||
+++ b/browser/themes/shared/tabbrowser/content-area.css
|
||||
@@ -157,7 +157,6 @@
|
||||
@@ -171,7 +171,6 @@
|
||||
min-height: 0;
|
||||
|
||||
/* We want to be able to show the frame color behind the clipped radiused corner */
|
||||
- background: var(--tabpanel-background-color);
|
||||
|
||||
/* stylelint-disable-next-line media-query-no-invalid */
|
||||
@media -moz-pref("sidebar.revamp") {
|
||||
outline: 0.01px solid var(--chrome-content-separator-color);
|
||||
@@ -216,7 +215,6 @@
|
||||
@@ -235,7 +234,6 @@
|
||||
}
|
||||
|
||||
browser:is([blank], [pendingpaint]) {
|
||||
@@ -18,7 +18,7 @@ index 3acdec2b8e043fe27919cfa54e73f4d3c491bfc8..267a1087134464a8193a824a2d7f8ac1
|
||||
}
|
||||
|
||||
/* Exclude browsers with smartwindow-content attribute which inherit
|
||||
@@ -553,7 +551,7 @@ split-view-footer {
|
||||
@@ -555,7 +553,7 @@ split-view-footer {
|
||||
|
||||
.dialogStack {
|
||||
z-index: var(--browser-stack-z-index-dialog-stack);
|
||||
@@ -27,7 +27,7 @@ index 3acdec2b8e043fe27919cfa54e73f4d3c491bfc8..267a1087134464a8193a824a2d7f8ac1
|
||||
inset: 0;
|
||||
/* --browser-with-dialog set on browser[tabDialogShowing], we want to position the overlay
|
||||
only on the top of the <browser> element so it doesn't overlap the DevTools toolbox */
|
||||
@@ -718,7 +716,7 @@ split-view-footer {
|
||||
@@ -722,7 +720,7 @@ split-view-footer {
|
||||
|
||||
.dialogOverlay[topmost="true"],
|
||||
#window-modal-dialog::backdrop {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
|
||||
index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285062fbbcc 100644
|
||||
index b70af17781a4128593e3c092cf0f6aec81ab5f9a..1c11c2bf9dcde9d468959e9115a48cf272870987 100644
|
||||
--- a/browser/themes/shared/tabbrowser/tabs.css
|
||||
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
||||
@@ -33,7 +33,7 @@
|
||||
@@ -34,7 +34,7 @@
|
||||
--tab-group-line-thickness: 2px;
|
||||
--tab-group-line-toolbar-border-distance: 1px;
|
||||
/* Collapsed tabs should be square, so set width to match the min height */
|
||||
@@ -11,7 +11,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
--tab-collapsed-width: calc(var(--tab-collapsed-background-width) + 2 * var(--tab-inner-inline-margin));
|
||||
--tab-pinned-min-width-expanded: calc(var(--tab-pinned-expanded-background-width) + 2 * var(--tab-pinned-margin-inline-expanded));
|
||||
--tab-note-icon-end-margin: var(--dimension-4);
|
||||
@@ -282,7 +282,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -285,7 +285,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
}
|
||||
|
||||
:root:not([uidensity="compact"], [sidebar-expand-on-hover]) &[pinned] {
|
||||
@@ -19,7 +19,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
}
|
||||
|
||||
&:is([selected], [multiselected]) {
|
||||
@@ -296,6 +295,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -299,6 +298,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
border-radius: inherit;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
@@ -27,8 +27,8 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
|
||||
&::before {
|
||||
position: absolute;
|
||||
@@ -493,10 +493,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
|
||||
@@ -498,10 +498,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
/* stylelint-disable-next-line media-query-no-invalid */
|
||||
@media -moz-pref("browser.tabs.fadeOutUnloadedTabs") {
|
||||
&[pending] {
|
||||
- filter: grayscale(100%);
|
||||
@@ -38,8 +38,8 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
opacity: 0.5;
|
||||
/* Fade the favicon out */
|
||||
transition-property: filter, opacity;
|
||||
@@ -512,10 +508,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
|
||||
@@ -518,10 +514,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
/* stylelint-disable-next-line media-query-no-invalid */
|
||||
@media -moz-pref("browser.tabs.fadeOutExplicitlyUnloadedTabs") {
|
||||
&[pending][discarded] {
|
||||
- filter: grayscale(100%);
|
||||
@@ -49,7 +49,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
opacity: 0.5;
|
||||
/* Fade the favicon out */
|
||||
transition-property: filter, opacity;
|
||||
@@ -589,7 +581,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -596,7 +588,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
}
|
||||
|
||||
#tabbrowser-tabs[orient="vertical"] & {
|
||||
@@ -58,7 +58,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
}
|
||||
|
||||
&[crashed] {
|
||||
@@ -597,7 +589,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -604,7 +596,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
}
|
||||
|
||||
#tabbrowser-tabs[orient="vertical"]:not([expanded]) &:not([crashed]),
|
||||
@@ -67,7 +67,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
&[soundplaying] {
|
||||
list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-playing-small.svg");
|
||||
}
|
||||
@@ -651,7 +643,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -661,7 +653,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
&[crashed] {
|
||||
display: revert;
|
||||
}
|
||||
@@ -811,7 +803,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -829,7 +821,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
has not been added to root. There are certain scenarios when that attribute is temporarily
|
||||
removed from root such as when toggling the sidebar to expand with the toolbar button. */
|
||||
#tabbrowser-tabs[orient="horizontal"] &:not([pinned]):not([crashed]),
|
||||
@@ -85,7 +85,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
&:is([soundplaying], [muted], [activemedia-blocked]) {
|
||||
display: flex;
|
||||
}
|
||||
@@ -1031,7 +1023,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -1053,7 +1045,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
.tabbrowser-tab:is([image], [pinned]) > .tab-stack > .tab-content[attention]:not([selected]),
|
||||
.tabbrowser-tab > .tab-stack > .tab-content[pinned][titlechanged]:not([selected]),
|
||||
#tabbrowser-tabs[orient="vertical"] .tabbrowser-tab > .tab-stack > .tab-content[titlechanged]:not([selected]) {
|
||||
@@ -93,7 +93,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
background-position: center bottom 6.5px;
|
||||
background-size: 4px 4px;
|
||||
background-repeat: no-repeat;
|
||||
@@ -1780,7 +1771,7 @@ tab-group {
|
||||
@@ -1813,7 +1804,7 @@ tab-group {
|
||||
}
|
||||
|
||||
#tabbrowser-tabs[orient="vertical"][expanded] {
|
||||
@@ -102,7 +102,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
&[movingtab][movingtab-addToGroup]:not([movingtab-group], [movingtab-ungroup]) .tabbrowser-tab:is(:active, [multiselected]) {
|
||||
margin-inline-start: var(--space-medium);
|
||||
}
|
||||
@@ -2335,7 +2326,7 @@ tab-group {
|
||||
@@ -2378,7 +2369,7 @@ tab-group {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
#vertical-tabs-newtab-button {
|
||||
appearance: none;
|
||||
min-height: var(--tab-min-height);
|
||||
@@ -2346,7 +2337,7 @@ tab-group {
|
||||
@@ -2389,7 +2380,7 @@ tab-group {
|
||||
margin-inline: var(--tab-inner-inline-margin);
|
||||
|
||||
#tabbrowser-tabs[orient="vertical"]:not([expanded]) & > .toolbarbutton-text {
|
||||
@@ -120,7 +120,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
}
|
||||
|
||||
&:hover {
|
||||
@@ -2370,7 +2361,7 @@ tab-group {
|
||||
@@ -2413,7 +2404,7 @@ tab-group {
|
||||
* 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.
|
||||
*/
|
||||
@@ -129,7 +129,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
margin-block: var(--tab-block-margin);
|
||||
}
|
||||
|
||||
@@ -2560,7 +2551,6 @@ tab-group {
|
||||
@@ -2610,7 +2601,6 @@ tab-group {
|
||||
|
||||
&:not([expanded]) {
|
||||
.tabbrowser-tab[pinned] {
|
||||
@@ -137,7 +137,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
}
|
||||
|
||||
.tab-background {
|
||||
@@ -2599,8 +2589,8 @@ tab-group {
|
||||
@@ -2651,8 +2641,8 @@ tab-group {
|
||||
display: block;
|
||||
position: absolute;
|
||||
inset: auto;
|
||||
@@ -148,7 +148,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
|
||||
&:-moz-window-inactive {
|
||||
background-image:
|
||||
@@ -2698,9 +2688,6 @@ tab-group {
|
||||
@@ -2753,9 +2743,6 @@ tab-group {
|
||||
~ #tabbrowser-tabs[orient="horizontal"]::before {
|
||||
display: flex;
|
||||
content: "";
|
||||
@@ -158,7 +158,7 @@ index 24ad9ab050a67d4a375eb1d05261a7f7c267d7d1..b2f2ae8e765ad1f052aa07ab1d47f285
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2733,7 +2720,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
|
||||
@@ -2788,7 +2775,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
|
||||
list-style-image: url(chrome://global/skin/icons/plus.svg);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
diff --git a/browser/themes/shared/urlbar-searchbar.css b/browser/themes/shared/urlbar-searchbar.css
|
||||
index cc595de7e3839f7e688122552bca95f9f9ad3988..da4b1e1b5013d7a1a9af3d45d94db7194a1826f7 100644
|
||||
index cbd074b9bacfbf7cc82a67ad586ebc31c4d85970..993c61ba389cb9d912b2cebee9d71bec772e3a7d 100644
|
||||
--- a/browser/themes/shared/urlbar-searchbar.css
|
||||
+++ b/browser/themes/shared/urlbar-searchbar.css
|
||||
@@ -19,8 +19,8 @@
|
||||
@@ -12,7 +12,7 @@
|
||||
/* Usually we wouldn't need snapping border widths manually, but we use this
|
||||
* for other layout calculations too */
|
||||
--urlbar-container-border-width: max(env(hairline), round(down, 1px, env(hairline)));
|
||||
- --urlbar-container-padding: round(up, 1px, env(hairline));
|
||||
+ --urlbar-container-padding: 2px;
|
||||
--urlbar-container-inset: calc(var(--urlbar-container-border-width) + var(--urlbar-container-padding));
|
||||
|
||||
@media not -moz-pref("browser.nova.enabled") {
|
||||
--urlbar-basic-component-size: calc(var(--urlbar-min-height) - 2 * (var(--urlbar-input-container-border-width) + var(--urlbar-input-container-padding)));
|
||||
- --urlbar-icon-padding: calc((var(--urlbar-min-height) - 2px /* border */ - 2px /* padding */ - 16px /* icon */) / 2);
|
||||
- --urlbar-input-container-padding: round(up, 1px, env(hairline));
|
||||
+ --urlbar-icon-padding: calc((var(--urlbar-min-height) - 2px /* border */ - 14px /* icon */) / 2);
|
||||
+ --urlbar-input-container-padding: 2px;
|
||||
}
|
||||
@media (max-width: 770px) {
|
||||
--urlbar-container-min-width: 240px;
|
||||
@@ -114,7 +114,7 @@ toolbar[inactive="true"] .urlbar,
|
||||
@@ -55,7 +55,7 @@ toolbar[inactive="true"] .urlbar,
|
||||
.urlbar:not([usertyping]) > .urlbar-input-container > .urlbar-go-button,
|
||||
.urlbar:not(#searchbar-new, [focused]) > .urlbar-input-container > .urlbar-go-button,
|
||||
#urlbar-revert-button-container {
|
||||
@@ -22,7 +20,7 @@ index cc595de7e3839f7e688122552bca95f9f9ad3988..da4b1e1b5013d7a1a9af3d45d94db719
|
||||
}
|
||||
|
||||
/* Document Picture-in-Picture API window */
|
||||
@@ -350,6 +350,10 @@ toolbar[inactive="true"] .urlbar,
|
||||
@@ -205,6 +205,10 @@ toolbar[inactive="true"] .urlbar,
|
||||
mask-image: linear-gradient(to right, transparent var(--urlbar-scheme-size), black calc(var(--urlbar-scheme-size) + 3ch));
|
||||
}
|
||||
|
||||
@@ -30,10 +28,10 @@ index cc595de7e3839f7e688122552bca95f9f9ad3988..da4b1e1b5013d7a1a9af3d45d94db719
|
||||
+ mask-image: linear-gradient(to right, transparent, black 3ch, black calc(100% - 3ch), transparent);
|
||||
+ }
|
||||
+
|
||||
&::selection {
|
||||
border-radius: var(--urlbar-selection-border-radius);
|
||||
}
|
||||
@@ -464,10 +468,14 @@ toolbar[inactive="true"] .urlbar,
|
||||
/* stylelint-disable-next-line media-query-no-invalid */
|
||||
@media -moz-pref("browser.nova.enabled") {
|
||||
&::selection {
|
||||
@@ -429,10 +433,14 @@ toolbar[inactive="true"] .urlbar,
|
||||
|
||||
.urlbar[breakout][breakout-extend] {
|
||||
height: auto;
|
||||
@@ -46,5 +44,5 @@ index cc595de7e3839f7e688122552bca95f9f9ad3988..da4b1e1b5013d7a1a9af3d45d94db719
|
||||
> .urlbar-input-container {
|
||||
+ align-items: center;
|
||||
height: var(--urlbar-container-height);
|
||||
padding-block: calc((var(--urlbar-container-height) - var(--urlbar-height)) / 2 + var(--urlbar-input-container-padding));
|
||||
padding-inline: calc(var(--urlbar-margin-inline) + var(--urlbar-input-container-padding));
|
||||
padding-block: calc((var(--urlbar-container-height) - var(--urlbar-height)) / 2 + var(--urlbar-container-padding));
|
||||
padding-inline: calc(var(--urlbar-margin-inline) + var(--urlbar-container-padding));
|
||||
|
||||
13
src/browser/themes/shared/urlbar/variables-css.patch
Normal file
13
src/browser/themes/shared/urlbar/variables-css.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/browser/themes/shared/urlbar/variables.css b/browser/themes/shared/urlbar/variables.css
|
||||
index 64eb46b3061504e590d3fcee0c30c902f68764fe..6e7ffe043c5676da27a6eb5b105dac2fde3309da 100644
|
||||
--- a/browser/themes/shared/urlbar/variables.css
|
||||
+++ b/browser/themes/shared/urlbar/variables.css
|
||||
@@ -9,7 +9,7 @@
|
||||
:root {
|
||||
--identity-box-margin-inline: 4px;
|
||||
--urlbar-min-height: max(32px, 1.4em);
|
||||
- --urlbar-icon-padding: calc((var(--urlbar-min-height) - 2px /* border */ - 2px /* padding */ - 16px /* icon */) / 2);
|
||||
+ --urlbar-icon-padding: calc((var(--urlbar-min-height) - 2px /* border */ - 14px /* icon */) / 2);
|
||||
|
||||
/* This should be used for icons and chiclets inside the input field, as well
|
||||
as result rows. It makes the gap around them more uniform when they are
|
||||
@@ -0,0 +1,69 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg class="zen-library-icon" width="18" height="18" viewBox="4 4 18 18" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg">
|
||||
<style>
|
||||
@property --zen-triangle-anim { syntax: '<number>'; initial-value: 0; inherits: false; }
|
||||
@property --zen-circle-anim { syntax: '<number>'; initial-value: 0; inherits: false; }
|
||||
@keyframes StarForward {
|
||||
0% { transform: rotate(0deg); }
|
||||
100% { transform: rotate(120deg); }
|
||||
}
|
||||
@keyframes TriangleForward {
|
||||
0% { --zen-triangle-anim: 0; }
|
||||
100% { --zen-triangle-anim: 1; }
|
||||
}
|
||||
@keyframes CircleForward {
|
||||
0% { --zen-circle-anim: 0; }
|
||||
100% { --zen-circle-anim: 1; }
|
||||
}
|
||||
@keyframes GlowForward {
|
||||
0% { opacity: 0; }
|
||||
100% { opacity: 0.4; }
|
||||
}
|
||||
@keyframes GlowElementsForward {
|
||||
0% { opacity: 0; }
|
||||
100% { opacity: 0.5; }
|
||||
}
|
||||
.zen-library-star { transform-origin: 10px 10.2px; animation: StarForward 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
|
||||
.zen-library-triangle-group { transform-origin: 17px 9.2px; animation: TriangleForward 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; transform: translate(calc(var(--zen-triangle-anim) * 2px), 0px) rotate(calc(var(--zen-triangle-anim) * 365deg)) scale(max(1 - var(--zen-triangle-anim) / 0.65, (var(--zen-triangle-anim) - 0.65) / 0.35)); }
|
||||
.zen-library-circle { transform-origin: 0px 0px; animation: CircleForward 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; transform: translate(calc(var(--zen-circle-anim) * 1px), calc(var(--zen-circle-anim) * -1.5px)) scale(max(0, max((var(--zen-circle-anim) - 0.75) / 0.25, min(1, 1 - (var(--zen-circle-anim) - 0.3) / 0.35)))); }
|
||||
.zen-library-glow { filter: blur(2px); animation: GlowForward 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
|
||||
.zen-library-glow-element { filter: blur(2px); animation: GlowElementsForward 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
|
||||
.zen-library-glow-bg, .zen-library-glow-element { fill: transparent !important; stroke: none !important; }
|
||||
.zen-library-glow-rays { stroke: transparent !important; fill: none !important; }
|
||||
@media (prefers-color-scheme: dark) {
|
||||
.zen-library-glow-bg, .zen-library-glow-element { fill: white !important; }
|
||||
.zen-library-glow-rays { stroke: white !important; }
|
||||
.zen-library-star:not(.zen-library-glow-element), .zen-library-circle:not(.zen-library-glow-element), .zen-library-triangle:not(.zen-library-glow-element) { fill: white !important; }
|
||||
}
|
||||
</style>
|
||||
<defs>
|
||||
<mask id="zen-library-box-mask">
|
||||
<rect x="-10" y="-10" width="40" height="40" fill="white"/>
|
||||
<rect x="-10" y="11.635" width="40" height="40" fill="black"/>
|
||||
</mask>
|
||||
</defs>
|
||||
<g fill-rule="evenodd">
|
||||
<g mask="url(#zen-library-box-mask)">
|
||||
<path class="zen-library-star zen-library-glow-element" d="M 7.773 11.635 C 8.136 11.863 8.24 12.075 8.218 12.294 L 8.036 14.082 C 7.984 14.598 8.584 14.917 8.982 14.585 L 10.362 13.432 C 10.53 13.291 10.764 13.258 10.966 13.347 L 12.61 14.072 C 13.085 14.281 13.574 13.808 13.38 13.327 L 12.701 11.635 C 12.632 11.437 12.675 11.216 12.816 11.058 L 14.014 9.718 C 14.36 9.331 14.061 8.72 13.544 8.756 L 11.75 8.877 C 11.531 8.892 11.322 8.781 11.211 8.591 L 10.307 7.038 C 10.046 6.59 9.373 6.685 9.247 7.188 L 8.808 8.931 C 8.754 9.144 8.585 9.309 8.37 9.355 L 6.613 9.735 C 6.106 9.845 5.988 10.514 6.427 10.79 L 7.773 11.635 Z"/>
|
||||
<path class="zen-library-star" d="M 7.773 11.635 C 8.136 11.863 8.24 12.075 8.218 12.294 L 8.036 14.082 C 7.984 14.598 8.584 14.917 8.982 14.585 L 10.362 13.432 C 10.53 13.291 10.764 13.258 10.966 13.347 L 12.61 14.072 C 13.085 14.281 13.574 13.808 13.38 13.327 L 12.701 11.635 C 12.632 11.437 12.675 11.216 12.816 11.058 L 14.014 9.718 C 14.36 9.331 14.061 8.72 13.544 8.756 L 11.75 8.877 C 11.531 8.892 11.322 8.781 11.211 8.591 L 10.307 7.038 C 10.046 6.59 9.373 6.685 9.247 7.188 L 8.808 8.931 C 8.754 9.144 8.585 9.309 8.37 9.355 L 6.613 9.735 C 6.106 9.845 5.988 10.514 6.427 10.79 L 7.773 11.635 Z"/>
|
||||
</g>
|
||||
<g transform="translate(14, 7.3)">
|
||||
<circle class="zen-library-circle zen-library-glow-element" cx="0" cy="0" r="1.4"/>
|
||||
<circle class="zen-library-circle" cx="0" cy="0" r="1"/>
|
||||
</g>
|
||||
<g class="zen-library-triangle-group">
|
||||
<g transform="translate(17, 9.2)">
|
||||
<path class="zen-library-triangle zen-library-glow-element" d="M -1.1 1.8 C -1.4 2.0, -1.7 1.8, -1.7 1.5 L -1.7 -1.5 C -1.7 -1.8, -1.4 -2.0, -1.1 -1.8 L 1.4 -0.4 C 1.7 -0.2, 1.7 0.2, 1.4 0.4 Z"/>
|
||||
<path class="zen-library-triangle" d="M -1.1 1.8 C -1.4 2.0, -1.7 1.8, -1.7 1.5 L -1.7 -1.5 C -1.7 -1.8, -1.4 -2.0, -1.1 -1.8 L 1.4 -0.4 C 1.7 -0.2, 1.7 0.2, 1.4 0.4 Z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g class="zen-library-glow">
|
||||
<path class="zen-library-glow-bg" d="M 6.6 6.6 L 8.04 12.7 L 17.96 12.7 L 19.4 6.6 Z"/>
|
||||
<path class="zen-library-glow-rays" d="M 6.1 6.6 L 8.04 12.7 L 17.96 12.7 L 19.9 6.6"/>
|
||||
</g>
|
||||
<path class="zen-library-box" d="M 7.218 13.287 C 7.218 12.831 7.588 12.461 8.044 12.461 H 17.957 C 18.414 12.461 18.783 12.831 18.783 13.287 V 17.418 C 18.783 19.243 17.304 20.722 15.479 20.722 H 10.523 C 8.698 20.722 7.218 19.243 7.218 17.418 V 13.287 Z M 10.609 14.526 C 10.609 14.07 10.979 13.7 11.435 13.7 H 14.739 C 15.196 13.7 15.565 14.07 15.565 14.526 C 15.565 14.982 15.196 15.352 14.739 15.352 H 11.435 C 10.979 15.352 10.609 14.982 10.609 14.526 Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
@@ -0,0 +1,81 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg class="zen-boosts-icon" width="28" height="28" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<style>
|
||||
@keyframes zenBoostsCardTilt {
|
||||
0%, 13.33% { transform: translate(61.889px, 63.143px) scale(1.1) rotate(-15deg); animation-timing-function: cubic-bezier(0.35, 0, 0.685, 1); }
|
||||
37.77% { transform: translate(61.889px, 68.143px) scale(1.1) rotate(-23deg); animation-timing-function: cubic-bezier(0.25, 0, 0.7, 1); }
|
||||
64.8% { transform: translate(61.889px, 55.143px) scale(1.1) rotate(-5.4deg); animation-timing-function: cubic-bezier(0.28, 0, 0.68, 1); }
|
||||
87%, 100% { transform: translate(61.889px, 63.143px) scale(1.1) rotate(-15deg); }
|
||||
}
|
||||
@keyframes zenBoostsBrushRotate {
|
||||
0%, 2.22% { transform: translate(18.247px, 109.504px) scale(1.1) rotate(0deg); animation-timing-function: cubic-bezier(0.6, 0, 0.7, 1); }
|
||||
32% { transform: translate(18.247px, 112px) scale(1.1) rotate(12deg); animation-timing-function: cubic-bezier(0.3, 0, 0.6, 1); }
|
||||
52% { transform: translate(18.247px, 97.957px) scale(1.1) rotate(-16.5deg); animation-timing-function: cubic-bezier(0.4, 0, 0.5, 1); }
|
||||
80%, 100% { transform: translate(18.247px, 109.504px) scale(1.1) rotate(0deg); }
|
||||
}
|
||||
@keyframes zenBoostsStarLargeBounce {
|
||||
0%, 20% { transform: translate(85.002px, 50.174px) rotate(2.014deg) scale(1); animation-timing-function: cubic-bezier(0.29, 0, 0.83, 1); }
|
||||
33.3% { transform: translate(85.002px, 59px) rotate(2.014deg) scale(1); animation-timing-function: linear; }
|
||||
42.2% { transform: translate(85.002px, 60.5px) rotate(2.014deg) scale(0); animation-timing-function: linear; }
|
||||
53.3% { transform: translate(85.002px, 45px) rotate(2.014deg) scale(0); animation-timing-function: cubic-bezier(0.45, 0, 0.63, 1); }
|
||||
62.2% { transform: translate(85.002px, 33.344px) rotate(2.014deg) scale(1); animation-timing-function: cubic-bezier(0.45, 0, 0.63, 1); }
|
||||
88.8%, 100% { transform: translate(85.002px, 50.174px) rotate(2.014deg) scale(1); }
|
||||
}
|
||||
@keyframes zenBoostsStarSmallBounce {
|
||||
0%, 26.6% { transform: translate(68.002px, 37.075px) rotate(2.014deg) scale(1); animation-timing-function: cubic-bezier(0.29, 0, 0.83, 1); }
|
||||
44.8% { transform: translate(68.002px, 44.632px) rotate(2.014deg) scale(1); animation-timing-function: linear; }
|
||||
55.5% { transform: translate(68.002px, 34px) rotate(2.014deg) scale(1); animation-timing-function: linear; }
|
||||
64.4% { transform: translate(68.002px, 25px) rotate(2.014deg) scale(0); animation-timing-function: linear; }
|
||||
75.5% { transform: translate(68.002px, 15px) rotate(2.014deg) scale(0); animation-timing-function: cubic-bezier(0.45, 0, 0.63, 1); }
|
||||
84.4% { transform: translate(68.002px, 28px) rotate(2.014deg) scale(1); animation-timing-function: cubic-bezier(0.45, 0, 0.63, 1); }
|
||||
93.3%, 100% { transform: translate(68.002px, 37.075px) rotate(2.014deg) scale(1); }
|
||||
}
|
||||
.zen-boosts-card { animation: zenBoostsCardTilt 0.583s forwards; }
|
||||
.zen-boosts-brush { animation: zenBoostsBrushRotate 0.583s forwards; }
|
||||
.zen-boosts-star-large { animation: zenBoostsStarLargeBounce 0.583s forwards; }
|
||||
.zen-boosts-star-small { animation: zenBoostsStarSmallBounce 0.583s forwards; }
|
||||
</style>
|
||||
<defs>
|
||||
<linearGradient id="zen-boosts-grad" gradientUnits="userSpaceOnUse" x1="64" y1="16" x2="64" y2="144">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
<mask id="zen-boosts-mask" maskContentUnits="userSpaceOnUse">
|
||||
<rect x="-100" y="-100" width="300" height="300" fill="#fff"/>
|
||||
<path fill="#000" stroke="#000" stroke-width="8" stroke-linejoin="round" d="M-3.79 54.121C-5.31 51.635-6.984 48.884-7.082 42.132L-7.073 42.091-7.063 42.051C-6.2 38.573-3.904 36.054-1.1 34.382L4.474 31.059C6.968 29.572 9.896 28.739 13.003 29.233 13.558 28.514 14.137 27.648 14.736 26.617L14.752 26.589 14.769 26.561C15.438 25.438 16.22 24.032 17.105 22.317 18.032 20.521 19.176 18.3 20.531 15.65 21.63 13.5 23.221 11.59 25.405 10.221 27.368 8.99 29.589 8.271 31.984 8.218L32.013 8.218C34.325 8.178 36.528 8.749 38.557 9.821 40.713 10.96 42.401 12.627 43.642 14.615L43.662 14.646 63.922 47.997C66.006 51.466 67.049 55.422 66.104 59.547 65.148 63.723 62.394 66.785 58.898 68.869L44.274 77.586C44.222 77.953 44.148 78.323 44.06 78.696 43.24 82.158 40.963 84.66 38.246 86.34L38.205 86.365 32.548 89.738C29.738 91.413 26.42 92.18 22.922 91.299 18.565 90.201 14.485 87.919 10.34 86.196 10.34 86.196 8.779 87.737 7.305 89.123 5.699 90.632 4.021 91.927 2.291 92.956-2.345 95.712-7.442 96.912-12.65 95.581-17.868 94.248-21.776 90.71-24.597 86.068-27.411 81.439-28.702 76.368-27.456 71.195-26.206 66.005-22.739 62.101-18.096 59.333-16.417 58.332-14.507 57.488-12.438 56.763L-12.4 56.75C-10.473 56.089-8.488 55.472-6.445 54.899-5.537 54.635-4.652 54.375-3.79 54.121Z"/>
|
||||
</mask>
|
||||
</defs>
|
||||
<g class="zen-boosts-card" style="transform-origin: 0 0;" transform="translate(61.889 63.143) scale(1.1) rotate(-15)">
|
||||
<g class="zen-boosts-card-anchor" transform="translate(-44 -44)">
|
||||
<rect class="zen-boosts-bg" x="3.55" y="3.55" width="80.9" height="80.9" rx="12.45" fill="context-fill" fill-opacity="1"/>
|
||||
<rect class="zen-boosts-gradient" x="3.55" y="3.55" width="80.9" height="80.9" rx="12.45" fill="url(#zen-boosts-grad)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<rect class="zen-boosts-border" width="88" height="88" rx="16" mask="url(#zen-boosts-mask)" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g class="zen-boosts-brush" style="transform-origin: 0 0;" transform="translate(18.247 109.504) scale(1.1)">
|
||||
<g class="zen-boosts-brush-anchor" transform="translate(-15 -70)">
|
||||
<g class="zen-boosts-brush-tip-translate" transform="translate(27.307 3.73)">
|
||||
<path class="zen-boosts-bg" d="M0 28 6 14 12 0 44 34 26 54Z" fill="context-fill" fill-opacity="1"/>
|
||||
<path class="zen-boosts-gradient" d="M0 28 6 14 12 0 44 34 26 54Z" fill="url(#zen-boosts-grad)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
</g>
|
||||
<g class="zen-boosts-brush-silhouette-fills">
|
||||
<path class="zen-boosts-bg" fill="context-fill" fill-opacity="1" d="M0 69.826C-0.023 66.459 1.467 63.29 4.469 60.318 5.501 59.296 6.814 58.264 8.409 57.219 10.027 56.174 11.717 55.176 13.476 54.154 15.235 53.132 16.877 52.158 18.472 51.229L22.377 48.617 15.024 41.373C13.546 39.91 12.795 38.354 12.772 36.706 12.772 35.034 13.5 33.479 14.954 32.04L19.563 27.478C21.017 26.039 22.577 25.33 24.242 25.353 26.219 25.381 26.531 25.828 28.992 27.547L56.964 55.303C58.465 56.766 59.215 58.322 59.215 59.97 59.238 61.595 58.535 63.139 57.104 64.602L52.46 69.199C51.029 70.615 49.47 71.311 47.781 71.288 46.092 71.288 44.52 70.557 43.066 69.094L35.748 61.816C34.904 62.814 34.012 64.091 33.074 65.647 32.136 67.203 31.15 68.862 30.118 70.627 29.109 72.392 28.078 74.063 27.022 75.642 25.99 77.244 24.946 78.555 23.89 79.577 20.888 82.549 17.686 84.023 14.285 84 10.884 83.977 7.658 82.444 4.609 79.403 1.56 76.385 0.023 73.193 0 69.826ZM56.257 54.603L54.309 52.669 68.012 38.552C68.669 37.902 68.997 37.182 68.997 36.393 68.997 35.604 68.633 34.849 67.906 34.129L41.764 8.289C41.412 7.941 41.048 7.754 40.673 7.731 40.321 7.708 39.993 7.825 39.688 8.08 39.407 8.312 39.196 8.695 39.055 9.229 38.211 12.294 37.495 14.917 36.909 17.099 36.323 19.281 35.712 21.244 35.079 22.985 34.446 24.726 33.636 26.444 32.651 28.139 31.689 29.811 31.369 29.906 31.369 29.906L28.992 27.547 26.531 25.828C27.258 24.69 28.147 22.962 28.64 21.871 29.133 20.757 29.578 19.514 29.977 18.144 30.399 16.751 30.845 15.079 31.314 13.129 31.783 11.156 32.358 8.718 33.038 5.816 33.39 4.307 34.023 3.088 34.938 2.159 35.853 1.207 36.909 0.569 38.105 0.244 39.325-0.081 40.556-0.081 41.799 0.244 43.042 0.546 44.168 1.184 45.177 2.159L72.832 29.567C74.92 31.657 75.975 33.85 75.998 36.149 76.045 38.447 75.049 40.607 73.008 42.627L58.083 56.603 56.257 54.603Z"/>
|
||||
<path class="zen-boosts-gradient" fill="url(#zen-boosts-grad)" style="mix-blend-mode: overlay; opacity: 0.1;" d="M0 69.826C-0.023 66.459 1.467 63.29 4.469 60.318 5.501 59.296 6.814 58.264 8.409 57.219 10.027 56.174 11.717 55.176 13.476 54.154 15.235 53.132 16.877 52.158 18.472 51.229L22.377 48.617 15.024 41.373C13.546 39.91 12.795 38.354 12.772 36.706 12.772 35.034 13.5 33.479 14.954 32.04L19.563 27.478C21.017 26.039 22.577 25.33 24.242 25.353 26.219 25.381 26.531 25.828 28.992 27.547L56.964 55.303C58.465 56.766 59.215 58.322 59.215 59.97 59.238 61.595 58.535 63.139 57.104 64.602L52.46 69.199C51.029 70.615 49.47 71.311 47.781 71.288 46.092 71.288 44.52 70.557 43.066 69.094L35.748 61.816C34.904 62.814 34.012 64.091 33.074 65.647 32.136 67.203 31.15 68.862 30.118 70.627 29.109 72.392 28.078 74.063 27.022 75.642 25.99 77.244 24.946 78.555 23.89 79.577 20.888 82.549 17.686 84.023 14.285 84 10.884 83.977 7.658 82.444 4.609 79.403 1.56 76.385 0.023 73.193 0 69.826ZM56.257 54.603L54.309 52.669 68.012 38.552C68.669 37.902 68.997 37.182 68.997 36.393 68.997 35.604 68.633 34.849 67.906 34.129L41.764 8.289C41.412 7.941 41.048 7.754 40.673 7.731 40.321 7.708 39.993 7.825 39.688 8.08 39.407 8.312 39.196 8.695 39.055 9.229 38.211 12.294 37.495 14.917 36.909 17.099 36.323 19.281 35.712 21.244 35.079 22.985 34.446 24.726 33.636 26.444 32.651 28.139 31.689 29.811 31.369 29.906 31.369 29.906L28.992 27.547 26.531 25.828C27.258 24.69 28.147 22.962 28.64 21.871 29.133 20.757 29.578 19.514 29.977 18.144 30.399 16.751 30.845 15.079 31.314 13.129 31.783 11.156 32.358 8.718 33.038 5.816 33.39 4.307 34.023 3.088 34.938 2.159 35.853 1.207 36.909 0.569 38.105 0.244 39.325-0.081 40.556-0.081 41.799 0.244 43.042 0.546 44.168 1.184 45.177 2.159L72.832 29.567C74.92 31.657 75.975 33.85 75.998 36.149 76.045 38.447 75.049 40.607 73.008 42.627L58.083 56.603 56.257 54.603Z"/>
|
||||
</g>
|
||||
<path class="zen-boosts-border" fill-rule="evenodd" fill="context-stroke" d="M0 69.826C-0.023 66.459 1.467 63.29 4.469 60.318 5.501 59.296 6.814 58.264 8.409 57.219 10.027 56.174 11.717 55.176 13.476 54.154 15.235 53.132 16.877 52.158 18.472 51.229L22.377 48.617 15.024 41.373C13.546 39.91 12.795 38.354 12.772 36.706 12.772 35.034 13.5 33.479 14.954 32.04L19.563 27.478C21.017 26.039 22.577 25.33 24.242 25.353 26.219 25.381 26.531 25.828 28.992 27.547L56.964 55.303C58.465 56.766 59.215 58.322 59.215 59.97 59.238 61.595 58.535 63.139 57.104 64.602L52.46 69.199C51.029 70.615 49.47 71.311 47.781 71.288 46.092 71.288 44.52 70.557 43.066 69.094L35.748 61.816C34.904 62.814 34.012 64.091 33.074 65.647 32.136 67.203 31.15 68.862 30.118 70.627 29.109 72.392 28.078 74.063 27.022 75.642 25.99 77.244 24.946 78.555 23.89 79.577 20.888 82.549 17.686 84.023 14.285 84 10.884 83.977 7.658 82.444 4.609 79.403 1.56 76.385 0.023 73.193 0 69.826ZM20.618 38.308L29.133 46.701C29.86 47.398 30.188 48.187 30.118 49.069 30.048 49.951 29.625 50.799 28.851 51.612 28.171 52.309 27.034 53.11 25.439 54.015 23.844 54.92 22.037 55.931 20.02 57.045 18.026 58.159 16.044 59.355 14.074 60.632 12.104 61.909 10.427 63.232 9.043 64.602 7.425 66.181 6.615 67.887 6.615 69.721 6.638 71.555 7.471 73.297 9.113 74.945 10.778 76.57 12.525 77.383 14.355 77.383 16.208 77.406 17.945 76.617 19.563 75.015 20.97 73.645 22.307 71.985 23.574 70.035 24.864 68.085 26.072 66.122 27.198 64.149 28.324 62.152 29.344 60.377 30.259 58.821 31.197 57.242 32.007 56.116 32.687 55.443 33.508 54.654 34.364 54.235 35.255 54.189 36.146 54.119 36.956 54.444 37.683 55.164L46.127 63.557C46.971 64.416 47.804 64.404 48.625 63.522L51.299 60.875C52.12 60.039 52.132 59.216 51.334 58.403L25.79 33.154C25.415 32.759 25.016 32.574 24.594 32.597 24.172 32.597 23.762 32.794 23.363 33.189L20.618 35.836C19.774 36.649 19.774 37.472 20.618 38.308ZM11.294 72.855C10.473 72.042 10.063 71.068 10.063 69.93 10.063 68.792 10.473 67.818 11.294 67.005 12.115 66.192 13.101 65.786 14.25 65.786 15.399 65.786 16.384 66.192 17.205 67.005 18.026 67.818 18.437 68.792 18.437 69.93 18.437 71.068 18.026 72.042 17.205 72.855 16.384 73.668 15.399 74.074 14.25 74.074 13.101 74.074 12.115 73.668 11.294 72.855ZM56.257 54.603L54.309 52.669 68.012 38.552C68.669 37.902 68.997 37.182 68.997 36.393 68.997 35.604 68.633 34.849 67.906 34.129L41.764 8.289C41.412 7.941 41.048 7.754 40.673 7.731 40.321 7.708 39.993 7.825 39.688 8.08 39.407 8.312 39.196 8.695 39.055 9.229 38.211 12.294 37.495 14.917 36.909 17.099 36.323 19.281 35.712 21.244 35.079 22.985 34.446 24.726 33.636 26.444 32.651 28.139 31.689 29.811 31.369 29.906 31.369 29.906L28.992 27.547 26.531 25.828C27.258 24.69 28.147 22.962 28.64 21.871 29.133 20.757 29.578 19.514 29.977 18.144 30.399 16.751 30.845 15.079 31.314 13.129 31.783 11.156 32.358 8.718 33.038 5.816 33.39 4.307 34.023 3.088 34.938 2.159 35.853 1.207 36.909 0.569 38.105 0.244 39.325-0.081 40.556-0.081 41.799 0.244 43.042 0.546 44.168 1.184 45.177 2.159L72.832 29.567C74.92 31.657 75.975 33.85 75.998 36.149 76.045 38.447 75.049 40.607 73.008 42.627L58.083 56.603 56.257 54.603ZM50.455 37.786C52.425 35.836 54.138 33.7 55.592 31.378 57.07 29.056 57.973 26.352 58.301 23.264L66.041 30.89C65.15 32.004 63.93 33.142 62.382 34.303 60.834 35.441 59.216 36.463 57.527 37.368 55.862 38.25 54.36 38.878 53.023 39.249 51.709 39.62 50.818 39.573 50.349 39.109 49.927 38.714 49.962 38.274 50.455 37.786Z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g class="zen-boosts-star-small" style="transform-origin: 0 0;" transform="translate(68.002 37.075) rotate(2.014)">
|
||||
<g class="zen-boosts-star-small-anchor" transform="translate(-8 -8)">
|
||||
<path class="zen-boosts-border" d="M8 0C8 4.418 4.418 8 0 8 4.418 8 8 11.582 8 16 8 11.582 11.582 8 16 8 11.582 8 8 4.418 8 0Z" fill="context-stroke" stroke="context-stroke" stroke-width="3" stroke-linejoin="round"/>
|
||||
</g>
|
||||
</g>
|
||||
<g class="zen-boosts-star-large" style="transform-origin: 0 0;" transform="translate(85.002 50.174) rotate(2.014)">
|
||||
<g class="zen-boosts-star-large-anchor" transform="translate(-12 -12)">
|
||||
<path class="zen-boosts-border" d="M12 0C12 6.627 6.627 12 0 12 6.627 12 12 17.373 12 24 12 17.373 17.373 12 24 12 17.373 12 12 6.627 12 0Z" fill="context-stroke" stroke="context-stroke" stroke-width="3" stroke-linejoin="round"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 400 KiB |
@@ -0,0 +1,32 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg class="zen-boosts-icon" width="28" height="28" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<mask id="zen-boosts-mask" maskContentUnits="userSpaceOnUse">
|
||||
<rect x="-100" y="-100" width="300" height="300" fill="#fff"/>
|
||||
<path fill="#000" stroke="#000" stroke-width="8" stroke-linejoin="round" d="M-3.79 54.121C-5.31 51.635-6.984 48.884-7.082 42.132L-7.073 42.091-7.063 42.051C-6.2 38.573-3.904 36.054-1.1 34.382L4.474 31.059C6.968 29.572 9.896 28.739 13.003 29.233 13.558 28.514 14.137 27.648 14.736 26.617L14.752 26.589 14.769 26.561C15.438 25.438 16.22 24.032 17.105 22.317 18.032 20.521 19.176 18.3 20.531 15.65 21.63 13.5 23.221 11.59 25.405 10.221 27.368 8.99 29.589 8.271 31.984 8.218L32.013 8.218C34.325 8.178 36.528 8.749 38.557 9.821 40.713 10.96 42.401 12.627 43.642 14.615L43.662 14.646 63.922 47.997C66.006 51.466 67.049 55.422 66.104 59.547 65.148 63.723 62.394 66.785 58.898 68.869L44.274 77.586C44.222 77.953 44.148 78.323 44.06 78.696 43.24 82.158 40.963 84.66 38.246 86.34L38.205 86.365 32.548 89.738C29.738 91.413 26.42 92.18 22.922 91.299 18.565 90.201 14.485 87.919 10.34 86.196 10.34 86.196 8.779 87.737 7.305 89.123 5.699 90.632 4.021 91.927 2.291 92.956-2.345 95.712-7.442 96.912-12.65 95.581-17.868 94.248-21.776 90.71-24.597 86.068-27.411 81.439-28.702 76.368-27.456 71.195-26.206 66.005-22.739 62.101-18.096 59.333-16.417 58.332-14.507 57.488-12.438 56.763L-12.4 56.75C-10.473 56.089-8.488 55.472-6.445 54.899-5.537 54.635-4.652 54.375-3.79 54.121Z"/>
|
||||
</mask>
|
||||
</defs>
|
||||
<g transform="translate(61.889 63.143) scale(1.1) rotate(-15)">
|
||||
<g transform="translate(-44 -44)">
|
||||
<rect width="88" height="88" rx="16" mask="url(#zen-boosts-mask)" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(18.247 109.504) scale(1.1)">
|
||||
<g transform="translate(-15 -70)">
|
||||
<path fill-rule="evenodd" fill="context-stroke" d="M0 69.826C-0.023 66.459 1.467 63.29 4.469 60.318 5.501 59.296 6.814 58.264 8.409 57.219 10.027 56.174 11.717 55.176 13.476 54.154 15.235 53.132 16.877 52.158 18.472 51.229L22.377 48.617 15.024 41.373C13.546 39.91 12.795 38.354 12.772 36.706 12.772 35.034 13.5 33.479 14.954 32.04L19.563 27.478C21.017 26.039 22.577 25.33 24.242 25.353 26.219 25.381 26.531 25.828 28.992 27.547L56.964 55.303C58.465 56.766 59.215 58.322 59.215 59.97 59.238 61.595 58.535 63.139 57.104 64.602L52.46 69.199C51.029 70.615 49.47 71.311 47.781 71.288 46.092 71.288 44.52 70.557 43.066 69.094L35.748 61.816C34.904 62.814 34.012 64.091 33.074 65.647 32.136 67.203 31.15 68.862 30.118 70.627 29.109 72.392 28.078 74.063 27.022 75.642 25.99 77.244 24.946 78.555 23.89 79.577 20.888 82.549 17.686 84.023 14.285 84 10.884 83.977 7.658 82.444 4.609 79.403 1.56 76.385 0.023 73.193 0 69.826ZM20.618 38.308L29.133 46.701C29.86 47.398 30.188 48.187 30.118 49.069 30.048 49.951 29.625 50.799 28.851 51.612 28.171 52.309 27.034 53.11 25.439 54.015 23.844 54.92 22.037 55.931 20.02 57.045 18.026 58.159 16.044 59.355 14.074 60.632 12.104 61.909 10.427 63.232 9.043 64.602 7.425 66.181 6.615 67.887 6.615 69.721 6.638 71.555 7.471 73.297 9.113 74.945 10.778 76.57 12.525 77.383 14.355 77.383 16.208 77.406 17.945 76.617 19.563 75.015 20.97 73.645 22.307 71.985 23.574 70.035 24.864 68.085 26.072 66.122 27.198 64.149 28.324 62.152 29.344 60.377 30.259 58.821 31.197 57.242 32.007 56.116 32.687 55.443 33.508 54.654 34.364 54.235 35.255 54.189 36.146 54.119 36.956 54.444 37.683 55.164L46.127 63.557C46.971 64.416 47.804 64.404 48.625 63.522L51.299 60.875C52.12 60.039 52.132 59.216 51.334 58.403L25.79 33.154C25.415 32.759 25.016 32.574 24.594 32.597 24.172 32.597 23.762 32.794 23.363 33.189L20.618 35.836C19.774 36.649 19.774 37.472 20.618 38.308ZM11.294 72.855C10.473 72.042 10.063 71.068 10.063 69.93 10.063 68.792 10.473 67.818 11.294 67.005 12.115 66.192 13.101 65.786 14.25 65.786 15.399 65.786 16.384 66.192 17.205 67.005 18.026 67.818 18.437 68.792 18.437 69.93 18.437 71.068 18.026 72.042 17.205 72.855 16.384 73.668 15.399 74.074 14.25 74.074 13.101 74.074 12.115 73.668 11.294 72.855ZM56.257 54.603L54.309 52.669 68.012 38.552C68.669 37.902 68.997 37.182 68.997 36.393 68.997 35.604 68.633 34.849 67.906 34.129L41.764 8.289C41.412 7.941 41.048 7.754 40.673 7.731 40.321 7.708 39.993 7.825 39.688 8.08 39.407 8.312 39.196 8.695 39.055 9.229 38.211 12.294 37.495 14.917 36.909 17.099 36.323 19.281 35.712 21.244 35.079 22.985 34.446 24.726 33.636 26.444 32.651 28.139 31.689 29.811 31.369 29.906 31.369 29.906L28.992 27.547 26.531 25.828C27.258 24.69 28.147 22.962 28.64 21.871 29.133 20.757 29.578 19.514 29.977 18.144 30.399 16.751 30.845 15.079 31.314 13.129 31.783 11.156 32.358 8.718 33.038 5.816 33.39 4.307 34.023 3.088 34.938 2.159 35.853 1.207 36.909 0.569 38.105 0.244 39.325-0.081 40.556-0.081 41.799 0.244 43.042 0.546 44.168 1.184 45.177 2.159L72.832 29.567C74.92 31.657 75.975 33.85 75.998 36.149 76.045 38.447 75.049 40.607 73.008 42.627L58.083 56.603 56.257 54.603ZM50.455 37.786C52.425 35.836 54.138 33.7 55.592 31.378 57.07 29.056 57.973 26.352 58.301 23.264L66.041 30.89C65.15 32.004 63.93 33.142 62.382 34.303 60.834 35.441 59.216 36.463 57.527 37.368 55.862 38.25 54.36 38.878 53.023 39.249 51.709 39.62 50.818 39.573 50.349 39.109 49.927 38.714 49.962 38.274 50.455 37.786Z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(68.002 37.075) rotate(2.014)">
|
||||
<g transform="translate(-8 -8)">
|
||||
<path d="M8 0C8 4.418 4.418 8 0 8 4.418 8 8 11.582 8 16 8 11.582 11.582 8 16 8 11.582 8 8 4.418 8 0Z" fill="context-stroke" stroke="context-stroke" stroke-width="3" stroke-linejoin="round"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(85.002 50.174) rotate(2.014)">
|
||||
<g transform="translate(-12 -12)">
|
||||
<path d="M12 0C12 6.627 6.627 12 0 12 6.627 12 12 17.373 12 24 12 17.373 17.373 12 24 12 17.373 12 12 6.627 12 0Z" fill="context-stroke" stroke="context-stroke" stroke-width="3" stroke-linejoin="round"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
@@ -0,0 +1,36 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg class="zen-downloads-icon" width="28" height="28" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<style>
|
||||
@keyframes zenDownloadsArrowBounce {
|
||||
0% { transform: translateY(0px); d: path('M 64 45 L 64 83 M 50 69 L 64 83 L 78 69'); animation-timing-function: cubic-bezier(0.33, 0, 0.7, 1.28); }
|
||||
31.43% { transform: translateY(10px); d: path('M 64 57 L 64 83 M 50 69 L 64 83 L 78 69'); animation-timing-function: cubic-bezier(0.44, 0.2, 0.44, 0.98); }
|
||||
54.29% { transform: translateY(-10.83px); d: path('M 64 45 L 64 83 M 50 69 L 64 83 L 78 69'); animation-timing-function: cubic-bezier(0.45, -0.03, 0.83, 0.9); }
|
||||
85.71% { transform: translateY(0.66px); d: path('M 64 45 L 64 83 M 50 69 L 64 83 L 78 69'); animation-timing-function: cubic-bezier(0.17, -0.98, 0.83, 0.83); }
|
||||
100% { transform: translateY(0px); d: path('M 64 45 L 64 83 M 50 69 L 64 83 L 78 69'); }
|
||||
}
|
||||
@keyframes zenDownloadsCircleBounce {
|
||||
0% { transform: translateY(0px); animation-timing-function: cubic-bezier(0.33, 0, 0.71, 2.31); }
|
||||
31.43% { transform: translateY(2.5px); animation-timing-function: cubic-bezier(0.23, 0.15, 0.36, 0.97); }
|
||||
54.29% { transform: translateY(-11.46px); animation-timing-function: cubic-bezier(0.48, -0.04, 0.83, 0.89); }
|
||||
85.71% { transform: translateY(0.85px); animation-timing-function: cubic-bezier(0.17, -0.70, 0.83, 0.83); }
|
||||
100% { transform: translateY(0px); }
|
||||
}
|
||||
.zen-downloads-circle-translate { animation: zenDownloadsCircleBounce 0.583s forwards; }
|
||||
.zen-downloads-arrow { animation: zenDownloadsArrowBounce 0.583s forwards; }
|
||||
</style>
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" style="transform-origin: 64px 64px;">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
@@ -0,0 +1,511 @@
|
||||
<!-- 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/. -->
|
||||
<!-- Generated by scripts/generate-library-sprites.mjs. Do not edit;
|
||||
- regenerate from the library-*-active.svg sources instead. -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1008" height="28" fill="none">
|
||||
<svg x="0" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f0">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 0) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f0)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 0)"/>
|
||||
</svg>
|
||||
<svg x="28" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f1">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 0.131) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f1)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45.355 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 0.296)"/>
|
||||
</svg>
|
||||
<svg x="56" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f2">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 0.473) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f2)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 46.299 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 1.082)"/>
|
||||
</svg>
|
||||
<svg x="84" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f3">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 0.955) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f3)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 47.669 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 2.224)"/>
|
||||
</svg>
|
||||
<svg x="112" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f4">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 1.517) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f4)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 49.32 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 3.6)"/>
|
||||
</svg>
|
||||
<svg x="140" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f5">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 2.103) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f5)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 51.12 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 5.1)"/>
|
||||
</svg>
|
||||
<svg x="168" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f6">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 2.656) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f6)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 52.937 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 6.614)"/>
|
||||
</svg>
|
||||
<svg x="196" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f7">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 3.119) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f7)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 54.637 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 8.031)"/>
|
||||
</svg>
|
||||
<svg x="224" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f8">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 3.425) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f8)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 56.076 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 9.23)"/>
|
||||
</svg>
|
||||
<svg x="252" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f9">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 3.496) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f9)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 57.089 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 10.075)"/>
|
||||
</svg>
|
||||
<svg x="280" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f10">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 3.233) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f10)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 57.481 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 10.4)"/>
|
||||
</svg>
|
||||
<svg x="308" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f11">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 2.501) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f11)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 57.001 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 10)"/>
|
||||
</svg>
|
||||
<svg x="336" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f12">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 0.423) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f12)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 56.035 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 8.325)"/>
|
||||
</svg>
|
||||
<svg x="364" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f13">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -2.757) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f13)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 54.37 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 5.434)"/>
|
||||
</svg>
|
||||
<svg x="392" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f14">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -5.733) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f14)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 51.937 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 1.211)"/>
|
||||
</svg>
|
||||
<svg x="420" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f15">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -8.006) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f15)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 49.263 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -3.429)"/>
|
||||
</svg>
|
||||
<svg x="448" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f16">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -9.597) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f16)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 47.182 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -7.043)"/>
|
||||
</svg>
|
||||
<svg x="476" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f17">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -10.631) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f17)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45.895 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -9.277)"/>
|
||||
</svg>
|
||||
<svg x="504" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f18">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -11.223) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f18)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45.228 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -10.434)"/>
|
||||
</svg>
|
||||
<svg x="532" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f19">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -11.46) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f19)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -10.83)"/>
|
||||
</svg>
|
||||
<svg x="560" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f20">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -11.413) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f20)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -10.754)"/>
|
||||
</svg>
|
||||
<svg x="588" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f21">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -11.089) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f21)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -10.398)"/>
|
||||
</svg>
|
||||
<svg x="616" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f22">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -10.494) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f22)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -9.781)"/>
|
||||
</svg>
|
||||
<svg x="644" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f23">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -9.636) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f23)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -8.922)"/>
|
||||
</svg>
|
||||
<svg x="672" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f24">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -8.527) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f24)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -7.844)"/>
|
||||
</svg>
|
||||
<svg x="700" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f25">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -7.186) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f25)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -6.57)"/>
|
||||
</svg>
|
||||
<svg x="728" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f26">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -5.639) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f26)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -5.133)"/>
|
||||
</svg>
|
||||
<svg x="756" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f27">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -3.928) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f27)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -3.575)"/>
|
||||
</svg>
|
||||
<svg x="784" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f28">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -2.132) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f28)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -1.967)"/>
|
||||
</svg>
|
||||
<svg x="812" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f29">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 -0.407) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f29)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 -0.441)"/>
|
||||
</svg>
|
||||
<svg x="840" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f30">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 0.851) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f30)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 0.661)"/>
|
||||
</svg>
|
||||
<svg x="868" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f31">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 0.99) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f31)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 0.846)"/>
|
||||
</svg>
|
||||
<svg x="896" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f32">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 0.823) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f32)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 0.718)"/>
|
||||
</svg>
|
||||
<svg x="924" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f33">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 0.566) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f33)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 0.496)"/>
|
||||
</svg>
|
||||
<svg x="952" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f34">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 0.271) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f34)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 0.236)"/>
|
||||
</svg>
|
||||
<svg x="980" width="28" height="28" viewBox="0 0 128 128">
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-downloads-grad-front-f35">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-downloads-circle-translate" transform="translate(64 64) translate(0 0) translate(-64 -64)">
|
||||
<circle class="zen-downloads-bg" cx="64" cy="64" r="47.5" fill="context-fill" fill-opacity="1"/>
|
||||
<circle class="zen-downloads-gradient" cx="64" cy="64" r="47.5" fill="url(#zen-downloads-grad-front-f35)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<circle class="zen-downloads-border" cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path class="zen-downloads-arrow" d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round" transform="translate(0 0)"/>
|
||||
</svg>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 39 KiB |
@@ -0,0 +1,8 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg class="zen-downloads-icon" width="28" height="28" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="64" cy="64" r="47.5" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
<path d="M 64 45 L 64 83 M 50 69 L 64 83 L 78 69" stroke="context-stroke" stroke-width="7.1" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
@@ -0,0 +1,62 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg class="zen-history-icon" width="28" height="28" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<style>
|
||||
@keyframes zenHistoryBodyTranslate {
|
||||
0%, 31.43% { transform: translate(63.977px, 79.047px); animation-timing-function: cubic-bezier(0.16, 0.41, 0.34, 1); }
|
||||
60% { transform: translate(63.977px, 63.253px); animation-timing-function: cubic-bezier(0.33, 0, 0.62, 0.55); }
|
||||
77.14%, 100% { transform: translate(63.977px, 79.047px); }
|
||||
}
|
||||
@keyframes zenHistoryLid {
|
||||
0% { transform: translate(63.977px, 37.148px) rotate(0deg) translate(-46.852px, -12.82px); animation-timing-function: cubic-bezier(0.21, 0, 0.56, 1); }
|
||||
31.43% { transform: translate(63.977px, 51.609px) rotate(0deg) translate(-46.852px, -12.82px); animation-timing-function: cubic-bezier(0.38, 0, 0.55, 1); }
|
||||
62.86% { transform: translate(63.977px, 17.08px) rotate(-6.93deg) translate(-46.852px, -12.82px); animation-timing-function: cubic-bezier(0.43, 0.14, 0.38, 1); }
|
||||
82.86% { transform: translate(63.977px, 23.397px) rotate(4.2deg) translate(-46.852px, -12.82px); animation-timing-function: cubic-bezier(0.41, 0, 0.49, 1); }
|
||||
100% { transform: translate(63.977px, 37.148px) rotate(0deg) translate(-46.852px, -12.82px); }
|
||||
}
|
||||
@keyframes zenHistoryDashTranslate {
|
||||
0% { transform: translate(64px, 65px) scale(0.9, 1); animation-timing-function: cubic-bezier(0.33, 0, 0.7, 1.28); }
|
||||
31.43% { transform: translate(64px, 79.461px) scale(0.8, 1); animation-timing-function: cubic-bezier(0.44, 0.2, 0.44, 0.98); }
|
||||
54.29% { transform: translate(64px, 61.033px) scale(0.86, 1); animation-timing-function: cubic-bezier(0.45, -0.03, 0.83, 0.9); }
|
||||
85.71% { transform: translate(64px, 65.66px) scale(0.9, 1); animation-timing-function: cubic-bezier(0.22, -0.9, 0.25, 1.25); }
|
||||
100% { transform: translate(64px, 65px) scale(0.9, 1); }
|
||||
}
|
||||
.zen-history-body-translate { animation: zenHistoryBodyTranslate 0.583s forwards; }
|
||||
.zen-history-lid { animation: zenHistoryLid 0.583s forwards; }
|
||||
.zen-history-dash-translate { animation: zenHistoryDashTranslate 0.583s forwards; }
|
||||
</style>
|
||||
<defs>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="0" x2="64" y2="128" id="zen-history-grad-front">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-history-body-translate" style="transform-origin: 0 0; transform: translate(63.977px, 79.047px);">
|
||||
<g transform="translate(-39.867, -30.328)">
|
||||
<path class="zen-history-bg"
|
||||
d="M 3.55 0 L 76.184 0 L 76.184 46.856 A 10.25 10.25 0 0 1 65.934 57.106 L 13.8 57.106 A 10.25 10.25 0 0 1 3.55 46.856 Z"
|
||||
fill="context-fill" fill-opacity="1"/>
|
||||
<path class="zen-history-gradient"
|
||||
d="M 3.55 0 L 76.184 0 L 76.184 46.856 A 10.25 10.25 0 0 1 65.934 57.106 L 13.8 57.106 A 10.25 10.25 0 0 1 3.55 46.856 Z"
|
||||
fill="url(#zen-history-grad-front)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<path class="zen-history-border"
|
||||
d="M 3.55 0 L 76.184 0 L 76.184 46.856 A 10.25 10.25 0 0 1 65.934 57.106 L 13.8 57.106 A 10.25 10.25 0 0 1 3.55 46.856 Z"
|
||||
fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g class="zen-history-lid" style="transform-origin: 0 0; transform: translate(63.977px, 37.148px) rotate(0deg) translate(-46.852px, -12.82px);">
|
||||
<rect class="zen-history-bg" x="3.55" y="3.55" width="86.603" height="18.541" rx="6.05"
|
||||
fill="context-fill" fill-opacity="1"/>
|
||||
<rect class="zen-history-gradient" x="3.55" y="3.55" width="86.603" height="18.541" rx="6.05"
|
||||
fill="url(#zen-history-grad-front)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<rect class="zen-history-border" x="3.55" y="3.55" width="86.603" height="18.541" rx="6.05"
|
||||
fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<g class="zen-history-dash-translate" style="transform-origin: 0 0; transform: translate(64px, 65px) scale(0.9, 1);">
|
||||
<path class="zen-history-dash-path" fill="none"
|
||||
d="M -16 0 L 16 0"
|
||||
stroke="context-stroke" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</g>
|
||||
</svg>
|
||||
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 79 KiB |
@@ -0,0 +1,14 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg class="zen-history-icon" width="28" height="28" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="translate(63.977, 79.047)">
|
||||
<path d="M -36.317 -30.328 L 36.317 -30.328 L 36.317 16.528 A 10.25 10.25 0 0 1 26.067 26.778 L -26.067 26.778 A 10.25 10.25 0 0 1 -36.317 16.528 Z"
|
||||
fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<g transform="translate(17.125, 24.328)">
|
||||
<rect x="3.55" y="3.55" width="86.603" height="18.541" rx="6.05" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<path d="M 49.6 65 L 78.4 65" fill="none" stroke="context-stroke" stroke-width="8" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
@@ -0,0 +1,74 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg class="zen-media-icon" width="28" height="28" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<style>
|
||||
@keyframes zenMediaBackBounce {
|
||||
0% { transform: translate(54.799px, 57.743px) rotate(-7deg) translate(-46.27px, -36.445px); animation-timing-function: cubic-bezier(0.33, 0, 0.67, 1); }
|
||||
24.41% { transform: translate(57.299px, 65.243px) rotate(3deg) translate(-46.27px, -36.445px); animation-timing-function: cubic-bezier(0.3, 0, 0.8, 1); }
|
||||
43.67% { transform: translate(56.16px, 47.803px) rotate(-18.58deg) translate(-46.27px, -36.445px); animation-timing-function: cubic-bezier(0.16, 0, 0.8, 1); }
|
||||
78.21% { transform: translate(55.25px, 54.3px) rotate(-3.2deg) translate(-46.27px, -36.445px); animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); }
|
||||
100% { transform: translate(54.799px, 57.743px) rotate(-7deg) translate(-46.27px, -36.445px); }
|
||||
}
|
||||
@keyframes zenMediaFrontBounce {
|
||||
0% { transform: translate(78.827px, 77.737px) rotate(0deg) translate(-46.27px, -36.445px); animation-timing-function: cubic-bezier(0.33, 0, 0.67, 1); }
|
||||
24.41% { transform: translate(78.827px, 80.737px) rotate(0deg) translate(-46.27px, -36.445px); animation-timing-function: cubic-bezier(0.4, 0, 0.64, 1); }
|
||||
55.88% { transform: translate(75.827px, 62.61px) rotate(9.32deg) translate(-46.27px, -36.445px); animation-timing-function: cubic-bezier(0.25, 0, 0.75, 1); }
|
||||
88.24% { transform: translate(78.827px, 77.737px) rotate(0deg) translate(-46.27px, -36.445px); animation-timing-function: linear; }
|
||||
100% { transform: translate(78.827px, 77.737px) rotate(0deg) translate(-46.27px, -36.445px); }
|
||||
}
|
||||
@keyframes zenMediaSunBounce {
|
||||
0% { transform: translate(64.76px, 67.886px) translate(-9.914px, -9.984px); animation-timing-function: cubic-bezier(0.32, 0, 0.67, 1); }
|
||||
24.41% { transform: translate(64.76px, 73.606px) translate(-9.914px, -9.984px); animation-timing-function: linear; }
|
||||
35.29% { transform: translate(64.76px, 73.606px) translate(-9.914px, -9.984px); animation-timing-function: cubic-bezier(0.35, 0, 0.76, 0.72); }
|
||||
55.88% { transform: translate(61.737px, 51.974px) translate(-9.914px, -9.984px); animation-timing-function: cubic-bezier(0.21, -0.71, 0.45, 1); }
|
||||
100% { transform: translate(64.76px, 67.886px) translate(-9.914px, -9.984px); }
|
||||
}
|
||||
.zen-media-back-card { animation: zenMediaBackBounce 0.583s forwards; }
|
||||
.zen-media-front-card { animation: zenMediaFrontBounce 0.583s forwards; }
|
||||
.zen-media-sun { animation: zenMediaSunBounce 0.583s forwards; }
|
||||
</style>
|
||||
<defs>
|
||||
<mask id="zen-media-mask">
|
||||
<rect x="-10" y="-10" width="148" height="148" fill="white"/>
|
||||
<g class="zen-media-front-card-mask" transform="translate(78.827, 77.737) translate(-46.27, -36.445)">
|
||||
<rect x="0" y="0" width="92.539" height="72.891" rx="12.812" fill="black"/>
|
||||
</g>
|
||||
</mask>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="0" x2="64" y2="128" id="zen-media-grad-back">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="0" x2="64" y2="128" id="zen-media-grad-front">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-media-back-wrapper" mask="url(#zen-media-mask)">
|
||||
<g class="zen-media-back-card" transform="translate(54.799, 57.743) rotate(-7) translate(-46.27, -36.445)">
|
||||
<rect class="zen-media-bg" x="3.55" y="3.55" width="85.439" height="65.791" rx="9.262"
|
||||
fill="context-fill" fill-opacity="1"/>
|
||||
<rect class="zen-media-gradient" x="3.55" y="3.55" width="85.439" height="65.791" rx="9.262"
|
||||
fill="url(#zen-media-grad-back)" fill-opacity="1" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<rect class="zen-media-border" x="3.55" y="3.55" width="85.439" height="65.791" rx="9.262"
|
||||
fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g class="zen-media-front-card" transform="translate(78.827, 77.737) translate(-46.27, -36.445)">
|
||||
<rect class="zen-media-bg" x="3.55" y="3.55" width="85.439" height="65.791" rx="9.262"
|
||||
fill="context-fill" fill-opacity="1"/>
|
||||
<rect class="zen-media-gradient" x="3.55" y="3.55" width="85.439" height="65.791" rx="9.262"
|
||||
fill="url(#zen-media-grad-front)" fill-opacity="1" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<g class="zen-media-mountain" transform="translate(0.289, 32.609)">
|
||||
<path class="zen-media-mountain-path" d="M7.432 21.147 L17.865 12.11 C19.665 10.596 21.373 9.862 23.173 9.862 C25.158 9.862 27.005 10.596 28.805 12.202 L36.191 18.853 L54.84 2.431 C56.779 0.734 58.81 0 61.072 0 C63.334 0 65.55 0.826 67.35 2.477 L84.568 18.67 L92 25.78 C92 35.23 87.153 40 77.551 40 L14.495 40 C4.801 40 0 35.275 0 25.78 Z"
|
||||
fill="context-stroke"/>
|
||||
</g>
|
||||
<rect class="zen-media-border" x="3.55" y="3.55" width="85.439" height="65.791" rx="9.262"
|
||||
fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
<g class="zen-media-sun" transform="translate(64.76, 67.886) translate(-9.914, -9.984)">
|
||||
<circle class="zen-media-sun-path" cx="9.914" cy="9.984" r="9.914"
|
||||
fill="context-stroke"/>
|
||||
</g>
|
||||
</svg>
|
||||
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 108 KiB |
@@ -0,0 +1,22 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg class="zen-media-icon" width="28" height="28" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<mask id="zen-media-mask-inactive">
|
||||
<rect x="-10" y="-10" width="148" height="148" fill="white"/>
|
||||
<g transform="translate(78.827, 77.737) translate(-46.27, -36.445)">
|
||||
<rect x="0" y="0" width="92.539" height="72.891" rx="12.812" fill="black"/>
|
||||
</g>
|
||||
</mask>
|
||||
</defs>
|
||||
<g mask="url(#zen-media-mask-inactive)">
|
||||
<g transform="translate(54.799, 57.743) rotate(-7) translate(-46.27, -36.445)">
|
||||
<rect x="3.55" y="3.55" width="85.439" height="65.791" rx="9.262" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(78.827, 77.737) translate(-46.27, -36.445)">
|
||||
<rect x="3.55" y="3.55" width="85.439" height="65.791" rx="9.262" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
</svg>
|
||||
@@ -0,0 +1,56 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg class="zen-spaces-icon" width="28" height="28" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<style>
|
||||
@keyframes zenSpacesBackBounce {
|
||||
0% { transform: translate(51.28px, 61.69px) rotate(-17.5deg) translate(-35.022px, -44.68px); animation-timing-function: cubic-bezier(0.21, 0, 0.56, 1); }
|
||||
34.28% { transform: translate(56.28px, 72.19px) rotate(6deg) translate(-35.022px, -44.68px); animation-timing-function: cubic-bezier(0.38, 0, 0.55, 1); }
|
||||
62.86% { transform: translate(51.28px, 55.52px) rotate(-27.83deg) translate(-35.022px, -44.68px); animation-timing-function: cubic-bezier(0.73, 0, 0.63, 1); }
|
||||
100% { transform: translate(51.28px, 61.69px) rotate(-17.5deg) translate(-35.022px, -44.68px); }
|
||||
}
|
||||
@keyframes zenSpacesFrontBounce {
|
||||
0% { transform: translate(77.02px, 75.93px) rotate(0deg) translate(-35.022px, -44.68px); animation-timing-function: cubic-bezier(0.21, 0, 0.56, 1); }
|
||||
31.43% { transform: translate(77.02px, 78.18px) rotate(-5deg) translate(-35.022px, -44.68px); animation-timing-function: cubic-bezier(0.38, 0, 0.55, 1); }
|
||||
54.28% { transform: translate(77.02px, 55.71px) rotate(28.96deg) translate(-35.022px, -44.68px); animation-timing-function: cubic-bezier(0.73, 0, 0.63, 1); }
|
||||
100% { transform: translate(77.02px, 75.93px) rotate(0deg) translate(-35.022px, -44.68px); }
|
||||
}
|
||||
.zen-spaces-back-card { animation: zenSpacesBackBounce 0.583s forwards; }
|
||||
.zen-spaces-front-card { animation: zenSpacesFrontBounce 0.583s forwards; }
|
||||
</style>
|
||||
<defs>
|
||||
<mask id="zen-spaces-mask">
|
||||
<rect x="-10" y="-10" width="148" height="148" fill="white"/>
|
||||
<g class="zen-spaces-front-card" style="transform-origin: 0 0; transform: translate(77.02px, 75.93px) rotate(0deg) translate(-35.022px, -44.68px);">
|
||||
<rect x="0" y="0" width="70.04" height="89.36" rx="14" fill="black"/>
|
||||
</g>
|
||||
</mask>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-spaces-grad-back">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
<linearGradient gradientUnits="userSpaceOnUse" x1="64" y1="20" x2="64" y2="148" id="zen-spaces-grad-front">
|
||||
<stop offset="0" stop-color="context-fill"/>
|
||||
<stop offset="1" stop-color="context-stroke"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g class="zen-spaces-back-wrapper" mask="url(#zen-spaces-mask)">
|
||||
<g class="zen-spaces-back-card" style="transform-origin: 0 0; transform: translate(51.28px, 61.69px) rotate(-17.5deg) translate(-35.022px, -44.68px);">
|
||||
<rect class="zen-spaces-bg" x="3.55" y="3.55" width="62.94" height="82.26" rx="10.45"
|
||||
fill="context-fill" fill-opacity="1"/>
|
||||
<rect class="zen-spaces-gradient" x="3.55" y="3.55" width="62.94" height="82.26" rx="10.45"
|
||||
fill="url(#zen-spaces-grad-back)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<rect class="zen-spaces-border" x="3.55" y="3.55" width="62.94" height="82.26" rx="10.45"
|
||||
fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g class="zen-spaces-front-card" style="transform-origin: 0 0; transform: translate(77.02px, 75.93px) rotate(0deg) translate(-35.022px, -44.68px);">
|
||||
<rect class="zen-spaces-bg" x="3.55" y="3.55" width="62.94" height="82.26" rx="10.45"
|
||||
fill="context-fill" fill-opacity="1"/>
|
||||
<rect class="zen-spaces-gradient" x="3.55" y="3.55" width="62.94" height="82.26" rx="10.45"
|
||||
fill="url(#zen-spaces-grad-front)" style="mix-blend-mode: overlay; opacity: 0.1;"/>
|
||||
<rect class="zen-spaces-border" x="3.55" y="3.55" width="62.94" height="82.26" rx="10.45"
|
||||
fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
</svg>
|
||||
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 83 KiB |
@@ -0,0 +1,22 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg class="zen-spaces-icon" width="28" height="28" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<mask id="zen-spaces-mask-inactive">
|
||||
<rect x="-10" y="-10" width="148" height="148" fill="white"/>
|
||||
<g style="transform-origin: 0 0; transform: translate(77.02px, 75.93px) translate(-35.022px, -44.68px);">
|
||||
<rect x="0" y="0" width="70.04" height="89.36" rx="14" fill="black"/>
|
||||
</g>
|
||||
</mask>
|
||||
</defs>
|
||||
<g mask="url(#zen-spaces-mask-inactive)">
|
||||
<g style="transform-origin: 0 0; transform: translate(51.28px, 61.69px) rotate(-17.5deg) translate(-35.022px, -44.68px);">
|
||||
<rect x="3.55" y="3.55" width="62.94" height="82.26" rx="10.45" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g style="transform-origin: 0 0; transform: translate(77.02px, 75.93px) translate(-35.022px, -44.68px);">
|
||||
<rect x="3.55" y="3.55" width="62.94" height="82.26" rx="10.45" fill="none" stroke="context-stroke" stroke-width="7.1"/>
|
||||
</g>
|
||||
</svg>
|
||||
@@ -0,0 +1,68 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg class="zen-library-icon" width="18" height="18" viewBox="4 4 18 18" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg">
|
||||
<style>
|
||||
@property --zen-triangle-anim { syntax: '<number>'; initial-value: 1; inherits: false; }
|
||||
@property --zen-circle-anim { syntax: '<number>'; initial-value: 1; inherits: false; }
|
||||
@keyframes StarBackward {
|
||||
0% { transform: rotate(120deg); }
|
||||
100% { transform: rotate(0deg); }
|
||||
}
|
||||
@keyframes TriangleBackward {
|
||||
0% { --zen-triangle-anim: 1; }
|
||||
100% { --zen-triangle-anim: 0; }
|
||||
}
|
||||
@keyframes CircleBackward {
|
||||
0% { --zen-circle-anim: 1; }
|
||||
100% { --zen-circle-anim: 0; }
|
||||
}
|
||||
@keyframes GlowBackward {
|
||||
0% { opacity: 0.4; }
|
||||
100% { opacity: 0; }
|
||||
}
|
||||
@keyframes GlowElementsBackward {
|
||||
0% { opacity: 0.5; }
|
||||
100% { opacity: 0; }
|
||||
}
|
||||
.zen-library-star { transform-origin: 10px 10.2px; animation: StarBackward 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
|
||||
.zen-library-triangle-group { transform-origin: 17px 9.2px; animation: TriangleBackward 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; transform: translate(calc(var(--zen-triangle-anim) * 2px), 0px) rotate(calc(var(--zen-triangle-anim) * 365deg)) scale(max(1 - var(--zen-triangle-anim) / 0.65, (var(--zen-triangle-anim) - 0.65) / 0.35)); }
|
||||
.zen-library-circle { transform-origin: 0px 0px; animation: CircleBackward 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; transform: translate(calc(var(--zen-circle-anim) * 1px), calc(var(--zen-circle-anim) * -1.5px)) scale(max(0, max((var(--zen-circle-anim) - 0.75) / 0.25, min(1, 1 - (var(--zen-circle-anim) - 0.3) / 0.35)))); }
|
||||
.zen-library-glow { filter: blur(2px); animation: GlowBackward 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
|
||||
.zen-library-glow-element { filter: blur(2px); animation: GlowElementsBackward 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; }
|
||||
.zen-library-glow-bg, .zen-library-glow-element { fill: transparent !important; stroke: none !important; }
|
||||
.zen-library-glow-rays { stroke: transparent !important; fill: none !important; }
|
||||
@media (prefers-color-scheme: dark) {
|
||||
.zen-library-glow-bg, .zen-library-glow-element { fill: white !important; }
|
||||
.zen-library-glow-rays { stroke: white !important; }
|
||||
}
|
||||
</style>
|
||||
<defs>
|
||||
<mask id="zen-library-box-mask">
|
||||
<rect x="-10" y="-10" width="40" height="40" fill="white"/>
|
||||
<rect x="-10" y="11.635" width="40" height="40" fill="black"/>
|
||||
</mask>
|
||||
</defs>
|
||||
<g fill-rule="evenodd">
|
||||
<g mask="url(#zen-library-box-mask)">
|
||||
<path class="zen-library-star zen-library-glow-element" d="M 7.773 11.635 C 8.136 11.863 8.24 12.075 8.218 12.294 L 8.036 14.082 C 7.984 14.598 8.584 14.917 8.982 14.585 L 10.362 13.432 C 10.53 13.291 10.764 13.258 10.966 13.347 L 12.61 14.072 C 13.085 14.281 13.574 13.808 13.38 13.327 L 12.701 11.635 C 12.632 11.437 12.675 11.216 12.816 11.058 L 14.014 9.718 C 14.36 9.331 14.061 8.72 13.544 8.756 L 11.75 8.877 C 11.531 8.892 11.322 8.781 11.211 8.591 L 10.307 7.038 C 10.046 6.59 9.373 6.685 9.247 7.188 L 8.808 8.931 C 8.754 9.144 8.585 9.309 8.37 9.355 L 6.613 9.735 C 6.106 9.845 5.988 10.514 6.427 10.79 L 7.773 11.635 Z"/>
|
||||
<path class="zen-library-star" d="M 7.773 11.635 C 8.136 11.863 8.24 12.075 8.218 12.294 L 8.036 14.082 C 7.984 14.598 8.584 14.917 8.982 14.585 L 10.362 13.432 C 10.53 13.291 10.764 13.258 10.966 13.347 L 12.61 14.072 C 13.085 14.281 13.574 13.808 13.38 13.327 L 12.701 11.635 C 12.632 11.437 12.675 11.216 12.816 11.058 L 14.014 9.718 C 14.36 9.331 14.061 8.72 13.544 8.756 L 11.75 8.877 C 11.531 8.892 11.322 8.781 11.211 8.591 L 10.307 7.038 C 10.046 6.59 9.373 6.685 9.247 7.188 L 8.808 8.931 C 8.754 9.144 8.585 9.309 8.37 9.355 L 6.613 9.735 C 6.106 9.845 5.988 10.514 6.427 10.79 L 7.773 11.635 Z"/>
|
||||
</g>
|
||||
<g transform="translate(14, 6.2)">
|
||||
<circle class="zen-library-circle zen-library-glow-element" cx="0" cy="0" r="1.4"/>
|
||||
<circle class="zen-library-circle" cx="0" cy="0" r="1"/>
|
||||
</g>
|
||||
<g class="zen-library-triangle-group">
|
||||
<g transform="translate(17, 9.2)">
|
||||
<path class="zen-library-triangle zen-library-glow-element" d="M -1.1 1.8 C -1.4 2.0, -1.7 1.8, -1.7 1.5 L -1.7 -1.5 C -1.7 -1.8, -1.4 -2.0, -1.1 -1.8 L 1.4 -0.4 C 1.7 -0.2, 1.7 0.2, 1.4 0.4 Z"/>
|
||||
<path class="zen-library-triangle" d="M -1.1 1.8 C -1.4 2.0, -1.7 1.8, -1.7 1.5 L -1.7 -1.5 C -1.7 -1.8, -1.4 -2.0, -1.1 -1.8 L 1.4 -0.4 C 1.7 -0.2, 1.7 0.2, 1.4 0.4 Z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g class="zen-library-glow">
|
||||
<path class="zen-library-glow-bg" d="M 6.6 6.6 L 8.04 12.7 L 17.96 12.7 L 19.4 6.6 Z"/>
|
||||
<path class="zen-library-glow-rays" d="M 6.1 6.6 L 8.04 12.7 L 17.96 12.7 L 19.9 6.6"/>
|
||||
</g>
|
||||
<path class="zen-library-box" d="M 7.218 13.287 C 7.218 12.831 7.588 12.461 8.044 12.461 H 17.957 C 18.414 12.461 18.783 12.831 18.783 13.287 V 17.418 C 18.783 19.243 17.304 20.722 15.479 20.722 H 10.523 C 8.698 20.722 7.218 19.243 7.218 17.418 V 13.287 Z M 10.609 14.526 C 10.609 14.07 10.979 13.7 11.435 13.7 H 14.739 C 15.196 13.7 15.565 14.07 15.565 14.526 C 15.565 14.982 15.196 15.352 14.739 15.352 H 11.435 C 10.979 15.352 10.609 14.982 10.609 14.526 Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
@@ -309,7 +309,8 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
#library-button {
|
||||
#library-button,
|
||||
#zen-library-button {
|
||||
list-style-image: url("library.svg") !important;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
* skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/nucleo/autoplay-media-fill.svg)
|
||||
* skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/nucleo/autoplay-media.svg)
|
||||
* skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/nucleo/back.svg)
|
||||
* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg)
|
||||
* skin/classic/browser/zen-icons/block.svg (../shared/zen-icons/nucleo/block.svg)
|
||||
* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg)
|
||||
* skin/classic/browser/zen-icons/bolt.svg (../shared/zen-icons/nucleo/bolt.svg)
|
||||
* skin/classic/browser/zen-icons/bookmark-hollow.svg (../shared/zen-icons/nucleo/bookmark-hollow.svg)
|
||||
* skin/classic/browser/zen-icons/bookmark-star-on-tray.svg (../shared/zen-icons/nucleo/bookmark-star-on-tray.svg)
|
||||
@@ -104,26 +104,26 @@
|
||||
* skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/nucleo/popup-fill.svg)
|
||||
* skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/nucleo/popup.svg)
|
||||
* skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/nucleo/print.svg)
|
||||
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg)
|
||||
* skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/nucleo/private-window.svg)
|
||||
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg)
|
||||
* skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/nucleo/reader-mode.svg)
|
||||
* skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/nucleo/reload.svg)
|
||||
* skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/nucleo/save.svg)
|
||||
* skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/nucleo/screen-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg)
|
||||
* skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/nucleo/screen.svg)
|
||||
* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg)
|
||||
* skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/nucleo/search-glass.svg)
|
||||
* skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/nucleo/search-page.svg)
|
||||
* skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/nucleo/security-broken.svg)
|
||||
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg)
|
||||
* skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/nucleo/security-warning.svg)
|
||||
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg)
|
||||
* skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/nucleo/send-to-device.svg)
|
||||
* skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/nucleo/settings-fill.svg)
|
||||
* skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/nucleo/settings.svg)
|
||||
* skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/nucleo/share.svg)
|
||||
* skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/nucleo/sidebar-right.svg)
|
||||
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg)
|
||||
* skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/nucleo/sidebar.svg)
|
||||
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg)
|
||||
* skin/classic/browser/zen-icons/sliders.svg (../shared/zen-icons/nucleo/sliders.svg)
|
||||
* skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/nucleo/sparkles.svg)
|
||||
* skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/nucleo/spell-check.svg)
|
||||
@@ -164,8 +164,8 @@
|
||||
* skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/nucleo/autoplay-media-fill.svg)
|
||||
* skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/nucleo/autoplay-media.svg)
|
||||
* skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/nucleo/back.svg)
|
||||
* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg)
|
||||
* skin/classic/browser/zen-icons/block.svg (../shared/zen-icons/nucleo/block.svg)
|
||||
* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg)
|
||||
* skin/classic/browser/zen-icons/bolt.svg (../shared/zen-icons/nucleo/bolt.svg)
|
||||
* skin/classic/browser/zen-icons/bookmark-hollow.svg (../shared/zen-icons/nucleo/bookmark-hollow.svg)
|
||||
* skin/classic/browser/zen-icons/bookmark-star-on-tray.svg (../shared/zen-icons/nucleo/bookmark-star-on-tray.svg)
|
||||
@@ -254,26 +254,26 @@
|
||||
* skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/nucleo/popup-fill.svg)
|
||||
* skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/nucleo/popup.svg)
|
||||
* skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/nucleo/print.svg)
|
||||
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg)
|
||||
* skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/nucleo/private-window.svg)
|
||||
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg)
|
||||
* skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/nucleo/reader-mode.svg)
|
||||
* skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/nucleo/reload.svg)
|
||||
* skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/nucleo/save.svg)
|
||||
* skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/nucleo/screen-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg)
|
||||
* skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/nucleo/screen.svg)
|
||||
* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg)
|
||||
* skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/nucleo/search-glass.svg)
|
||||
* skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/nucleo/search-page.svg)
|
||||
* skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/nucleo/security-broken.svg)
|
||||
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg)
|
||||
* skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/nucleo/security-warning.svg)
|
||||
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg)
|
||||
* skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/nucleo/send-to-device.svg)
|
||||
* skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/nucleo/settings-fill.svg)
|
||||
* skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/nucleo/settings.svg)
|
||||
* skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/nucleo/share.svg)
|
||||
* skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/nucleo/sidebar-right.svg)
|
||||
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg)
|
||||
* skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/nucleo/sidebar.svg)
|
||||
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg)
|
||||
* skin/classic/browser/zen-icons/sliders.svg (../shared/zen-icons/nucleo/sliders.svg)
|
||||
* skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/nucleo/sparkles.svg)
|
||||
* skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/nucleo/spell-check.svg)
|
||||
@@ -314,8 +314,8 @@
|
||||
* skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/nucleo/autoplay-media-fill.svg)
|
||||
* skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/nucleo/autoplay-media.svg)
|
||||
* skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/nucleo/back.svg)
|
||||
* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg)
|
||||
* skin/classic/browser/zen-icons/block.svg (../shared/zen-icons/nucleo/block.svg)
|
||||
* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg)
|
||||
* skin/classic/browser/zen-icons/bolt.svg (../shared/zen-icons/nucleo/bolt.svg)
|
||||
* skin/classic/browser/zen-icons/bookmark-hollow.svg (../shared/zen-icons/nucleo/bookmark-hollow.svg)
|
||||
* skin/classic/browser/zen-icons/bookmark-star-on-tray.svg (../shared/zen-icons/nucleo/bookmark-star-on-tray.svg)
|
||||
@@ -404,26 +404,26 @@
|
||||
* skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/nucleo/popup-fill.svg)
|
||||
* skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/nucleo/popup.svg)
|
||||
* skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/nucleo/print.svg)
|
||||
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg)
|
||||
* skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/nucleo/private-window.svg)
|
||||
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg)
|
||||
* skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/nucleo/reader-mode.svg)
|
||||
* skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/nucleo/reload.svg)
|
||||
* skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/nucleo/save.svg)
|
||||
* skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/nucleo/screen-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg)
|
||||
* skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/nucleo/screen.svg)
|
||||
* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg)
|
||||
* skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/nucleo/search-glass.svg)
|
||||
* skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/nucleo/search-page.svg)
|
||||
* skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/nucleo/security-broken.svg)
|
||||
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg)
|
||||
* skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/nucleo/security-warning.svg)
|
||||
* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg)
|
||||
* skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/nucleo/send-to-device.svg)
|
||||
* skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/nucleo/settings-fill.svg)
|
||||
* skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/nucleo/settings.svg)
|
||||
* skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/nucleo/share.svg)
|
||||
* skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/nucleo/sidebar-right.svg)
|
||||
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg)
|
||||
* skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/nucleo/sidebar.svg)
|
||||
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg)
|
||||
* skin/classic/browser/zen-icons/sliders.svg (../shared/zen-icons/nucleo/sliders.svg)
|
||||
* skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/nucleo/sparkles.svg)
|
||||
* skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/nucleo/spell-check.svg)
|
||||
@@ -453,14 +453,19 @@
|
||||
* skin/classic/browser/zen-icons/zoom-out.svg (../shared/zen-icons/nucleo/zoom-out.svg)
|
||||
#endif
|
||||
* skin/classic/browser/zen-icons/urlbar-arrow.svg (../shared/zen-icons/common/urlbar-arrow.svg)
|
||||
skin/classic/browser/zen-icons/library/library-boosts-sprite.svg (../shared/zen-icons/common/library/library-boosts-sprite.svg)
|
||||
skin/classic/browser/zen-icons/library/library-downloads-sprite.svg (../shared/zen-icons/common/library/library-downloads-sprite.svg)
|
||||
skin/classic/browser/zen-icons/library/library-history-sprite.svg (../shared/zen-icons/common/library/library-history-sprite.svg)
|
||||
skin/classic/browser/zen-icons/library/library-media-sprite.svg (../shared/zen-icons/common/library/library-media-sprite.svg)
|
||||
skin/classic/browser/zen-icons/library/library-spaces-sprite.svg (../shared/zen-icons/common/library/library-spaces-sprite.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/airplane.svg (../shared/zen-icons/common/selectable/airplane.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/american-football.svg (../shared/zen-icons/common/selectable/american-football.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/baseball.svg (../shared/zen-icons/common/selectable/baseball.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/basket.svg (../shared/zen-icons/common/selectable/basket.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/bed.svg (../shared/zen-icons/common/selectable/bed.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/bell.svg (../shared/zen-icons/common/selectable/bell.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/bookmark.svg (../shared/zen-icons/common/selectable/bookmark.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/book.svg (../shared/zen-icons/common/selectable/book.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/bookmark.svg (../shared/zen-icons/common/selectable/bookmark.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/briefcase.svg (../shared/zen-icons/common/selectable/briefcase.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/brush.svg (../shared/zen-icons/common/selectable/brush.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/bug.svg (../shared/zen-icons/common/selectable/bug.svg)
|
||||
@@ -522,8 +527,8 @@
|
||||
* skin/classic/browser/zen-icons/selectable/shapes.svg (../shared/zen-icons/common/selectable/shapes.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/shirt.svg (../shared/zen-icons/common/selectable/shirt.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/skull.svg (../shared/zen-icons/common/selectable/skull.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/squares.svg (../shared/zen-icons/common/selectable/squares.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/square.svg (../shared/zen-icons/common/selectable/square.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/squares.svg (../shared/zen-icons/common/selectable/squares.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/star-1.svg (../shared/zen-icons/common/selectable/star-1.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/star.svg (../shared/zen-icons/common/selectable/star.svg)
|
||||
* skin/classic/browser/zen-icons/selectable/stats-chart.svg (../shared/zen-icons/common/selectable/stats-chart.svg)
|
||||
|
||||
@@ -53,12 +53,15 @@ do_common_icons() {
|
||||
echo "Working on $filename"
|
||||
echo "* skin/classic/browser/zen-icons/$filename (../shared/zen-icons/common/$filename) " >> jar.inc.mn
|
||||
done
|
||||
for filename in common/selectable/*.svg; do
|
||||
# remove the os/ prefix
|
||||
add_header_to_file $filename
|
||||
filename=$(basename $filename)
|
||||
echo "Working on $filename"
|
||||
echo "* skin/classic/browser/zen-icons/selectable/$filename (../shared/zen-icons/common/selectable/$filename) " >> jar.inc.mn
|
||||
# go through all subdirectories of common and do the same
|
||||
for dir in common/*/; do
|
||||
display_dir=$(basename $dir)
|
||||
for filename in $dir/*.svg; do
|
||||
add_header_to_file $filename
|
||||
filename=$(basename $filename)
|
||||
echo "Working on $filename"
|
||||
echo "* skin/classic/browser/zen-icons/$display_dir/$filename (../shared/zen-icons/common/$display_dir/$filename) " >> jar.inc.mn
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/docshell/base/BrowsingContext.h b/docshell/base/BrowsingContext.h
|
||||
index 6f7f58bba3be6f08b3b27e81f30864c61d683351..2516126365ee9e1c07e245a873efe5f48767aff7 100644
|
||||
index 02abb6ab9562a7b41f4a95a6289c80da8d1176e8..1722802021f331338fc10c768301a953e582b711 100644
|
||||
--- a/docshell/base/BrowsingContext.h
|
||||
+++ b/docshell/base/BrowsingContext.h
|
||||
@@ -265,6 +265,9 @@ struct EmbedderColorSchemes {
|
||||
@@ -24,23 +24,13 @@ index 6f7f58bba3be6f08b3b27e81f30864c61d683351..2516126365ee9e1c07e245a873efe5f4
|
||||
float FullZoom() const { return GetFullZoom(); }
|
||||
float TextZoom() const { return GetTextZoom(); }
|
||||
|
||||
@@ -1290,6 +1298,19 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache {
|
||||
@@ -1275,6 +1283,9 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache {
|
||||
}
|
||||
|
||||
void DidSet(FieldIndex<IDX_SessionStoreEpoch>, uint32_t aOldValue);
|
||||
+ void DidSet(FieldIndex<IDX_ZenBoostsData>, nscolor aOldValue);
|
||||
+ void DidSet(FieldIndex<IDX_ZenBoostsComplementaryRotation>, float aOldValue);
|
||||
+ void DidSet(FieldIndex<IDX_IsZenBoostsInverted>, bool aOldValue);
|
||||
+ bool CanSet(FieldIndex<IDX_ZenBoostsData>, const nscolor&, ContentParent*) {
|
||||
+ return true;
|
||||
+ }
|
||||
+ bool CanSet(FieldIndex<IDX_ZenBoostsComplementaryRotation>, const float&,
|
||||
+ ContentParent*) {
|
||||
+ return true;
|
||||
+ }
|
||||
+ bool CanSet(FieldIndex<IDX_IsZenBoostsInverted>, const bool&, ContentParent*) {
|
||||
+ return true;
|
||||
+ }
|
||||
|
||||
// Ensure that opener is in the same BrowsingContextGroup.
|
||||
bool CanSet(FieldIndex<IDX_OpenerId>, const uint64_t& aValue,
|
||||
using CanSetResult = syncedcontext::CanSetResult;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp
|
||||
index 73eb08f648d55121a0cd96cd808f932fb14bfee6..efa99861a5da12ad8d0daa2c0eb1473c57810397 100644
|
||||
index 328b7524810322561700347fa7f26403897635a8..58d33d68e050d11ea712413ad5c2170a112e404a 100644
|
||||
--- a/dom/base/Document.cpp
|
||||
+++ b/dom/base/Document.cpp
|
||||
@@ -471,6 +471,7 @@
|
||||
@@ -467,6 +467,7 @@
|
||||
#include "prtime.h"
|
||||
#include "prtypes.h"
|
||||
#include "xpcpublic.h"
|
||||
@@ -10,15 +10,14 @@ index 73eb08f648d55121a0cd96cd808f932fb14bfee6..efa99861a5da12ad8d0daa2c0eb1473c
|
||||
|
||||
// clang-format off
|
||||
#include "mozilla/Encoding.h"
|
||||
@@ -3164,6 +3165,11 @@ void Document::FillStyleSetUserAndUASheets() {
|
||||
}
|
||||
};
|
||||
|
||||
+ if (IsInChromeDocShell()) {
|
||||
@@ -3198,6 +3199,10 @@ void Document::FillStyleSetUserAndUASheets() {
|
||||
for (StyleSheet* sheet : *sheetService->UserStyleSheets()) {
|
||||
styleSet.AppendStyleSheet(*sheet);
|
||||
}
|
||||
+ if (auto sheet = zen::ZenStyleSheetCache::Singleton()->GetModsSheet(); sheet && IsInChromeDocShell()) {
|
||||
+ // The mods sheet is only used in the chrome docshell.
|
||||
+ MaybeAppend(zen::ZenStyleSheetCache::Singleton()->GetModsSheet());
|
||||
+ styleSet.AppendStyleSheet(*sheet);
|
||||
+ }
|
||||
+
|
||||
MaybeAppend(IsInChromeDocShell() ? cache->GetUserChromeSheet()
|
||||
: cache->GetUserContentSheet());
|
||||
MaybeAppend(cache->GetUASheet());
|
||||
|
||||
StyleSheet* sheet = IsInChromeDocShell() ? cache->GetUserChromeSheet()
|
||||
: cache->GetUserContentSheet();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/dom/chrome-webidl/MediaController.webidl b/dom/chrome-webidl/MediaController.webidl
|
||||
index 790bc66a31253a861b21658e67c83796ae939298..0fb7e6cfbb1d1d35aeceb8d7b903cd86bf64403c 100644
|
||||
index 6063e86e747dac87aafc865af95800daef2a5b9d..7fc4e72ee73a16b9ec2c1b9d11d926246fb7f7b6 100644
|
||||
--- a/dom/chrome-webidl/MediaController.webidl
|
||||
+++ b/dom/chrome-webidl/MediaController.webidl
|
||||
@@ -23,6 +23,12 @@ enum MediaControlKey {
|
||||
@@ -15,15 +15,12 @@ index 790bc66a31253a861b21658e67c83796ae939298..0fb7e6cfbb1d1d35aeceb8d7b903cd86
|
||||
/**
|
||||
* MediaController is used to control media playback for a tab, and each tab
|
||||
* would only have one media controller, which can be accessed from the
|
||||
@@ -36,6 +42,7 @@ interface MediaController : EventTarget {
|
||||
@@ -36,10 +42,14 @@ interface MediaController : EventTarget {
|
||||
readonly attribute boolean isPlaying;
|
||||
readonly attribute boolean isAnyMediaBeingControlled;
|
||||
readonly attribute MediaSessionPlaybackState playbackState;
|
||||
+ readonly attribute boolean isBeingUsedInPIPModeOrFullscreen;
|
||||
|
||||
// The effective audio-session type the tab is currently claiming. Chrome
|
||||
// consumers can use this to apply tab/application level audio-focus
|
||||
@@ -46,6 +53,9 @@ interface MediaController : EventTarget {
|
||||
[Throws]
|
||||
MediaMetadataInit getMetadata();
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/eslint-file-globals.config.mjs b/eslint-file-globals.config.mjs
|
||||
index c15744aeaf940cea9e438e7b9924a328d2615b9f..df5c6c3f36e78537e0a54fb89dfd5b3d510a51a4 100644
|
||||
index bf1341a84382380d45b936aeffde3f167301a9ed..b6aa373252888dcdefd528a40329f1959086d8e5 100644
|
||||
--- a/eslint-file-globals.config.mjs
|
||||
+++ b/eslint-file-globals.config.mjs
|
||||
@@ -22,6 +22,7 @@
|
||||
@@ -10,9 +10,9 @@ index c15744aeaf940cea9e438e7b9924a328d2615b9f..df5c6c3f36e78537e0a54fb89dfd5b3d
|
||||
|
||||
export default [
|
||||
{
|
||||
@@ -576,4 +577,9 @@ export default [
|
||||
globals: globals.audioWorklet,
|
||||
},
|
||||
@@ -550,4 +551,9 @@ export default [
|
||||
],
|
||||
languageOptions: { globals: globals.worker },
|
||||
},
|
||||
+ {
|
||||
+ name: "zen-globals",
|
||||
|
||||
@@ -32,9 +32,9 @@ diff --git a/browser/components/urlbar/UrlbarPrefs.sys.mjs b/browser/components/
|
||||
// or remote settings.
|
||||
["flightStatus.minKeywordLength", 0],
|
||||
|
||||
diff --git a/browser/components/urlbar/content/UrlbarView.mjs b/browser/components/urlbar/content/UrlbarView.mjs
|
||||
--- a/browser/components/urlbar/content/UrlbarView.mjs
|
||||
+++ b/browser/components/urlbar/content/UrlbarView.mjs
|
||||
diff --git a/browser/components/urlbar/UrlbarView.sys.mjs b/browser/components/urlbar/UrlbarView.sys.mjs
|
||||
--- a/browser/components/urlbar/UrlbarView.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarView.sys.mjs
|
||||
@@ -3909,10 +3909,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/layout/base/nsPresContext.h b/layout/base/nsPresContext.h
|
||||
index 5f27c288fd027cf245421e7f049103a7e19da18a..fcd65b74c5881a75d9cb6847379e32d0a0652e67 100644
|
||||
index 13aa7141c8e5297d0dd6aa9bd78fd32f050e8123..149a89e928d354f116c54f71605830f5ec6b7f8a 100644
|
||||
--- a/layout/base/nsPresContext.h
|
||||
+++ b/layout/base/nsPresContext.h
|
||||
@@ -594,6 +594,22 @@ class nsPresContext : public nsISupports,
|
||||
@@ -23,11 +23,11 @@ index 5f27c288fd027cf245421e7f049103a7e19da18a..fcd65b74c5881a75d9cb6847379e32d0
|
||||
+ bool ZenBoostsOverrideInverted() const { return mZenBoostsOverrideInverted; }
|
||||
+
|
||||
/**
|
||||
* Sets the effective link parameters overrides, and invalidate stuff as
|
||||
* needed.
|
||||
@@ -1434,6 +1450,11 @@ class nsPresContext : public nsISupports,
|
||||
* Return the device's screen size in inches, for font size
|
||||
* inflation.
|
||||
@@ -1441,6 +1457,11 @@ class nsPresContext : public nsISupports,
|
||||
mozilla::dom::PrefersColorSchemeOverride mOverriddenOrEmbedderColorScheme;
|
||||
mozilla::StyleForcedColors mForcedColors;
|
||||
mozilla::StyleLinkParameters mLinkParameters;
|
||||
|
||||
+ nscolor mZenBoostsOverrideAccent = 0;
|
||||
+ float mZenBoostsOverrideComplementaryRotation = 0.0f;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/layout/generic/nsTextPaintStyle.cpp b/layout/generic/nsTextPaintStyle.cpp
|
||||
index f741ab5eb83778ec2460a5d975757f09b3f2865e..f39a019c0d82db7ba9a122ce5269d0833ae04568 100644
|
||||
index 5d1bf44687e925aff67f44c8e0629f7f06e84e98..1fa60a4d91edc60ba733cefc5f73ab8b7684d02a 100644
|
||||
--- a/layout/generic/nsTextPaintStyle.cpp
|
||||
+++ b/layout/generic/nsTextPaintStyle.cpp
|
||||
@@ -240,7 +240,7 @@ bool nsTextPaintStyle::GetTargetTextColor(nscolor* aForeColor) {
|
||||
@@ -39,8 +39,18 @@ index f741ab5eb83778ec2460a5d975757f09b3f2865e..f39a019c0d82db7ba9a122ce5269d083
|
||||
return NS_GET_A(*aBackColor) != 0;
|
||||
}
|
||||
|
||||
@@ -462,12 +463,12 @@ bool nsTextPaintStyle::InitSelectionColorsAndShadow() {
|
||||
mSelectionPseudoStyle = std::move(style);
|
||||
@@ -466,19 +467,19 @@ bool nsTextPaintStyle::InitSelectionColorsAndShadow() {
|
||||
// this is web content or chrome content. See bug 2029839.
|
||||
if (!mFrame->PresContext()->Document()->ChromeRulesEnabled()) {
|
||||
mSelectionBGColor = mSelectionPseudoStyle->GetVisitedDependentColor(
|
||||
- &nsStyleBackground::mBackgroundColor);
|
||||
- mSelectionTextColor =
|
||||
- mSelectionPseudoStyle->GetVisitedDependentColor(&nsStyleText::mColor);
|
||||
+ &nsStyleBackground::mBackgroundColor, mFrame);
|
||||
+ mSelectionTextColor = mSelectionPseudoStyle->GetVisitedDependentColor(
|
||||
+ &nsStyleText::mColor, mFrame);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (nscolor bgColor = mSelectionPseudoStyle->GetVisitedDependentColor(
|
||||
- &nsStyleBackground::mBackgroundColor);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/layout/style/StyleColor.cpp b/layout/style/StyleColor.cpp
|
||||
index bbee32af30f35525730a10d0b242c0e8a8fe4695..a590fff105b30bc96fa7a0d8a8d3b1d5aa997e08 100644
|
||||
index 95c7ae6abea5032bef0466e8d59d212374d7a4d0..85a48f27251756c72db8ed03a673a18e96cf76f9 100644
|
||||
--- a/layout/style/StyleColor.cpp
|
||||
+++ b/layout/style/StyleColor.cpp
|
||||
@@ -9,6 +9,7 @@
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "mozilla/dom/BindingDeclarations.h"
|
||||
#include "nsIFrame.h"
|
||||
#include "nsStyleStruct.h"
|
||||
@@ -10,7 +10,7 @@ index bbee32af30f35525730a10d0b242c0e8a8fe4695..a590fff105b30bc96fa7a0d8a8d3b1d5
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@@ -96,23 +97,24 @@ StyleAbsoluteColor StyleColor::ResolveColor(
|
||||
@@ -34,23 +35,24 @@ StyleAbsoluteColor StyleColor::ResolveColor(
|
||||
|
||||
template <>
|
||||
nscolor StyleColor::CalcColor(nscolor aColor) const {
|
||||
@@ -40,31 +40,27 @@ index bbee32af30f35525730a10d0b242c0e8a8fe4695..a590fff105b30bc96fa7a0d8a8d3b1d5
|
||||
}
|
||||
|
||||
StyleAbsoluteColor StyleAbsoluteColor::ToColorSpace(
|
||||
@@ -120,7 +122,7 @@ StyleAbsoluteColor StyleAbsoluteColor::ToColorSpace(
|
||||
@@ -58,7 +60,7 @@ StyleAbsoluteColor StyleAbsoluteColor::ToColorSpace(
|
||||
return Servo_ConvertColorSpace(this, aColorSpace);
|
||||
}
|
||||
|
||||
-nscolor StyleAbsoluteColor::ToColor() const {
|
||||
+nscolor StyleAbsoluteColor::ToColor(const nsIFrame* aFrame) const {
|
||||
constexpr StyleColorSpace DEST_COLOR_SPACE = StyleColorSpace::Srgb;
|
||||
auto srgb = ToColorSpace(StyleColorSpace::Srgb);
|
||||
|
||||
constexpr float MIN = 0.0f;
|
||||
@@ -162,11 +164,13 @@ nscolor StyleAbsoluteColor::ToColor() const {
|
||||
}
|
||||
}
|
||||
// TODO(tlouw): Needs gamut mapping here. Right now we just hard clip the
|
||||
@@ -68,10 +70,12 @@ nscolor StyleAbsoluteColor::ToColor() const {
|
||||
auto green = std::clamp(srgb.components._1, 0.0f, 1.0f);
|
||||
auto blue = std::clamp(srgb.components._2, 0.0f, 1.0f);
|
||||
|
||||
- return NS_RGBA(
|
||||
- nsStyleUtil::FloatToColorComponent(translatedColor.components._0),
|
||||
- nsStyleUtil::FloatToColorComponent(translatedColor.components._1),
|
||||
- nsStyleUtil::FloatToColorComponent(translatedColor.components._2),
|
||||
- nsStyleUtil::FloatToColorComponent(translatedColor.alpha));
|
||||
- return NS_RGBA(nsStyleUtil::FloatToColorComponent(red),
|
||||
+ return zen::nsZenBoostsBackend::ResolveStyleColor(
|
||||
+ NS_RGBA(
|
||||
+ nsStyleUtil::FloatToColorComponent(translatedColor.components._0),
|
||||
+ nsStyleUtil::FloatToColorComponent(translatedColor.components._1),
|
||||
+ nsStyleUtil::FloatToColorComponent(translatedColor.components._2),
|
||||
+ nsStyleUtil::FloatToColorComponent(translatedColor.alpha)),
|
||||
+ aFrame);
|
||||
+ NS_RGBA(nsStyleUtil::FloatToColorComponent(red),
|
||||
nsStyleUtil::FloatToColorComponent(green),
|
||||
nsStyleUtil::FloatToColorComponent(blue),
|
||||
- nsStyleUtil::FloatToColorComponent(srgb.alpha));
|
||||
+ nsStyleUtil::FloatToColorComponent(srgb.alpha)),
|
||||
+ aFrame);
|
||||
}
|
||||
|
||||
} // namespace mozilla
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/layout/svg/SVGImageContext.cpp b/layout/svg/SVGImageContext.cpp
|
||||
index 384401ae2cb80a1bf438b1fb3d849254de100210..e5ef332bc529e6588c33b507993880ca9def51d1 100644
|
||||
index ecbda963b75fb70b62885a0c8f7a517011a8d5dc..5f55f0a4174db830656d434b5295835ab18e6619 100644
|
||||
--- a/layout/svg/SVGImageContext.cpp
|
||||
+++ b/layout/svg/SVGImageContext.cpp
|
||||
@@ -10,6 +10,7 @@
|
||||
@@ -30,8 +30,8 @@ index 384401ae2cb80a1bf438b1fb3d849254de100210..e5ef332bc529e6588c33b507993880ca
|
||||
/* static */
|
||||
void SVGImageContext::MaybeStoreContextPaint(SVGImageContext& aContext,
|
||||
nsIFrame* aFromFrame,
|
||||
@@ -50,6 +64,8 @@ void SVGImageContext::MaybeStoreContextPaint(SVGImageContext& aContext,
|
||||
}
|
||||
@@ -43,6 +57,8 @@ void SVGImageContext::MaybeStoreContextPaint(SVGImageContext& aContext,
|
||||
aContext.SetColorScheme(Some(scheme));
|
||||
}
|
||||
|
||||
+ MaybeStoreZenBoosts(aContext, aPresContext);
|
||||
@@ -39,7 +39,7 @@ index 384401ae2cb80a1bf438b1fb3d849254de100210..e5ef332bc529e6588c33b507993880ca
|
||||
const nsStyleSVG* style = aStyle.StyleSVG();
|
||||
if (!style->ExposesContextProperties()) {
|
||||
// Content must have '-moz-context-properties' set to the names of the
|
||||
@@ -64,12 +80,14 @@ void SVGImageContext::MaybeStoreContextPaint(SVGImageContext& aContext,
|
||||
@@ -57,12 +73,14 @@ void SVGImageContext::MaybeStoreContextPaint(SVGImageContext& aContext,
|
||||
if ((style->mMozContextProperties.bits & StyleContextPropertyBits::FILL) &&
|
||||
style->mFill.kind.IsColor()) {
|
||||
haveContextPaint = true;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/layout/svg/SVGImageContext.h b/layout/svg/SVGImageContext.h
|
||||
index b1f811989697966e30859610f4fc07579d0385ab..f6f4cd5a45fc49b416111d980fab4e612788903e 100644
|
||||
index 159d9cbbd0711076ee6c2a71a3da04bd92a0102c..daefc40590c4d7d7fac9db25c6ec4ba2424dded5 100644
|
||||
--- a/layout/svg/SVGImageContext.h
|
||||
+++ b/layout/svg/SVGImageContext.h
|
||||
@@ -6,6 +6,7 @@
|
||||
@@ -44,12 +44,12 @@ index b1f811989697966e30859610f4fc07579d0385ab..f6f4cd5a45fc49b416111d980fab4e61
|
||||
const Maybe<SVGPreserveAspectRatio>& GetPreserveAspectRatio() const {
|
||||
return mPreserveAspectRatio;
|
||||
}
|
||||
@@ -116,7 +137,11 @@ class SVGImageContext {
|
||||
@@ -107,7 +128,11 @@ class SVGImageContext {
|
||||
|
||||
return contextPaintIsEqual && mViewportSize == aOther.mViewportSize &&
|
||||
mPreserveAspectRatio == aOther.mPreserveAspectRatio &&
|
||||
mColorScheme == aOther.mColorScheme &&
|
||||
- mLinkParameters == aOther.mLinkParameters;
|
||||
+ mLinkParameters == aOther.mLinkParameters &&
|
||||
- mColorScheme == aOther.mColorScheme;
|
||||
+ mColorScheme == aOther.mColorScheme &&
|
||||
+ mZenBoostsAccent == aOther.mZenBoostsAccent &&
|
||||
+ mZenBoostsComplementaryRotation ==
|
||||
+ aOther.mZenBoostsComplementaryRotation &&
|
||||
@@ -57,20 +57,21 @@ index b1f811989697966e30859610f4fc07579d0385ab..f6f4cd5a45fc49b416111d980fab4e61
|
||||
}
|
||||
|
||||
bool operator!=(const SVGImageContext&) const = default;
|
||||
@@ -129,7 +154,8 @@ class SVGImageContext {
|
||||
@@ -119,7 +144,9 @@ class SVGImageContext {
|
||||
}
|
||||
return HashGeneric(hash, mViewportSize.map(HashSize).valueOr(0),
|
||||
mPreserveAspectRatio.map(HashPAR).valueOr(0),
|
||||
mColorScheme.map(HashColorScheme).valueOr(0),
|
||||
- HashLinkParameters(mLinkParameters));
|
||||
+ HashLinkParameters(mLinkParameters), mZenBoostsAccent,
|
||||
+ mZenBoostsComplementaryRotation, mZenBoostsInverted);
|
||||
- mColorScheme.map(HashColorScheme).valueOr(0));
|
||||
+ mColorScheme.map(HashColorScheme).valueOr(0),
|
||||
+ mZenBoostsAccent, mZenBoostsComplementaryRotation,
|
||||
+ mZenBoostsInverted);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -167,6 +193,9 @@ class SVGImageContext {
|
||||
@@ -138,6 +165,9 @@ class SVGImageContext {
|
||||
Maybe<CSSIntSize> mViewportSize;
|
||||
Maybe<SVGPreserveAspectRatio> mPreserveAspectRatio;
|
||||
Maybe<ColorScheme> mColorScheme;
|
||||
StyleLinkParameters mLinkParameters;
|
||||
+ nscolor mZenBoostsAccent = 0;
|
||||
+ float mZenBoostsComplementaryRotation = 0.0f;
|
||||
+ bool mZenBoostsInverted = false;
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
diff --git a/services/sync/modules/service.sys.mjs b/services/sync/modules/service.sys.mjs
|
||||
index 4f4efe572909441abdd81909282936702c225621..81ab06a9414ed656b644a21b40b683f06a4f8dbf 100644
|
||||
--- a/services/sync/modules/service.sys.mjs
|
||||
+++ b/services/sync/modules/service.sys.mjs
|
||||
@@ -99,6 +99,10 @@ function getEngineModules() {
|
||||
whenTrue: "ExtensionStorageEngineKinto",
|
||||
whenFalse: "ExtensionStorageEngineBridge",
|
||||
};
|
||||
+ result.Spaces = {
|
||||
+ module: "resource:///modules/zen/ZenWorkspacesSync.sys.mjs",
|
||||
+ symbol: "ZenWorkspacesEngine",
|
||||
+ };
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/servo/ports/geckolib/cbindgen.toml b/servo/ports/geckolib/cbindgen.toml
|
||||
index 10c0c702dbad97d5e73d84e2c913a3541380c4dd..2291871e58ae259f3bc3d573eb32e7cb47cc8953 100644
|
||||
index 17937bd70ead3b86e59b3da8c8d90591ee48e0a2..2bddfd549243ddc387107df00625ea5f38e5c655 100644
|
||||
--- a/servo/ports/geckolib/cbindgen.toml
|
||||
+++ b/servo/ports/geckolib/cbindgen.toml
|
||||
@@ -673,9 +673,9 @@ renaming_overrides_prefixing = true
|
||||
@@ -666,9 +666,9 @@ renaming_overrides_prefixing = true
|
||||
nscolor CalcColor(const nsIFrame*) const;
|
||||
/**
|
||||
* Compute the final color, taking into account the foreground color from the
|
||||
@@ -14,7 +14,7 @@ index 10c0c702dbad97d5e73d84e2c913a3541380c4dd..2291871e58ae259f3bc3d573eb32e7cb
|
||||
/**
|
||||
* Compute the final color, making the argument the foreground color.
|
||||
*/
|
||||
@@ -698,9 +698,11 @@ renaming_overrides_prefixing = true
|
||||
@@ -691,9 +691,11 @@ renaming_overrides_prefixing = true
|
||||
|
||||
/**
|
||||
* Convert this color to an nscolor. The color will be converted to sRGB first
|
||||
@@ -27,4 +27,4 @@ index 10c0c702dbad97d5e73d84e2c913a3541380c4dd..2291871e58ae259f3bc3d573eb32e7cb
|
||||
+ nscolor ToColor(const nsIFrame*) const;
|
||||
"""
|
||||
|
||||
"ColorFunction" = """
|
||||
"OwnedSlice" = """
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
diff --git a/toolkit/components/contextualidentity/ContextualIdentityService.sys.mjs b/toolkit/components/contextualidentity/ContextualIdentityService.sys.mjs
|
||||
index 5702ff28cc22206f5ce16584dac8a78d816562ce..3d08ecc97ce5995b30d8a4af0c33df329b428008 100644
|
||||
--- a/toolkit/components/contextualidentity/ContextualIdentityService.sys.mjs
|
||||
+++ b/toolkit/components/contextualidentity/ContextualIdentityService.sys.mjs
|
||||
@@ -270,11 +270,29 @@ _ContextualIdentityService.prototype = {
|
||||
});
|
||||
},
|
||||
|
||||
- create(name, icon, color) {
|
||||
+ create(name, icon, color, id = null) {
|
||||
this.ensureDataReady();
|
||||
|
||||
- // Retrieve the next userContextId available.
|
||||
- let userContextId = ++this._lastUserContextId;
|
||||
+ if (id !== null) {
|
||||
+ id = typeof id == "string" ? Number(id) : id;
|
||||
+ if (!Number.isSafeInteger(id) || id <= 0) {
|
||||
+ throw new Error(`Invalid userContextId '${id}'`);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ let userContextId;
|
||||
+ if (
|
||||
+ id !== null &&
|
||||
+ !this._identities.some(identity => identity.userContextId === id)
|
||||
+ ) {
|
||||
+ userContextId = id;
|
||||
+ this._lastUserContextId = Math.max(
|
||||
+ this._lastUserContextId,
|
||||
+ userContextId
|
||||
+ );
|
||||
+ } else {
|
||||
+ userContextId = ++this._lastUserContextId;
|
||||
+ }
|
||||
|
||||
// Throw an error if the next userContextId available is invalid (the one associated to
|
||||
// MAX_USER_CONTEXT_ID is already reserved to "userContextIdInternal.webextStorageLocal", which
|
||||
@@ -1,22 +0,0 @@
|
||||
diff --git a/toolkit/mozapps/extensions/Blocklist.sys.mjs b/toolkit/mozapps/extensions/Blocklist.sys.mjs
|
||||
index 4e1e0aac91612c846bb664efe3dbb50ecf63597d..93eb9a05520198eb3f9af35aa58d789719169434 100644
|
||||
--- a/toolkit/mozapps/extensions/Blocklist.sys.mjs
|
||||
+++ b/toolkit/mozapps/extensions/Blocklist.sys.mjs
|
||||
@@ -411,7 +411,7 @@ class TargetAppFilter {
|
||||
if (!Array.isArray(versionRange)) {
|
||||
const { maxVersion = "*" } = versionRange;
|
||||
const matchesRange =
|
||||
- Services.vc.compare(lazy.gApp.version, maxVersion) <= 0;
|
||||
+ Services.vc.compare(AppConstants.ZEN_FIREFOX_VERSION, maxVersion) <= 0;
|
||||
return matchesRange ? entry : null;
|
||||
}
|
||||
|
||||
@@ -433,7 +433,7 @@ class TargetAppFilter {
|
||||
const { maxVersion = "*" } = ta;
|
||||
if (
|
||||
guid == lazy.gAppID &&
|
||||
- Services.vc.compare(lazy.gApp.version, maxVersion) <= 0
|
||||
+ Services.vc.compare(AppConstants.ZEN_FIREFOX_VERSION, maxVersion) <= 0
|
||||
) {
|
||||
return entry;
|
||||
}
|
||||
@@ -1,17 +1,18 @@
|
||||
diff --git a/toolkit/mozapps/extensions/content/aboutaddons.css b/toolkit/mozapps/extensions/content/aboutaddons.css
|
||||
index d0af33257f01df0deb5469d964a53be687a15f2f..2ef7fc1f0d8b0b67743b7d67df3719be0b46a4b0 100644
|
||||
index 619ae975710359fe879f197c689969ed726de7c0..542adaf0aa4f9d7336d969754228c1a93640b6af 100644
|
||||
--- a/toolkit/mozapps/extensions/content/aboutaddons.css
|
||||
+++ b/toolkit/mozapps/extensions/content/aboutaddons.css
|
||||
@@ -713,6 +713,12 @@ section:not(:empty) ~ #empty-addons-message {
|
||||
font-weight: var(--font-weight-bold);
|
||||
@@ -105,6 +105,13 @@ h2 {
|
||||
.category[name="theme"] {
|
||||
background-image: url("chrome://mozapps/skin/extensions/category-themes.svg");
|
||||
}
|
||||
|
||||
+
|
||||
+@media -moz-pref('zen.theme.disable-lightweight') {
|
||||
+ #category-theme {
|
||||
+ .category[name="theme"] {
|
||||
+ display: none;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/* Position the badged dot in the top-end (right in ltr, left in rtl)
|
||||
* corner of the badged category icon. */
|
||||
@media (max-width: 950px) {
|
||||
.category[name="plugin"] {
|
||||
background-image: url("chrome://mozapps/skin/extensions/category-plugins.svg");
|
||||
}
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
diff --git a/toolkit/themes/shared/design-system/dist/tokens-shared.css b/toolkit/themes/shared/design-system/dist/tokens-shared.css
|
||||
index 15c0d98a18b4f19e7f2e03d2b78066b0353f416a..b32f6244c7a07e93894bab422691a605456034a1 100644
|
||||
index 94afbe630914eef375967f2eff310d69c61fa1aa..04b42529d43c5100a76c883220875c0b70ad0616 100644
|
||||
--- a/toolkit/themes/shared/design-system/dist/tokens-shared.css
|
||||
+++ b/toolkit/themes/shared/design-system/dist/tokens-shared.css
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
@layer tokens-foundation, tokens-browser-theme, tokens-foundation-brand, tokens-foundation-nova, tokens-browser-theme-nova, tokens-foundation-brand-nova, tokens-prefers-contrast, tokens-prefers-contrast-nova, tokens-forced-colors, tokens-forced-colors-nova;
|
||||
@layer tokens-foundation, tokens-foundation-nova, tokens-prefers-contrast, tokens-prefers-contrast-nova, tokens-forced-colors, tokens-forced-colors-nova, tokens-browser-theme, tokens-browser-theme-nova;
|
||||
|
||||
+@import url("chrome://browser/content/zen-styles/zen-theme.css");
|
||||
+
|
||||
@layer tokens-foundation {
|
||||
:root,
|
||||
:host(.anonymous-content-host) {
|
||||
@@ -424,8 +426,8 @@
|
||||
--panel-background-color-dimmed-further: var(--background-color-dimmed-further);
|
||||
--panel-border-color: light-dark(rgb(240, 240, 244), rgb(82, 82, 94));
|
||||
@@ -368,8 +370,8 @@
|
||||
--panel-background-color-dimmed-further: color-mix(in srgb, currentColor 30%, transparent);
|
||||
--panel-border-color: ThreeDShadow;
|
||||
--panel-border-radius: var(--border-radius-medium);
|
||||
- --panel-box-shadow: 0 0 var(--panel-box-shadow-margin) hsla(0, 0%, 0%, 0.2);
|
||||
- --panel-box-shadow-margin: 4px;
|
||||
@@ -21,4 +21,4 @@ index 15c0d98a18b4f19e7f2e03d2b78066b0353f416a..b32f6244c7a07e93894bab422691a605
|
||||
+ --panel-box-shadow-margin: 8px;
|
||||
--panel-menuitem-border-radius: var(--border-radius-small);
|
||||
--panel-menuitem-margin: var(--panel-menuitem-margin-block) var(--panel-menuitem-margin-inline);
|
||||
--panel-menuitem-margin-block: 0;
|
||||
--panel-menuitem-margin-block: 0px;
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
diff --git a/toolkit/themes/shared/in-content/common-shared.css b/toolkit/themes/shared/in-content/common-shared.css
|
||||
index 087d356b80886b22692f948a97f229ccf75737fd..9c2d370e94d1f901ded4a7a786a475fdf867de07 100644
|
||||
index 8cbeb5d266b19c2c5b3d605b23c8c421a03c2a0e..7db0baeee11b99a5da1c143c682e38751a9ac03c 100644
|
||||
--- a/toolkit/themes/shared/in-content/common-shared.css
|
||||
+++ b/toolkit/themes/shared/in-content/common-shared.css
|
||||
@@ -40,7 +40,7 @@
|
||||
@@ -57,7 +57,7 @@
|
||||
* this in forced colors mode, as we should be using system colours then.
|
||||
*/
|
||||
:root[dialogroot] {
|
||||
- --background-color-canvas: var(--color-gray-80);
|
||||
- --background-color-canvas: #42414d;
|
||||
+ --background-color-canvas: var(--zen-dialog-background);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ xul|menulist {
|
||||
@@ -158,7 +158,7 @@ xul|menulist {
|
||||
border-radius: var(--button-border-radius);
|
||||
background-color: var(--button-background-color);
|
||||
font-weight: normal;
|
||||
|
||||
33
src/zen/@types/lib.gecko.darwin.d.ts
vendored
33
src/zen/@types/lib.gecko.darwin.d.ts
vendored
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
/**
|
||||
* NOTE: Do not modify this file by hand.
|
||||
* Content was generated from source XPCOM .idl files.
|
||||
@@ -5,7 +8,7 @@
|
||||
*/
|
||||
|
||||
declare global {
|
||||
// https://searchfox.org/firefox-main/source/accessible/interfaces/nsIAccessibleMacInterface.idl
|
||||
// https://searchfox.org/mozilla-central/source/accessible/interfaces/nsIAccessibleMacInterface.idl
|
||||
|
||||
interface nsIAccessibleMacNSObjectWrapper extends nsISupports {}
|
||||
|
||||
@@ -26,13 +29,13 @@ declare global {
|
||||
readonly data: any;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/browser/components/migration/nsIKeychainMigrationUtils.idl
|
||||
// https://searchfox.org/mozilla-central/source/browser/components/migration/nsIKeychainMigrationUtils.idl
|
||||
|
||||
interface nsIKeychainMigrationUtils extends nsISupports {
|
||||
getGenericPassword(aServiceName: string, aAccountName: string): string;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/browser/components/shell/nsIMacShellService.idl
|
||||
// https://searchfox.org/mozilla-central/source/browser/components/shell/nsIMacShellService.idl
|
||||
|
||||
interface nsIMacShellService extends nsIShellService {
|
||||
showDesktopPreferences(): void;
|
||||
@@ -40,7 +43,7 @@ declare global {
|
||||
getAvailableApplicationsForProtocol(protocol: string): string[][];
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsIMacDockSupport.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsIMacDockSupport.idl
|
||||
|
||||
interface nsIAppBundleLaunchOptions extends nsISupports {
|
||||
readonly addsToRecentItems: boolean;
|
||||
@@ -66,7 +69,7 @@ declare global {
|
||||
): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsIMacFinderProgress.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsIMacFinderProgress.idl
|
||||
|
||||
type nsIMacFinderProgressCanceledCallback = Callable<{
|
||||
canceled(): void;
|
||||
@@ -81,7 +84,7 @@ declare global {
|
||||
end(): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsIMacSharingService.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsIMacSharingService.idl
|
||||
|
||||
interface nsIMacSharingService extends nsISupports {
|
||||
getSharingProviders(pageUrl: string): any;
|
||||
@@ -89,7 +92,7 @@ declare global {
|
||||
openSharingPreferences(): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsIMacUserActivityUpdater.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsIMacUserActivityUpdater.idl
|
||||
|
||||
interface nsIMacUserActivityUpdater extends nsISupports {
|
||||
updateLocation(
|
||||
@@ -99,7 +102,7 @@ declare global {
|
||||
): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsIMacWebAppUtils.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsIMacWebAppUtils.idl
|
||||
|
||||
type nsITrashAppCallback = Callable<{
|
||||
trashAppFinished(rv: nsresult): void;
|
||||
@@ -111,7 +114,7 @@ declare global {
|
||||
trashApp(path: string, callback: nsITrashAppCallback): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsIStandaloneNativeMenu.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsIStandaloneNativeMenu.idl
|
||||
|
||||
interface nsIStandaloneNativeMenu extends nsISupports {
|
||||
init(aElement: Element): void;
|
||||
@@ -121,7 +124,7 @@ declare global {
|
||||
dump(): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsITaskbarProgress.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsITaskbarProgress.idl
|
||||
|
||||
interface nsITaskbarProgress extends nsISupports {
|
||||
readonly STATE_NO_PROGRESS?: 0;
|
||||
@@ -137,7 +140,7 @@ declare global {
|
||||
): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsITouchBarHelper.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsITouchBarHelper.idl
|
||||
|
||||
interface nsITouchBarHelper extends nsISupports {
|
||||
readonly activeUrl: string;
|
||||
@@ -151,7 +154,7 @@ declare global {
|
||||
insertRestrictionInUrlbar(aToken: string): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsITouchBarInput.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsITouchBarInput.idl
|
||||
|
||||
type nsITouchBarInputCallback = Callable<{
|
||||
onCommand(): void;
|
||||
@@ -168,7 +171,7 @@ declare global {
|
||||
children: nsIArray;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsITouchBarUpdater.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsITouchBarUpdater.idl
|
||||
|
||||
interface nsITouchBarUpdater extends nsISupports {
|
||||
updateTouchBarInputs(
|
||||
@@ -185,14 +188,14 @@ declare global {
|
||||
): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/xpcom/base/nsIMacPreferencesReader.idl
|
||||
// https://searchfox.org/mozilla-central/source/xpcom/base/nsIMacPreferencesReader.idl
|
||||
|
||||
interface nsIMacPreferencesReader extends nsISupports {
|
||||
policiesEnabled(): boolean;
|
||||
readPreferences(): any;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/xpcom/io/nsILocalFileMac.idl
|
||||
// https://searchfox.org/mozilla-central/source/xpcom/io/nsILocalFileMac.idl
|
||||
|
||||
interface nsILocalFileMac extends nsIFile {
|
||||
launchWithDoc(aDocToLoad: nsIFile, aLaunchInBackground: boolean): void;
|
||||
|
||||
881
src/zen/@types/lib.gecko.dom.d.ts
vendored
881
src/zen/@types/lib.gecko.dom.d.ts
vendored
File diff suppressed because it is too large
Load Diff
874
src/zen/@types/lib.gecko.glean.d.ts
vendored
874
src/zen/@types/lib.gecko.glean.d.ts
vendored
File diff suppressed because it is too large
Load Diff
13
src/zen/@types/lib.gecko.linux.d.ts
vendored
13
src/zen/@types/lib.gecko.linux.d.ts
vendored
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
/**
|
||||
* NOTE: Do not modify this file by hand.
|
||||
* Content was generated from source XPCOM .idl files.
|
||||
@@ -5,7 +8,7 @@
|
||||
*/
|
||||
|
||||
declare global {
|
||||
// https://searchfox.org/firefox-main/source/browser/components/shell/nsIGNOMEShellService.idl
|
||||
// https://searchfox.org/mozilla-central/source/browser/components/shell/nsIGNOMEShellService.idl
|
||||
|
||||
interface nsIGNOMEShellService extends nsIShellService {
|
||||
readonly canSetDesktopBackground: boolean;
|
||||
@@ -14,14 +17,14 @@ declare global {
|
||||
setGSettingsString(aScheme: string, aKey: string, aValue: string): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/browser/components/shell/nsIOpenTabsProvider.idl
|
||||
// https://searchfox.org/mozilla-central/source/browser/components/shell/nsIOpenTabsProvider.idl
|
||||
|
||||
interface nsIOpenTabsProvider extends nsISupports {
|
||||
getOpenTabs(): string[];
|
||||
switchToOpenTab(url: string): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsIApplicationChooser.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsIApplicationChooser.idl
|
||||
|
||||
type nsIApplicationChooserFinishedCallback = Callable<{
|
||||
done(handlerApp: nsIHandlerApp): void;
|
||||
@@ -35,13 +38,13 @@ declare global {
|
||||
): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsIGtkTaskbarProgress.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsIGtkTaskbarProgress.idl
|
||||
|
||||
interface nsIGtkTaskbarProgress extends nsITaskbarProgress {
|
||||
setPrimaryWindow(aWindow: mozIDOMWindowProxy): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsITaskbarProgress.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsITaskbarProgress.idl
|
||||
|
||||
interface nsITaskbarProgress extends nsISupports {
|
||||
readonly STATE_NO_PROGRESS?: 0;
|
||||
|
||||
147
src/zen/@types/lib.gecko.modules.d.ts
vendored
147
src/zen/@types/lib.gecko.modules.d.ts
vendored
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
/**
|
||||
* NOTE: Do not modify this file by hand.
|
||||
* Content was generated by running "mach ts paths".
|
||||
@@ -5,7 +8,6 @@
|
||||
|
||||
export interface Modules {
|
||||
"chrome://browser/content/aboutlogins/aboutLoginsUtils.mjs": typeof import("chrome://browser/content/aboutlogins/aboutLoginsUtils.mjs");
|
||||
"chrome://browser/content/aiwindow/modules/ChatMarkdownParser.mjs": typeof import("chrome://browser/content/aiwindow/modules/ChatMarkdownParser.mjs");
|
||||
"chrome://browser/content/aiwindow/modules/TokenStreamParser.mjs": typeof import("chrome://browser/content/aiwindow/modules/TokenStreamParser.mjs");
|
||||
"chrome://browser/content/asrouter/components/menu-message.mjs": typeof import("chrome://browser/content/asrouter/components/menu-message.mjs");
|
||||
"chrome://browser/content/backup/backup-constants.mjs": typeof import("chrome://browser/content/backup/backup-constants.mjs");
|
||||
@@ -13,48 +15,28 @@ export interface Modules {
|
||||
"chrome://browser/content/genai/content/link-preview-card.mjs": typeof import("chrome://browser/content/genai/content/link-preview-card.mjs");
|
||||
"chrome://browser/content/genai/content/model-optin.mjs": typeof import("chrome://browser/content/genai/content/model-optin.mjs");
|
||||
"chrome://browser/content/ipprotection/ipprotection-constants.mjs": typeof import("chrome://browser/content/ipprotection/ipprotection-constants.mjs");
|
||||
"chrome://browser/content/ipprotection/ipprotection-utils.mjs": typeof import("chrome://browser/content/ipprotection/ipprotection-utils.mjs");
|
||||
"chrome://browser/content/migration/migration-wizard-constants.mjs": typeof import("chrome://browser/content/migration/migration-wizard-constants.mjs");
|
||||
"chrome://browser/content/multilineeditor/prosemirror.bundle.mjs": typeof import("chrome://browser/content/multilineeditor/prosemirror.bundle.mjs");
|
||||
"chrome://browser/content/nsContextMenu.sys.mjs": typeof import("chrome://browser/content/nsContextMenu.sys.mjs");
|
||||
"chrome://browser/content/preferences/config/LegacyPaneMappings.mjs": typeof import("chrome://browser/content/preferences/config/LegacyPaneMappings.mjs");
|
||||
"chrome://browser/content/preferences/config/SettingGroupManager.mjs": typeof import("chrome://browser/content/preferences/config/SettingGroupManager.mjs");
|
||||
"chrome://browser/content/preferences/config/SettingPaneManager.mjs": typeof import("chrome://browser/content/preferences/config/SettingPaneManager.mjs");
|
||||
"chrome://browser/content/preferences/config/about-firefox.mjs": typeof import("chrome://browser/content/preferences/config/about-firefox.mjs");
|
||||
"chrome://browser/content/preferences/config/accessibility.mjs": typeof import("chrome://browser/content/preferences/config/accessibility.mjs");
|
||||
"chrome://browser/content/preferences/config/account-sync.mjs": typeof import("chrome://browser/content/preferences/config/account-sync.mjs");
|
||||
"chrome://browser/content/preferences/config/appearance.mjs": typeof import("chrome://browser/content/preferences/config/appearance.mjs");
|
||||
"chrome://browser/content/preferences/config/downloads.mjs": typeof import("chrome://browser/content/preferences/config/downloads.mjs");
|
||||
"chrome://browser/content/preferences/config/home-startup.mjs": typeof import("chrome://browser/content/preferences/config/home-startup.mjs");
|
||||
"chrome://browser/content/preferences/config/languages.mjs": typeof import("chrome://browser/content/preferences/config/languages.mjs");
|
||||
"chrome://browser/content/preferences/config/passwords-autofill.mjs": typeof import("chrome://browser/content/preferences/config/passwords-autofill.mjs");
|
||||
"chrome://browser/content/preferences/config/privacy.mjs": typeof import("chrome://browser/content/preferences/config/privacy.mjs");
|
||||
"chrome://browser/content/preferences/config/search.mjs": typeof import("chrome://browser/content/preferences/config/search.mjs");
|
||||
"chrome://browser/content/preferences/config/tabs-browsing.mjs": typeof import("chrome://browser/content/preferences/config/tabs-browsing.mjs");
|
||||
"chrome://browser/content/screenshots/fileHelpers.mjs": typeof import("chrome://browser/content/screenshots/fileHelpers.mjs");
|
||||
"chrome://browser/content/sidebar/sidebar-main.mjs": typeof import("chrome://browser/content/sidebar/sidebar-main.mjs");
|
||||
"chrome://browser/content/sidebar/sidebar-panel-header.mjs": typeof import("chrome://browser/content/sidebar/sidebar-panel-header.mjs");
|
||||
"chrome://browser/content/sidebar/sidebar-permissions-ui.mjs": typeof import("chrome://browser/content/sidebar/sidebar-permissions-ui.mjs");
|
||||
"chrome://browser/content/sidebar/sidebar-permissions.mjs": typeof import("chrome://browser/content/sidebar/sidebar-permissions.mjs");
|
||||
"chrome://browser/content/tabbrowser/tab-groups-list.mjs": typeof import("chrome://browser/content/tabbrowser/tab-groups-list.mjs");
|
||||
"chrome://browser/content/tabbrowser/tab-hover-preview.mjs": typeof import("chrome://browser/content/tabbrowser/tab-hover-preview.mjs");
|
||||
"chrome://browser/content/translations/TranslationsPanelShared.sys.mjs": typeof import("chrome://browser/content/translations/TranslationsPanelShared.sys.mjs");
|
||||
"chrome://browser/content/urlbar/SmartbarInput.mjs": typeof import("chrome://browser/content/urlbar/SmartbarInput.mjs");
|
||||
"chrome://browser/content/urlbar/SmartbarInputController.mjs": typeof import("chrome://browser/content/urlbar/SmartbarInputController.mjs");
|
||||
"chrome://browser/content/urlbar/UrlbarEventBufferer.mjs": typeof import("chrome://browser/content/urlbar/UrlbarEventBufferer.mjs");
|
||||
"chrome://browser/content/urlbar/UrlbarInput.mjs": typeof import("chrome://browser/content/urlbar/UrlbarInput.mjs");
|
||||
"chrome://browser/content/urlbar/UrlbarResult.mjs": typeof import("chrome://browser/content/urlbar/UrlbarResult.mjs");
|
||||
"chrome://browser/content/urlbar/UrlbarShared.mjs": typeof import("chrome://browser/content/urlbar/UrlbarShared.mjs");
|
||||
"chrome://browser/content/webrtc/webrtc-preview.mjs": typeof import("chrome://browser/content/webrtc/webrtc-preview.mjs");
|
||||
"chrome://devtools-startup/content/DevToolsShim.sys.mjs": typeof import("chrome://devtools-startup/content/DevToolsShim.sys.mjs");
|
||||
"chrome://formautofill/content/manageDialog.mjs": typeof import("chrome://formautofill/content/manageDialog.mjs");
|
||||
"chrome://global/content/ScrollOffsets.mjs": typeof import("chrome://global/content/ScrollOffsets.mjs");
|
||||
"chrome://global/content/aboutLogging/profileStorage.mjs": typeof import("chrome://global/content/aboutLogging/profileStorage.mjs");
|
||||
"chrome://global/content/bindings/colorpicker-common.mjs": typeof import("chrome://global/content/bindings/colorpicker-common.mjs");
|
||||
"chrome://global/content/certviewer/certDecoder.mjs": typeof import("chrome://global/content/certviewer/certDecoder.mjs");
|
||||
"chrome://global/content/elements/browser-custom-element.mjs": typeof import("chrome://global/content/elements/browser-custom-element.mjs");
|
||||
"chrome://global/content/errors/error-lookup.mjs": typeof import("chrome://global/content/errors/error-lookup.mjs");
|
||||
"chrome://global/content/errors/error-registry.mjs": typeof import("chrome://global/content/errors/error-registry.mjs");
|
||||
"chrome://global/content/ml/BlockWords.sys.mjs": typeof import("chrome://global/content/ml/BlockWords.sys.mjs");
|
||||
"chrome://global/content/ml/ClusterAlgos.sys.mjs": typeof import("chrome://global/content/ml/ClusterAlgos.sys.mjs");
|
||||
"chrome://global/content/ml/EmbeddingsGenerator.sys.mjs": typeof import("chrome://global/content/ml/EmbeddingsGenerator.sys.mjs");
|
||||
@@ -91,7 +73,6 @@ export interface Modules {
|
||||
"chrome://mochikit/content/tests/SimpleTest/DragTargetParentContext.sys.mjs": typeof import("chrome://mochikit/content/tests/SimpleTest/DragTargetParentContext.sys.mjs");
|
||||
"chrome://mochitests/content/browser/accessible/tests/browser/Common.sys.mjs": typeof import("chrome://mochitests/content/browser/accessible/tests/browser/Common.sys.mjs");
|
||||
"chrome://mochitests/content/browser/accessible/tests/browser/Layout.sys.mjs": typeof import("chrome://mochitests/content/browser/accessible/tests/browser/Layout.sys.mjs");
|
||||
"chrome://mochitests/content/browser/browser/components/aiwindow/models/tests/browser_eval/tests/basic_quality.sys.mjs": typeof import("chrome://mochitests/content/browser/browser/components/aiwindow/models/tests/browser_eval/tests/basic_quality.sys.mjs");
|
||||
"chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/examples/worker-esm-dep.mjs": typeof import("chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/examples/worker-esm-dep.mjs");
|
||||
"chrome://mochitests/content/browser/devtools/shared/test-helpers/trace-objects.sys.mjs": typeof import("chrome://mochitests/content/browser/devtools/shared/test-helpers/trace-objects.sys.mjs");
|
||||
"chrome://mochitests/content/browser/js/xpconnect/tests/browser/worker_source.mjs": typeof import("chrome://mochitests/content/browser/js/xpconnect/tests/browser/worker_source.mjs");
|
||||
@@ -132,7 +113,6 @@ export interface Modules {
|
||||
"chrome://remote/content/shared/AsyncQueue.sys.mjs": typeof import("chrome://remote/content/shared/AsyncQueue.sys.mjs");
|
||||
"chrome://remote/content/shared/BiMap.sys.mjs": typeof import("chrome://remote/content/shared/BiMap.sys.mjs");
|
||||
"chrome://remote/content/shared/Browser.sys.mjs": typeof import("chrome://remote/content/shared/Browser.sys.mjs");
|
||||
"chrome://remote/content/shared/BrowsingContextUtils.sys.mjs": typeof import("chrome://remote/content/shared/BrowsingContextUtils.sys.mjs");
|
||||
"chrome://remote/content/shared/Capture.sys.mjs": typeof import("chrome://remote/content/shared/Capture.sys.mjs");
|
||||
"chrome://remote/content/shared/ChallengeHeaderParser.sys.mjs": typeof import("chrome://remote/content/shared/ChallengeHeaderParser.sys.mjs");
|
||||
"chrome://remote/content/shared/DOM.sys.mjs": typeof import("chrome://remote/content/shared/DOM.sys.mjs");
|
||||
@@ -187,6 +167,7 @@ export interface Modules {
|
||||
"chrome://remote/content/shared/messagehandler/WindowGlobalMessageHandler.sys.mjs": typeof import("chrome://remote/content/shared/messagehandler/WindowGlobalMessageHandler.sys.mjs");
|
||||
"chrome://remote/content/shared/messagehandler/sessiondata/SessionData.sys.mjs": typeof import("chrome://remote/content/shared/messagehandler/sessiondata/SessionData.sys.mjs");
|
||||
"chrome://remote/content/shared/messagehandler/sessiondata/SessionDataReader.sys.mjs": typeof import("chrome://remote/content/shared/messagehandler/sessiondata/SessionDataReader.sys.mjs");
|
||||
"chrome://remote/content/shared/messagehandler/transports/BrowsingContextUtils.sys.mjs": typeof import("chrome://remote/content/shared/messagehandler/transports/BrowsingContextUtils.sys.mjs");
|
||||
"chrome://remote/content/shared/messagehandler/transports/RootTransport.sys.mjs": typeof import("chrome://remote/content/shared/messagehandler/transports/RootTransport.sys.mjs");
|
||||
"chrome://remote/content/shared/messagehandler/transports/js-window-actors/MessageHandlerFrameActor.sys.mjs": typeof import("chrome://remote/content/shared/messagehandler/transports/js-window-actors/MessageHandlerFrameActor.sys.mjs");
|
||||
"chrome://remote/content/shared/messagehandler/transports/js-window-actors/MessageHandlerFrameChild.sys.mjs": typeof import("chrome://remote/content/shared/messagehandler/transports/js-window-actors/MessageHandlerFrameChild.sys.mjs");
|
||||
@@ -204,9 +185,7 @@ export interface Modules {
|
||||
"chrome://remote/content/shared/webdriver/URLPattern.sys.mjs": typeof import("chrome://remote/content/shared/webdriver/URLPattern.sys.mjs");
|
||||
"chrome://remote/content/shared/webdriver/UserPromptHandler.sys.mjs": typeof import("chrome://remote/content/shared/webdriver/UserPromptHandler.sys.mjs");
|
||||
"chrome://remote/content/shared/webdriver/process-actors/WebDriverProcessDataParent.sys.mjs": typeof import("chrome://remote/content/shared/webdriver/process-actors/WebDriverProcessDataParent.sys.mjs");
|
||||
"chrome://remote/content/webdriver-bidi/ConsoleMessageFormatter.sys.mjs": typeof import("chrome://remote/content/webdriver-bidi/ConsoleMessageFormatter.sys.mjs");
|
||||
"chrome://remote/content/webdriver-bidi/DownloadBehaviorManager.sys.mjs": typeof import("chrome://remote/content/webdriver-bidi/DownloadBehaviorManager.sys.mjs");
|
||||
"chrome://remote/content/webdriver-bidi/HelperAppDialogHandler.sys.mjs": typeof import("chrome://remote/content/webdriver-bidi/HelperAppDialogHandler.sys.mjs");
|
||||
"chrome://remote/content/webdriver-bidi/NewSessionHandler.sys.mjs": typeof import("chrome://remote/content/webdriver-bidi/NewSessionHandler.sys.mjs");
|
||||
"chrome://remote/content/webdriver-bidi/ProxyPerUserContextManager.sys.mjs": typeof import("chrome://remote/content/webdriver-bidi/ProxyPerUserContextManager.sys.mjs");
|
||||
"chrome://remote/content/webdriver-bidi/RemoteValue.sys.mjs": typeof import("chrome://remote/content/webdriver-bidi/RemoteValue.sys.mjs");
|
||||
@@ -245,17 +224,11 @@ export interface Modules {
|
||||
"moz-src:///browser/components/StartupTelemetry.sys.mjs": typeof import("moz-src:///browser/components/StartupTelemetry.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/Chat.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/Chat.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/ChatUtils.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/ChatUtils.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/CitationParser.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/CitationParser.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/ConversationSuggestions.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/ConversationSuggestions.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/IntentClassifier.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/IntentClassifier.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/PreferencesNavMap.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/PreferencesNavMap.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/PromptLoader.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/PromptLoader.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/PromptOptimizer.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/PromptOptimizer.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/SearchBrowsingHistory.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/SearchBrowsingHistory.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/SearchBrowsingHistoryDomainBoost.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/SearchBrowsingHistoryDomainBoost.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/SecurityProperties.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/SecurityProperties.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/SmartWindowNavigationInfo.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/SmartWindowNavigationInfo.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/TelemetryManager.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/TelemetryManager.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/TelemetryUtils.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/TelemetryUtils.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/TitleGeneration.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/TitleGeneration.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/Tools.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/Tools.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/Utils.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/Utils.sys.mjs");
|
||||
@@ -268,27 +241,19 @@ export interface Modules {
|
||||
"moz-src:///browser/components/aiwindow/models/memories/MemoriesHistorySource.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/memories/MemoriesHistorySource.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/memories/MemoriesManager.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/memories/MemoriesManager.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/memories/MemoriesSchedulers.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/memories/MemoriesSchedulers.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/memories/MemoriesSessions.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/memories/MemoriesSessions.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/models/memories/SensitiveInfoDetector.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/models/memories/SensitiveInfoDetector.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/services/MemoryStore.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/services/MemoryStore.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/actors/AIChatContentChild.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/actors/AIChatContentChild.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/AIWindow.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/AIWindow.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/AIWindowAccountAuth.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/AIWindowAccountAuth.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/AIWindowConstants.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/AIWindowConstants.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/AIWindowMenu.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/AIWindowMenu.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/AIWindowTabStatesManager.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/AIWindowTabStatesManager.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/AIWindowUI.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/AIWindowUI.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/ChatConstants.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/ChatConstants.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/ChatConversation.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/ChatConversation.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/ChatEnums.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/ChatEnums.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/ChatMessage.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/ChatMessage.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/ChatStore.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/ChatStore.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/ChatUtils.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/ChatUtils.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/FeedbackModal.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/FeedbackModal.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/SmartWindowTelemetry.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/SmartWindowTelemetry.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/TabManagementService.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/TabManagementService.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/ToolActionLog.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/ToolActionLog.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/ToolUI.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/ToolUI.sys.mjs");
|
||||
"moz-src:///browser/components/aiwindow/ui/modules/ToolUITelemetry.sys.mjs": typeof import("moz-src:///browser/components/aiwindow/ui/modules/ToolUITelemetry.sys.mjs");
|
||||
"moz-src:///browser/components/attribution/AttributionCode.sys.mjs": typeof import("moz-src:///browser/components/attribution/AttributionCode.sys.mjs");
|
||||
"moz-src:///browser/components/attribution/MacAttribution.sys.mjs": typeof import("moz-src:///browser/components/attribution/MacAttribution.sys.mjs");
|
||||
"moz-src:///browser/components/contentanalysis/content/ContentAnalysis.sys.mjs": typeof import("moz-src:///browser/components/contentanalysis/content/ContentAnalysis.sys.mjs");
|
||||
@@ -300,7 +265,6 @@ export interface Modules {
|
||||
"moz-src:///browser/components/customizableui/SearchWidgetTracker.sys.mjs": typeof import("moz-src:///browser/components/customizableui/SearchWidgetTracker.sys.mjs");
|
||||
"moz-src:///browser/components/customizableui/ToolbarContextMenu.sys.mjs": typeof import("moz-src:///browser/components/customizableui/ToolbarContextMenu.sys.mjs");
|
||||
"moz-src:///browser/components/customizableui/ToolbarDropHandler.sys.mjs": typeof import("moz-src:///browser/components/customizableui/ToolbarDropHandler.sys.mjs");
|
||||
"moz-src:///browser/components/customkeys/CustomKeys.sys.mjs": typeof import("moz-src:///browser/components/customkeys/CustomKeys.sys.mjs");
|
||||
"moz-src:///browser/components/downloads/DownloadSpamProtection.sys.mjs": typeof import("moz-src:///browser/components/downloads/DownloadSpamProtection.sys.mjs");
|
||||
"moz-src:///browser/components/downloads/DownloadsCommon.sys.mjs": typeof import("moz-src:///browser/components/downloads/DownloadsCommon.sys.mjs");
|
||||
"moz-src:///browser/components/downloads/DownloadsMacFinderProgress.sys.mjs": typeof import("moz-src:///browser/components/downloads/DownloadsMacFinderProgress.sys.mjs");
|
||||
@@ -310,12 +274,25 @@ export interface Modules {
|
||||
"moz-src:///browser/components/genai/LinkPreview.sys.mjs": typeof import("moz-src:///browser/components/genai/LinkPreview.sys.mjs");
|
||||
"moz-src:///browser/components/genai/LinkPreviewModel.sys.mjs": typeof import("moz-src:///browser/components/genai/LinkPreviewModel.sys.mjs");
|
||||
"moz-src:///browser/components/genai/PageAssist.sys.mjs": typeof import("moz-src:///browser/components/genai/PageAssist.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/GuardianClient.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/GuardianClient.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPPAutoRestore.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPPAutoRestore.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPPChannelFilter.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPPChannelFilter.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPPEnrollAndEntitleManager.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPPEnrollAndEntitleManager.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPPExceptionsManager.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPPExceptionsManager.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPPNetworkErrorObserver.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPPNetworkErrorObserver.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPPNetworkUtils.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPPNetworkUtils.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPPNimbusHelper.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPPNimbusHelper.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPPOnboardingMessageHelper.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPPOnboardingMessageHelper.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPPUsageHelper.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPPUsageHelper.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPPProxyManager.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPPProxyManager.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPPSignInWatcher.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPPSignInWatcher.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPPStartupCache.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPPStartupCache.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPProtection.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPProtection.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPProtectionAlertManager.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPProtectionAlertManager.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPProtectionHelpers.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPProtectionHelpers.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPProtectionInfobarManager.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPProtectionInfobarManager.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPProtectionPanel.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPProtectionPanel.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPProtectionServerlist.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPProtectionServerlist.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPProtectionService.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPProtectionService.sys.mjs");
|
||||
"moz-src:///browser/components/ipprotection/IPProtectionToolbarButton.sys.mjs": typeof import("moz-src:///browser/components/ipprotection/IPProtectionToolbarButton.sys.mjs");
|
||||
"moz-src:///browser/components/mozcachedohttp/MozCachedOHTTPProtocolHandler.sys.mjs": typeof import("moz-src:///browser/components/mozcachedohttp/MozCachedOHTTPProtocolHandler.sys.mjs");
|
||||
"moz-src:///browser/components/newtab/AboutNewTabComponents.sys.mjs": typeof import("moz-src:///browser/components/newtab/AboutNewTabComponents.sys.mjs");
|
||||
@@ -331,12 +308,9 @@ export interface Modules {
|
||||
"moz-src:///browser/components/places/PlacesUIUtils.sys.mjs": typeof import("moz-src:///browser/components/places/PlacesUIUtils.sys.mjs");
|
||||
"moz-src:///browser/components/privatebrowsing/ResetPBMPanel.sys.mjs": typeof import("moz-src:///browser/components/privatebrowsing/ResetPBMPanel.sys.mjs");
|
||||
"moz-src:///browser/components/protections/ContentBlockingPrefs.sys.mjs": typeof import("moz-src:///browser/components/protections/ContentBlockingPrefs.sys.mjs");
|
||||
"moz-src:///browser/components/protections/PrivacyMetricsService.sys.mjs": typeof import("moz-src:///browser/components/protections/PrivacyMetricsService.sys.mjs");
|
||||
"moz-src:///browser/components/qrcode/QRCodeGenerator.sys.mjs": typeof import("moz-src:///browser/components/qrcode/QRCodeGenerator.sys.mjs");
|
||||
"moz-src:///browser/components/qrcode/QRCodeWorker.sys.mjs": typeof import("moz-src:///browser/components/qrcode/QRCodeWorker.sys.mjs");
|
||||
"moz-src:///browser/components/reportbrokensite/ReportBrokenSite.sys.mjs": typeof import("moz-src:///browser/components/reportbrokensite/ReportBrokenSite.sys.mjs");
|
||||
"moz-src:///browser/components/screenshots/ScreenshotsOverlayChild.sys.mjs": typeof import("moz-src:///browser/components/screenshots/ScreenshotsOverlayChild.sys.mjs");
|
||||
"moz-src:///browser/components/screenshots/ScreenshotsUtils.sys.mjs": typeof import("moz-src:///browser/components/screenshots/ScreenshotsUtils.sys.mjs");
|
||||
"moz-src:///browser/components/search/BrowserSearchTelemetry.sys.mjs": typeof import("moz-src:///browser/components/search/BrowserSearchTelemetry.sys.mjs");
|
||||
"moz-src:///browser/components/search/OpenSearchManager.sys.mjs": typeof import("moz-src:///browser/components/search/OpenSearchManager.sys.mjs");
|
||||
"moz-src:///browser/components/search/SERPCategorization.sys.mjs": typeof import("moz-src:///browser/components/search/SERPCategorization.sys.mjs");
|
||||
@@ -366,10 +340,11 @@ export interface Modules {
|
||||
"moz-src:///browser/components/urlbar/MerinoClient.sys.mjs": typeof import("moz-src:///browser/components/urlbar/MerinoClient.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/QuickActionsLoaderDefault.sys.mjs": typeof import("moz-src:///browser/components/urlbar/QuickActionsLoaderDefault.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/QuickSuggest.sys.mjs": typeof import("moz-src:///browser/components/urlbar/QuickSuggest.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/SearchModeSwitcher.sys.mjs": typeof import("moz-src:///browser/components/urlbar/SearchModeSwitcher.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/SmartbarMentionsPanelSearch.sys.mjs": typeof import("moz-src:///browser/components/urlbar/SmartbarMentionsPanelSearch.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarController.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarController.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarEventBufferer.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarEventBufferer.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarPrefs.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarPrefs.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarProviderActionsSearchMode.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarProviderActionsSearchMode.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarProviderAiChat.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarProviderAiChat.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarProviderAutofill.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarProviderAutofill.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarProviderCalculator.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarProviderCalculator.sys.mjs");
|
||||
@@ -388,19 +363,24 @@ export interface Modules {
|
||||
"moz-src:///browser/components/urlbar/UrlbarProviderTopSites.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarProviderTopSites.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarProviderUnitConversion.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarProviderUnitConversion.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarProvidersManager.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarProvidersManager.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarResult.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarResult.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarSearchOneOffs.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarSearchOneOffs.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarSearchTermsPersistence.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarSearchTermsPersistence.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarSearchUtils.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarSearchUtils.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarTokenizer.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarTokenizer.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarUtils.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarUtils.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarValueFormatter.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarValueFormatter.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/UrlbarView.sys.mjs": typeof import("moz-src:///browser/components/urlbar/UrlbarView.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/private/AmpSuggestions.sys.mjs": typeof import("moz-src:///browser/components/urlbar/private/AmpSuggestions.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/private/GeolocationUtils.sys.mjs": typeof import("moz-src:///browser/components/urlbar/private/GeolocationUtils.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/private/MLSuggest.sys.mjs": typeof import("moz-src:///browser/components/urlbar/private/MLSuggest.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/private/SportsSuggestions.sys.mjs": typeof import("moz-src:///browser/components/urlbar/private/SportsSuggestions.sys.mjs");
|
||||
"moz-src:///browser/components/urlbar/private/SuggestBackendRust.sys.mjs": typeof import("moz-src:///browser/components/urlbar/private/SuggestBackendRust.sys.mjs");
|
||||
"moz-src:///browser/modules/CanvasPermissionPromptHelper.sys.mjs": typeof import("moz-src:///browser/modules/CanvasPermissionPromptHelper.sys.mjs");
|
||||
"moz-src:///browser/modules/ContextId.sys.mjs": typeof import("moz-src:///browser/modules/ContextId.sys.mjs");
|
||||
"moz-src:///browser/modules/PrivateBrowsingUI.sys.mjs": typeof import("moz-src:///browser/modules/PrivateBrowsingUI.sys.mjs");
|
||||
"moz-src:///browser/modules/UnexpectedScriptObserver.sys.mjs": typeof import("moz-src:///browser/modules/UnexpectedScriptObserver.sys.mjs");
|
||||
"moz-src:///browser/modules/WebAuthnPromptHelper.sys.mjs": typeof import("moz-src:///browser/modules/WebAuthnPromptHelper.sys.mjs");
|
||||
"moz-src:///browser/themes/ToolbarIconColor.sys.mjs": typeof import("moz-src:///browser/themes/ToolbarIconColor.sys.mjs");
|
||||
"moz-src:///dom/notification/MemoryNotificationDB.sys.mjs": typeof import("moz-src:///dom/notification/MemoryNotificationDB.sys.mjs");
|
||||
"moz-src:///dom/notification/NotificationDB.sys.mjs": typeof import("moz-src:///dom/notification/NotificationDB.sys.mjs");
|
||||
@@ -412,30 +392,6 @@ export interface Modules {
|
||||
"moz-src:///toolkit/components/doh/DoHController.sys.mjs": typeof import("moz-src:///toolkit/components/doh/DoHController.sys.mjs");
|
||||
"moz-src:///toolkit/components/doh/DoHHeuristics.sys.mjs": typeof import("moz-src:///toolkit/components/doh/DoHHeuristics.sys.mjs");
|
||||
"moz-src:///toolkit/components/doh/TRRPerformance.sys.mjs": typeof import("moz-src:///toolkit/components/doh/TRRPerformance.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/GuardianTypes.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/GuardianTypes.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPPAuthProvider.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPPAuthProvider.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPPAutoRestore.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPPAutoRestore.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPPAutoStart.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPPAutoStart.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPPChannelFilter.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPPChannelFilter.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPPEarlyStartupFilter.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPPEarlyStartupFilter.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPPExceptionsManager.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPPExceptionsManager.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPPNetworkErrorObserver.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPPNetworkErrorObserver.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPPNetworkUtils.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPPNetworkUtils.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPPNimbusHelper.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPPNimbusHelper.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPPProxyManager.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPPProxyManager.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPPSessionPrefManager.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPPSessionPrefManager.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPPStartupCache.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPPStartupCache.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPProtectionActivator.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPProtectionActivator.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPProtectionServerlist.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPProtectionServerlist.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/IPProtectionService.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/IPProtectionService.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/enterprise/IPPAlwaysOn.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/enterprise/IPPAlwaysOn.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/enterprise/IPPEnterpriseAuthProvider.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/enterprise/IPPEnterpriseAuthProvider.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/fxa/GuardianClient.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/fxa/GuardianClient.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/fxa/IPPAndroidAuthProvider.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/fxa/IPPAndroidAuthProvider.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/fxa/IPPFxaActivateAuthProvider.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/fxa/IPPFxaActivateAuthProvider.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/fxa/IPPFxaAuthProvider.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/fxa/IPPFxaAuthProvider.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/fxa/IPPSignInWatcher.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/fxa/IPPSignInWatcher.sys.mjs");
|
||||
"moz-src:///toolkit/components/ipprotection/gpi/IPPGpiAuthProvider.sys.mjs": typeof import("moz-src:///toolkit/components/ipprotection/gpi/IPPGpiAuthProvider.sys.mjs");
|
||||
"moz-src:///toolkit/components/pageextractor/DOMExtractor.sys.mjs": typeof import("moz-src:///toolkit/components/pageextractor/DOMExtractor.sys.mjs");
|
||||
"moz-src:///toolkit/components/qrcode/encoder.mjs": typeof import("moz-src:///toolkit/components/qrcode/encoder.mjs");
|
||||
"moz-src:///toolkit/components/reader/AboutReader.sys.mjs": typeof import("moz-src:///toolkit/components/reader/AboutReader.sys.mjs");
|
||||
@@ -445,7 +401,6 @@ export interface Modules {
|
||||
"moz-src:///toolkit/components/search/ConfigSearchEngine.sys.mjs": typeof import("moz-src:///toolkit/components/search/ConfigSearchEngine.sys.mjs");
|
||||
"moz-src:///toolkit/components/search/OpenSearchEngine.sys.mjs": typeof import("moz-src:///toolkit/components/search/OpenSearchEngine.sys.mjs");
|
||||
"moz-src:///toolkit/components/search/OpenSearchLoader.sys.mjs": typeof import("moz-src:///toolkit/components/search/OpenSearchLoader.sys.mjs");
|
||||
"moz-src:///toolkit/components/search/OpenSearchParser.sys.mjs": typeof import("moz-src:///toolkit/components/search/OpenSearchParser.sys.mjs");
|
||||
"moz-src:///toolkit/components/search/PolicySearchEngine.sys.mjs": typeof import("moz-src:///toolkit/components/search/PolicySearchEngine.sys.mjs");
|
||||
"moz-src:///toolkit/components/search/SearchEngine.sys.mjs": typeof import("moz-src:///toolkit/components/search/SearchEngine.sys.mjs");
|
||||
"moz-src:///toolkit/components/search/SearchEngineSelector.sys.mjs": typeof import("moz-src:///toolkit/components/search/SearchEngineSelector.sys.mjs");
|
||||
@@ -468,7 +423,6 @@ export interface Modules {
|
||||
"moz-src:///toolkit/modules/DateTimePickerPanel.sys.mjs": typeof import("moz-src:///toolkit/modules/DateTimePickerPanel.sys.mjs");
|
||||
"moz-src:///toolkit/modules/FaviconUtils.sys.mjs": typeof import("moz-src:///toolkit/modules/FaviconUtils.sys.mjs");
|
||||
"moz-src:///toolkit/modules/PrefUtils.sys.mjs": typeof import("moz-src:///toolkit/modules/PrefUtils.sys.mjs");
|
||||
"moz-src:///toolkit/modules/WebAuthnPromptHelper.sys.mjs": typeof import("moz-src:///toolkit/modules/WebAuthnPromptHelper.sys.mjs");
|
||||
"moz-src:///toolkit/profile/ProfilesDatastoreService.sys.mjs": typeof import("moz-src:///toolkit/profile/ProfilesDatastoreService.sys.mjs");
|
||||
"resource:///actors/AboutLoginsParent.sys.mjs": typeof import("resource:///actors/AboutLoginsParent.sys.mjs");
|
||||
"resource:///actors/AboutNewTabParent.sys.mjs": typeof import("resource:///actors/AboutNewTabParent.sys.mjs");
|
||||
@@ -504,8 +458,8 @@ export interface Modules {
|
||||
"resource:///modules/ChromeProfileMigrator.sys.mjs": typeof import("resource:///modules/ChromeProfileMigrator.sys.mjs");
|
||||
"resource:///modules/ChromeWindowsLoginCrypto.sys.mjs": typeof import("resource:///modules/ChromeWindowsLoginCrypto.sys.mjs");
|
||||
"resource:///modules/ContentCrashHandlers.sys.mjs": typeof import("resource:///modules/ContentCrashHandlers.sys.mjs");
|
||||
"resource:///modules/CustomKeys.sys.mjs": typeof import("resource:///modules/CustomKeys.sys.mjs");
|
||||
"resource:///modules/Dedupe.sys.mjs": typeof import("resource:///modules/Dedupe.sys.mjs");
|
||||
"resource:///modules/DefaultWindowsLaunchOnLogin.sys.mjs": typeof import("resource:///modules/DefaultWindowsLaunchOnLogin.sys.mjs");
|
||||
"resource:///modules/DevToolsStartup.sys.mjs": typeof import("resource:///modules/DevToolsStartup.sys.mjs");
|
||||
"resource:///modules/Discovery.sys.mjs": typeof import("resource:///modules/Discovery.sys.mjs");
|
||||
"resource:///modules/ESEDBReader.sys.mjs": typeof import("resource:///modules/ESEDBReader.sys.mjs");
|
||||
@@ -537,13 +491,13 @@ export interface Modules {
|
||||
"resource:///modules/OpenTabsController.sys.mjs": typeof import("resource:///modules/OpenTabsController.sys.mjs");
|
||||
"resource:///modules/PageActions.sys.mjs": typeof import("resource:///modules/PageActions.sys.mjs");
|
||||
"resource:///modules/PartnerLinkAttribution.sys.mjs": typeof import("resource:///modules/PartnerLinkAttribution.sys.mjs");
|
||||
"resource:///modules/PermissionPromptTargeting.sys.mjs": typeof import("resource:///modules/PermissionPromptTargeting.sys.mjs");
|
||||
"resource:///modules/PermissionUI.sys.mjs": typeof import("resource:///modules/PermissionUI.sys.mjs");
|
||||
"resource:///modules/PopupAndRedirectBlockerObserver.sys.mjs": typeof import("resource:///modules/PopupAndRedirectBlockerObserver.sys.mjs");
|
||||
"resource:///modules/ProcessHangMonitor.sys.mjs": typeof import("resource:///modules/ProcessHangMonitor.sys.mjs");
|
||||
"resource:///modules/ReducedProtectionNotification.sys.mjs": typeof import("resource:///modules/ReducedProtectionNotification.sys.mjs");
|
||||
"resource:///modules/SafariProfileMigrator.sys.mjs": typeof import("resource:///modules/SafariProfileMigrator.sys.mjs");
|
||||
"resource:///modules/Sanitizer.sys.mjs": typeof import("resource:///modules/Sanitizer.sys.mjs");
|
||||
"resource:///modules/ScreenshotsOverlayChild.sys.mjs": typeof import("resource:///modules/ScreenshotsOverlayChild.sys.mjs");
|
||||
"resource:///modules/ScreenshotsUtils.sys.mjs": typeof import("resource:///modules/ScreenshotsUtils.sys.mjs");
|
||||
"resource:///modules/SelectionChangedMenulist.sys.mjs": typeof import("resource:///modules/SelectionChangedMenulist.sys.mjs");
|
||||
"resource:///modules/SharingUtils.sys.mjs": typeof import("resource:///modules/SharingUtils.sys.mjs");
|
||||
"resource:///modules/SiteDataManager.sys.mjs": typeof import("resource:///modules/SiteDataManager.sys.mjs");
|
||||
@@ -553,11 +507,11 @@ export interface Modules {
|
||||
"resource:///modules/ThemeVariableMap.sys.mjs": typeof import("resource:///modules/ThemeVariableMap.sys.mjs");
|
||||
"resource:///modules/TransientPrefs.sys.mjs": typeof import("resource:///modules/TransientPrefs.sys.mjs");
|
||||
"resource:///modules/URILoadingHelper.sys.mjs": typeof import("resource:///modules/URILoadingHelper.sys.mjs");
|
||||
"resource:///modules/UpdatePolicyEnforcer.sys.mjs": typeof import("resource:///modules/UpdatePolicyEnforcer.sys.mjs");
|
||||
"resource:///modules/WebProtocolHandlerRegistrar.sys.mjs": typeof import("resource:///modules/WebProtocolHandlerRegistrar.sys.mjs");
|
||||
"resource:///modules/WindowsJumpLists.sys.mjs": typeof import("resource:///modules/WindowsJumpLists.sys.mjs");
|
||||
"resource:///modules/WindowsPreviewPerTab.sys.mjs": typeof import("resource:///modules/WindowsPreviewPerTab.sys.mjs");
|
||||
"resource:///modules/ZoomUI.sys.mjs": typeof import("resource:///modules/ZoomUI.sys.mjs");
|
||||
"resource:///modules/aboutwelcome/AWScreenUtils.sys.mjs": typeof import("resource:///modules/aboutwelcome/AWScreenUtils.sys.mjs");
|
||||
"resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs": typeof import("resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs");
|
||||
"resource:///modules/aboutwelcome/AboutWelcomeDefaults.sys.mjs": typeof import("resource:///modules/aboutwelcome/AboutWelcomeDefaults.sys.mjs");
|
||||
"resource:///modules/aboutwelcome/AboutWelcomeTelemetry.sys.mjs": typeof import("resource:///modules/aboutwelcome/AboutWelcomeTelemetry.sys.mjs");
|
||||
@@ -566,7 +520,6 @@ export interface Modules {
|
||||
"resource:///modules/asrouter/ASRouterDefaultConfig.sys.mjs": typeof import("resource:///modules/asrouter/ASRouterDefaultConfig.sys.mjs");
|
||||
"resource:///modules/asrouter/ASRouterNewTabHook.sys.mjs": typeof import("resource:///modules/asrouter/ASRouterNewTabHook.sys.mjs");
|
||||
"resource:///modules/asrouter/ASRouterPreferences.sys.mjs": typeof import("resource:///modules/asrouter/ASRouterPreferences.sys.mjs");
|
||||
"resource:///modules/asrouter/ASRouterScreenUtils.sys.mjs": typeof import("resource:///modules/asrouter/ASRouterScreenUtils.sys.mjs");
|
||||
"resource:///modules/asrouter/ASRouterStorage.sys.mjs": typeof import("resource:///modules/asrouter/ASRouterStorage.sys.mjs");
|
||||
"resource:///modules/asrouter/ASRouterTargeting.sys.mjs": typeof import("resource:///modules/asrouter/ASRouterTargeting.sys.mjs");
|
||||
"resource:///modules/asrouter/ASRouterTelemetry.sys.mjs": typeof import("resource:///modules/asrouter/ASRouterTelemetry.sys.mjs");
|
||||
@@ -585,7 +538,6 @@ export interface Modules {
|
||||
"resource:///modules/asrouter/PageEventManager.sys.mjs": typeof import("resource:///modules/asrouter/PageEventManager.sys.mjs");
|
||||
"resource:///modules/asrouter/PanelTestProvider.sys.mjs": typeof import("resource:///modules/asrouter/PanelTestProvider.sys.mjs");
|
||||
"resource:///modules/asrouter/RemoteL10n.sys.mjs": typeof import("resource:///modules/asrouter/RemoteL10n.sys.mjs");
|
||||
"resource:///modules/asrouter/SmartWindowNewTabPromo.sys.mjs": typeof import("resource:///modules/asrouter/SmartWindowNewTabPromo.sys.mjs");
|
||||
"resource:///modules/asrouter/Spotlight.sys.mjs": typeof import("resource:///modules/asrouter/Spotlight.sys.mjs");
|
||||
"resource:///modules/asrouter/ToastNotification.sys.mjs": typeof import("resource:///modules/asrouter/ToastNotification.sys.mjs");
|
||||
"resource:///modules/asrouter/ToolbarBadgeHub.sys.mjs": typeof import("resource:///modules/asrouter/ToolbarBadgeHub.sys.mjs");
|
||||
@@ -607,7 +559,6 @@ export interface Modules {
|
||||
"resource:///modules/backup/SelectableProfileBackupResource.sys.mjs": typeof import("resource:///modules/backup/SelectableProfileBackupResource.sys.mjs");
|
||||
"resource:///modules/backup/SessionStoreBackupResource.sys.mjs": typeof import("resource:///modules/backup/SessionStoreBackupResource.sys.mjs");
|
||||
"resource:///modules/backup/SiteSettingsBackupResource.sys.mjs": typeof import("resource:///modules/backup/SiteSettingsBackupResource.sys.mjs");
|
||||
"resource:///modules/contentsharing/ContentSharingUtils.sys.mjs": typeof import("resource:///modules/contentsharing/ContentSharingUtils.sys.mjs");
|
||||
"resource:///modules/distribution.sys.mjs": typeof import("resource:///modules/distribution.sys.mjs");
|
||||
"resource:///modules/firefox-view-synced-tabs-error-handler.sys.mjs": typeof import("resource:///modules/firefox-view-synced-tabs-error-handler.sys.mjs");
|
||||
"resource:///modules/firefox-view-tabs-setup-manager.sys.mjs": typeof import("resource:///modules/firefox-view-tabs-setup-manager.sys.mjs");
|
||||
@@ -689,11 +640,6 @@ export interface Modules {
|
||||
"resource://devtools/client/shared/components/tree/TreeRow.mjs": typeof import("resource://devtools/client/shared/components/tree/TreeRow.mjs");
|
||||
"resource://devtools/client/shared/components/tree/TreeView.mjs": typeof import("resource://devtools/client/shared/components/tree/TreeView.mjs");
|
||||
"resource://devtools/client/shared/focus.mjs": typeof import("resource://devtools/client/shared/focus.mjs");
|
||||
"resource://devtools/client/shared/inplace-editor-utils/autocomplete-anchor-function.mjs": typeof import("resource://devtools/client/shared/inplace-editor-utils/autocomplete-anchor-function.mjs");
|
||||
"resource://devtools/client/shared/inplace-editor-utils/autocomplete-anchor-size-function.mjs": typeof import("resource://devtools/client/shared/inplace-editor-utils/autocomplete-anchor-size-function.mjs");
|
||||
"resource://devtools/client/shared/inplace-editor-utils/autocomplete-color-function.mjs": typeof import("resource://devtools/client/shared/inplace-editor-utils/autocomplete-color-function.mjs");
|
||||
"resource://devtools/client/shared/inplace-editor-utils/autocomplete-linear-gradient-function.mjs": typeof import("resource://devtools/client/shared/inplace-editor-utils/autocomplete-linear-gradient-function.mjs");
|
||||
"resource://devtools/client/shared/inplace-editor-utils/constants.mjs": typeof import("resource://devtools/client/shared/inplace-editor-utils/constants.mjs");
|
||||
"resource://devtools/client/shared/scroll.mjs": typeof import("resource://devtools/client/shared/scroll.mjs");
|
||||
"resource://devtools/client/shared/sourceeditor/codemirror6/codemirror6.bundle.mjs": typeof import("resource://devtools/client/shared/sourceeditor/codemirror6/codemirror6.bundle.mjs");
|
||||
"resource://devtools/client/storage/VariablesView.sys.mjs": typeof import("resource://devtools/client/storage/VariablesView.sys.mjs");
|
||||
@@ -739,7 +685,6 @@ export interface Modules {
|
||||
"resource://devtools/shared/test-helpers/dump-scope.sys.mjs": typeof import("resource://devtools/shared/test-helpers/dump-scope.sys.mjs");
|
||||
"resource://devtools/shared/test-helpers/tracked-objects.sys.mjs": typeof import("resource://devtools/shared/test-helpers/tracked-objects.sys.mjs");
|
||||
"resource://devtools/shared/validate-breakpoint.sys.mjs": typeof import("resource://devtools/shared/validate-breakpoint.sys.mjs");
|
||||
"resource://devtools/shared/webconsole/formatMessageParametersAndText.sys.mjs": typeof import("resource://devtools/shared/webconsole/formatMessageParametersAndText.sys.mjs");
|
||||
"resource://devtools/shared/worker/worker.sys.mjs": typeof import("resource://devtools/shared/worker/worker.sys.mjs");
|
||||
"resource://gre/actors/AutoCompleteParent.sys.mjs": typeof import("resource://gre/actors/AutoCompleteParent.sys.mjs");
|
||||
"resource://gre/actors/FormHandlerChild.sys.mjs": typeof import("resource://gre/actors/FormHandlerChild.sys.mjs");
|
||||
@@ -774,7 +719,6 @@ export interface Modules {
|
||||
"resource://gre/modules/BookmarkJSONUtils.sys.mjs": typeof import("resource://gre/modules/BookmarkJSONUtils.sys.mjs");
|
||||
"resource://gre/modules/BookmarkList.sys.mjs": typeof import("resource://gre/modules/BookmarkList.sys.mjs");
|
||||
"resource://gre/modules/Bookmarks.sys.mjs": typeof import("resource://gre/modules/Bookmarks.sys.mjs");
|
||||
"resource://gre/modules/BreachAlertStore.sys.mjs": typeof import("resource://gre/modules/BreachAlertStore.sys.mjs");
|
||||
"resource://gre/modules/BrowserTelemetryUtils.sys.mjs": typeof import("resource://gre/modules/BrowserTelemetryUtils.sys.mjs");
|
||||
"resource://gre/modules/BrowserUtils.sys.mjs": typeof import("resource://gre/modules/BrowserUtils.sys.mjs");
|
||||
"resource://gre/modules/CSV.sys.mjs": typeof import("resource://gre/modules/CSV.sys.mjs");
|
||||
@@ -901,15 +845,14 @@ export interface Modules {
|
||||
"resource://gre/modules/GeckoViewActorManager.sys.mjs": typeof import("resource://gre/modules/GeckoViewActorManager.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewAutocomplete.sys.mjs": typeof import("resource://gre/modules/GeckoViewAutocomplete.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewAutofill.sys.mjs": typeof import("resource://gre/modules/GeckoViewAutofill.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewChildModule.sys.mjs": typeof import("resource://gre/modules/GeckoViewChildModule.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewClipboardPermission.sys.mjs": typeof import("resource://gre/modules/GeckoViewClipboardPermission.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewIdentityCredential.sys.mjs": typeof import("resource://gre/modules/GeckoViewIdentityCredential.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewPreferences.sys.mjs": typeof import("resource://gre/modules/GeckoViewPreferences.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewPrompter.sys.mjs": typeof import("resource://gre/modules/GeckoViewPrompter.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewSettings.sys.mjs": typeof import("resource://gre/modules/GeckoViewSettings.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewTab.sys.mjs": typeof import("resource://gre/modules/GeckoViewTab.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewTelemetry.sys.mjs": typeof import("resource://gre/modules/GeckoViewTelemetry.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewTestUtils.sys.mjs": typeof import("resource://gre/modules/GeckoViewTestUtils.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewTrackingDB.sys.mjs": typeof import("resource://gre/modules/GeckoViewTrackingDB.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewUtils.sys.mjs": typeof import("resource://gre/modules/GeckoViewUtils.sys.mjs");
|
||||
"resource://gre/modules/GeckoViewWebExtension.sys.mjs": typeof import("resource://gre/modules/GeckoViewWebExtension.sys.mjs");
|
||||
"resource://gre/modules/Geometry.sys.mjs": typeof import("resource://gre/modules/Geometry.sys.mjs");
|
||||
@@ -925,9 +868,9 @@ export interface Modules {
|
||||
"resource://gre/modules/Integration.sys.mjs": typeof import("resource://gre/modules/Integration.sys.mjs");
|
||||
"resource://gre/modules/JSONFile.sys.mjs": typeof import("resource://gre/modules/JSONFile.sys.mjs");
|
||||
"resource://gre/modules/JsonSchema.sys.mjs": typeof import("resource://gre/modules/JsonSchema.sys.mjs");
|
||||
"resource://gre/modules/KeyboardLockUtils.sys.mjs": typeof import("resource://gre/modules/KeyboardLockUtils.sys.mjs");
|
||||
"resource://gre/modules/KeywordUtils.sys.mjs": typeof import("resource://gre/modules/KeywordUtils.sys.mjs");
|
||||
"resource://gre/modules/LangPackMatcher.sys.mjs": typeof import("resource://gre/modules/LangPackMatcher.sys.mjs");
|
||||
"resource://gre/modules/LayoutUtils.sys.mjs": typeof import("resource://gre/modules/LayoutUtils.sys.mjs");
|
||||
"resource://gre/modules/LightweightThemeConsumer.sys.mjs": typeof import("resource://gre/modules/LightweightThemeConsumer.sys.mjs");
|
||||
"resource://gre/modules/LightweightThemeManager.sys.mjs": typeof import("resource://gre/modules/LightweightThemeManager.sys.mjs");
|
||||
"resource://gre/modules/LoadURIDelegate.sys.mjs": typeof import("resource://gre/modules/LoadURIDelegate.sys.mjs");
|
||||
@@ -961,7 +904,6 @@ export interface Modules {
|
||||
"resource://gre/modules/NativeMessaging.sys.mjs": typeof import("resource://gre/modules/NativeMessaging.sys.mjs");
|
||||
"resource://gre/modules/NetUtil.sys.mjs": typeof import("resource://gre/modules/NetUtil.sys.mjs");
|
||||
"resource://gre/modules/NewTabUtils.sys.mjs": typeof import("resource://gre/modules/NewTabUtils.sys.mjs");
|
||||
"resource://gre/modules/NimbusGeckoViewQATelemetry.sys.mjs": typeof import("resource://gre/modules/NimbusGeckoViewQATelemetry.sys.mjs");
|
||||
"resource://gre/modules/OSCrypto_win.sys.mjs": typeof import("resource://gre/modules/OSCrypto_win.sys.mjs");
|
||||
"resource://gre/modules/OSKeyStore.sys.mjs": typeof import("resource://gre/modules/OSKeyStore.sys.mjs");
|
||||
"resource://gre/modules/ObjectUtils.sys.mjs": typeof import("resource://gre/modules/ObjectUtils.sys.mjs");
|
||||
@@ -1008,7 +950,6 @@ export interface Modules {
|
||||
"resource://gre/modules/RustSharedRemoteSettingsService.sys.mjs": typeof import("resource://gre/modules/RustSharedRemoteSettingsService.sys.mjs");
|
||||
"resource://gre/modules/SafeBrowsing.sys.mjs": typeof import("resource://gre/modules/SafeBrowsing.sys.mjs");
|
||||
"resource://gre/modules/SandboxUtils.sys.mjs": typeof import("resource://gre/modules/SandboxUtils.sys.mjs");
|
||||
"resource://gre/modules/ScheduledTask.sys.mjs": typeof import("resource://gre/modules/ScheduledTask.sys.mjs");
|
||||
"resource://gre/modules/Schemas.sys.mjs": typeof import("resource://gre/modules/Schemas.sys.mjs");
|
||||
"resource://gre/modules/SecurityInfo.sys.mjs": typeof import("resource://gre/modules/SecurityInfo.sys.mjs");
|
||||
"resource://gre/modules/SelectionUtils.sys.mjs": typeof import("resource://gre/modules/SelectionUtils.sys.mjs");
|
||||
@@ -1034,6 +975,7 @@ export interface Modules {
|
||||
"resource://gre/modules/TelemetrySession.sys.mjs": typeof import("resource://gre/modules/TelemetrySession.sys.mjs");
|
||||
"resource://gre/modules/TelemetryStorage.sys.mjs": typeof import("resource://gre/modules/TelemetryStorage.sys.mjs");
|
||||
"resource://gre/modules/TelemetryTimestamps.sys.mjs": typeof import("resource://gre/modules/TelemetryTimestamps.sys.mjs");
|
||||
"resource://gre/modules/TelemetryUtils.sys.mjs": typeof import("resource://gre/modules/TelemetryUtils.sys.mjs");
|
||||
"resource://gre/modules/Timer.sys.mjs": typeof import("resource://gre/modules/Timer.sys.mjs");
|
||||
"resource://gre/modules/Troubleshoot.sys.mjs": typeof import("resource://gre/modules/Troubleshoot.sys.mjs");
|
||||
"resource://gre/modules/UninstallPing.sys.mjs": typeof import("resource://gre/modules/UninstallPing.sys.mjs");
|
||||
@@ -1094,7 +1036,6 @@ export interface Modules {
|
||||
"resource://gre/modules/narrate/NarrateControls.sys.mjs": typeof import("resource://gre/modules/narrate/NarrateControls.sys.mjs");
|
||||
"resource://gre/modules/policies/WindowsGPOParser.sys.mjs": typeof import("resource://gre/modules/policies/WindowsGPOParser.sys.mjs");
|
||||
"resource://gre/modules/policies/macOSPoliciesParser.sys.mjs": typeof import("resource://gre/modules/policies/macOSPoliciesParser.sys.mjs");
|
||||
"resource://gre/modules/psm/DER.sys.mjs": typeof import("resource://gre/modules/psm/DER.sys.mjs");
|
||||
"resource://gre/modules/psm/QWACs.sys.mjs": typeof import("resource://gre/modules/psm/QWACs.sys.mjs");
|
||||
"resource://gre/modules/psm/RemoteSecuritySettings.sys.mjs": typeof import("resource://gre/modules/psm/RemoteSecuritySettings.sys.mjs");
|
||||
"resource://gre/modules/psm/X509.sys.mjs": typeof import("resource://gre/modules/psm/X509.sys.mjs");
|
||||
@@ -1118,7 +1059,6 @@ export interface Modules {
|
||||
"resource://gre/modules/shared/FieldScanner.sys.mjs": typeof import("resource://gre/modules/shared/FieldScanner.sys.mjs");
|
||||
"resource://gre/modules/shared/FormAutofillHandler.sys.mjs": typeof import("resource://gre/modules/shared/FormAutofillHandler.sys.mjs");
|
||||
"resource://gre/modules/shared/FormAutofillHeuristics.sys.mjs": typeof import("resource://gre/modules/shared/FormAutofillHeuristics.sys.mjs");
|
||||
"resource://gre/modules/shared/FormAutofillML.sys.mjs": typeof import("resource://gre/modules/shared/FormAutofillML.sys.mjs");
|
||||
"resource://gre/modules/shared/FormAutofillNameUtils.sys.mjs": typeof import("resource://gre/modules/shared/FormAutofillNameUtils.sys.mjs");
|
||||
"resource://gre/modules/shared/FormAutofillSection.sys.mjs": typeof import("resource://gre/modules/shared/FormAutofillSection.sys.mjs");
|
||||
"resource://gre/modules/shared/FormAutofillUtils.sys.mjs": typeof import("resource://gre/modules/shared/FormAutofillUtils.sys.mjs");
|
||||
@@ -1158,7 +1098,6 @@ export interface Modules {
|
||||
"resource://newtab/lib/HighlightsFeed.sys.mjs": typeof import("resource://newtab/lib/HighlightsFeed.sys.mjs");
|
||||
"resource://newtab/lib/InferredModel/FeatureModel.sys.mjs": typeof import("resource://newtab/lib/InferredModel/FeatureModel.sys.mjs");
|
||||
"resource://newtab/lib/InferredModel/GreedyContentRanker.mjs": typeof import("resource://newtab/lib/InferredModel/GreedyContentRanker.mjs");
|
||||
"resource://newtab/lib/InferredModel/InferredConstants.sys.mjs": typeof import("resource://newtab/lib/InferredModel/InferredConstants.sys.mjs");
|
||||
"resource://newtab/lib/InferredPersonalizationFeed.sys.mjs": typeof import("resource://newtab/lib/InferredPersonalizationFeed.sys.mjs");
|
||||
"resource://newtab/lib/NewTabActorRegistry.sys.mjs": typeof import("resource://newtab/lib/NewTabActorRegistry.sys.mjs");
|
||||
"resource://newtab/lib/NewTabAttributionFeed.sys.mjs": typeof import("resource://newtab/lib/NewTabAttributionFeed.sys.mjs");
|
||||
@@ -1170,7 +1109,6 @@ export interface Modules {
|
||||
"resource://newtab/lib/PersistentCache.sys.mjs": typeof import("resource://newtab/lib/PersistentCache.sys.mjs");
|
||||
"resource://newtab/lib/PlacesFeed.sys.mjs": typeof import("resource://newtab/lib/PlacesFeed.sys.mjs");
|
||||
"resource://newtab/lib/PrefsFeed.sys.mjs": typeof import("resource://newtab/lib/PrefsFeed.sys.mjs");
|
||||
"resource://newtab/lib/RemoteRenderer.sys.mjs": typeof import("resource://newtab/lib/RemoteRenderer.sys.mjs");
|
||||
"resource://newtab/lib/Screenshots.sys.mjs": typeof import("resource://newtab/lib/Screenshots.sys.mjs");
|
||||
"resource://newtab/lib/SectionsLayoutFeed.sys.mjs": typeof import("resource://newtab/lib/SectionsLayoutFeed.sys.mjs");
|
||||
"resource://newtab/lib/SectionsManager.sys.mjs": typeof import("resource://newtab/lib/SectionsManager.sys.mjs");
|
||||
@@ -1187,10 +1125,8 @@ export interface Modules {
|
||||
"resource://newtab/lib/TopStoriesFeed.sys.mjs": typeof import("resource://newtab/lib/TopStoriesFeed.sys.mjs");
|
||||
"resource://newtab/lib/UTEventReporting.sys.mjs": typeof import("resource://newtab/lib/UTEventReporting.sys.mjs");
|
||||
"resource://newtab/lib/Wallpapers/WallpaperFeed.sys.mjs": typeof import("resource://newtab/lib/Wallpapers/WallpaperFeed.sys.mjs");
|
||||
"resource://newtab/lib/Wallpapers/WallpaperThemeUtils.mjs": typeof import("resource://newtab/lib/Wallpapers/WallpaperThemeUtils.mjs");
|
||||
"resource://newtab/lib/WeatherFeed.sys.mjs": typeof import("resource://newtab/lib/WeatherFeed.sys.mjs");
|
||||
"resource://newtab/lib/Widgets/ListsFeed.sys.mjs": typeof import("resource://newtab/lib/Widgets/ListsFeed.sys.mjs");
|
||||
"resource://newtab/lib/Widgets/SportsFeed.sys.mjs": typeof import("resource://newtab/lib/Widgets/SportsFeed.sys.mjs");
|
||||
"resource://newtab/lib/Widgets/TimerFeed.sys.mjs": typeof import("resource://newtab/lib/Widgets/TimerFeed.sys.mjs");
|
||||
"resource://newtab/lib/actors/NewTabAttributionParent.sys.mjs": typeof import("resource://newtab/lib/actors/NewTabAttributionParent.sys.mjs");
|
||||
"resource://nimbus/ExperimentAPI.sys.mjs": typeof import("resource://nimbus/ExperimentAPI.sys.mjs");
|
||||
@@ -1242,8 +1178,6 @@ export interface Modules {
|
||||
"resource://pdf.js/PdfJsTelemetry.sys.mjs": typeof import("resource://pdf.js/PdfJsTelemetry.sys.mjs");
|
||||
"resource://pdf.js/PdfSandbox.sys.mjs": typeof import("resource://pdf.js/PdfSandbox.sys.mjs");
|
||||
"resource://pdf.js/PdfStreamConverter.sys.mjs": typeof import("resource://pdf.js/PdfStreamConverter.sys.mjs");
|
||||
"resource://pdf.js/PdfjsParent.sys.mjs": typeof import("resource://pdf.js/PdfjsParent.sys.mjs");
|
||||
"resource://pdf.js/build/pdf.mjs": typeof import("resource://pdf.js/build/pdf.mjs");
|
||||
"resource://reftest/AsyncSpellCheckTestHelper.sys.mjs": typeof import("resource://reftest/AsyncSpellCheckTestHelper.sys.mjs");
|
||||
"resource://reftest/PerTestCoverageUtils.sys.mjs": typeof import("resource://reftest/PerTestCoverageUtils.sys.mjs");
|
||||
"resource://reftest/reftest.sys.mjs": typeof import("resource://reftest/reftest.sys.mjs");
|
||||
@@ -1256,6 +1190,7 @@ export interface Modules {
|
||||
"resource://services-common/observers.sys.mjs": typeof import("resource://services-common/observers.sys.mjs");
|
||||
"resource://services-common/rest.sys.mjs": typeof import("resource://services-common/rest.sys.mjs");
|
||||
"resource://services-common/tokenserverclient.sys.mjs": typeof import("resource://services-common/tokenserverclient.sys.mjs");
|
||||
"resource://services-common/uptake-telemetry.sys.mjs": typeof import("resource://services-common/uptake-telemetry.sys.mjs");
|
||||
"resource://services-common/utils.sys.mjs": typeof import("resource://services-common/utils.sys.mjs");
|
||||
"resource://services-settings/Attachments.sys.mjs": typeof import("resource://services-settings/Attachments.sys.mjs");
|
||||
"resource://services-settings/Database.sys.mjs": typeof import("resource://services-settings/Database.sys.mjs");
|
||||
@@ -1264,7 +1199,6 @@ export interface Modules {
|
||||
"resource://services-settings/RemoteSettingsWorker.sys.mjs": typeof import("resource://services-settings/RemoteSettingsWorker.sys.mjs");
|
||||
"resource://services-settings/SharedUtils.sys.mjs": typeof import("resource://services-settings/SharedUtils.sys.mjs");
|
||||
"resource://services-settings/SyncHistory.sys.mjs": typeof import("resource://services-settings/SyncHistory.sys.mjs");
|
||||
"resource://services-settings/UptakeTelemetry.sys.mjs": typeof import("resource://services-settings/UptakeTelemetry.sys.mjs");
|
||||
"resource://services-settings/Utils.sys.mjs": typeof import("resource://services-settings/Utils.sys.mjs");
|
||||
"resource://services-settings/remote-settings.sys.mjs": typeof import("resource://services-settings/remote-settings.sys.mjs");
|
||||
"resource://services-sync/SyncDisconnect.sys.mjs": typeof import("resource://services-sync/SyncDisconnect.sys.mjs");
|
||||
@@ -1329,9 +1263,6 @@ export interface Modules {
|
||||
"resource://test/esmified-1.sys.mjs": typeof import("resource://test/esmified-1.sys.mjs");
|
||||
"resource://test/esmified-3.sys.mjs": typeof import("resource://test/esmified-3.sys.mjs");
|
||||
"resource://test/esmified-4.sys.mjs": typeof import("resource://test/esmified-4.sys.mjs");
|
||||
"resource://test/import_attributes.mjs": typeof import("resource://test/import_attributes.mjs");
|
||||
"resource://test/import_attributes_css.mjs": typeof import("resource://test/import_attributes_css.mjs");
|
||||
"resource://test/import_attributes_text.mjs": typeof import("resource://test/import_attributes_text.mjs");
|
||||
"resource://test/import_non_shared_1.mjs": typeof import("resource://test/import_non_shared_1.mjs");
|
||||
"resource://test/non_shared_1.mjs": typeof import("resource://test/non_shared_1.mjs");
|
||||
"resource://test/non_shared_nest_import_non_shared_1.mjs": typeof import("resource://test/non_shared_nest_import_non_shared_1.mjs");
|
||||
@@ -1345,7 +1276,6 @@ export interface Modules {
|
||||
"resource://test/non_shared_nest_import_shared_target_2.sys.mjs": typeof import("resource://test/non_shared_nest_import_shared_target_2.sys.mjs");
|
||||
"resource://test/not_found.mjs": typeof import("resource://test/not_found.mjs");
|
||||
"resource://testing-common/AIWindowTestUtils.sys.mjs": typeof import("resource://testing-common/AIWindowTestUtils.sys.mjs");
|
||||
"resource://testing-common/AboutAddonsTestUtils.sys.mjs": typeof import("resource://testing-common/AboutAddonsTestUtils.sys.mjs");
|
||||
"resource://testing-common/AddonTestUtils.sys.mjs": typeof import("resource://testing-common/AddonTestUtils.sys.mjs");
|
||||
"resource://testing-common/AllJavascriptTypes.mjs": typeof import("resource://testing-common/AllJavascriptTypes.mjs");
|
||||
"resource://testing-common/AppData.sys.mjs": typeof import("resource://testing-common/AppData.sys.mjs");
|
||||
@@ -1355,7 +1285,6 @@ export interface Modules {
|
||||
"resource://testing-common/AsyncSpellCheckTestHelper.sys.mjs": typeof import("resource://testing-common/AsyncSpellCheckTestHelper.sys.mjs");
|
||||
"resource://testing-common/BackgroundTasksTestUtils.sys.mjs": typeof import("resource://testing-common/BackgroundTasksTestUtils.sys.mjs");
|
||||
"resource://testing-common/BrowserTestUtils.sys.mjs": typeof import("resource://testing-common/BrowserTestUtils.sys.mjs");
|
||||
"resource://testing-common/ContentSharingMockServer.sys.mjs": typeof import("resource://testing-common/ContentSharingMockServer.sys.mjs");
|
||||
"resource://testing-common/ContentTask.sys.mjs": typeof import("resource://testing-common/ContentTask.sys.mjs");
|
||||
"resource://testing-common/ContentTaskUtils.sys.mjs": typeof import("resource://testing-common/ContentTaskUtils.sys.mjs");
|
||||
"resource://testing-common/CookieXPCShellUtils.sys.mjs": typeof import("resource://testing-common/CookieXPCShellUtils.sys.mjs");
|
||||
@@ -1376,7 +1305,6 @@ export interface Modules {
|
||||
"resource://testing-common/JSObjectsTestUtils.sys.mjs": typeof import("resource://testing-common/JSObjectsTestUtils.sys.mjs");
|
||||
"resource://testing-common/LangPackMatcherTestUtils.sys.mjs": typeof import("resource://testing-common/LangPackMatcherTestUtils.sys.mjs");
|
||||
"resource://testing-common/LoginTestUtils.sys.mjs": typeof import("resource://testing-common/LoginTestUtils.sys.mjs");
|
||||
"resource://testing-common/MLTestUtils.sys.mjs": typeof import("resource://testing-common/MLTestUtils.sys.mjs");
|
||||
"resource://testing-common/MerinoTestUtils.sys.mjs": typeof import("resource://testing-common/MerinoTestUtils.sys.mjs");
|
||||
"resource://testing-common/MessageChannel.sys.mjs": typeof import("resource://testing-common/MessageChannel.sys.mjs");
|
||||
"resource://testing-common/MockColorPicker.sys.mjs": typeof import("resource://testing-common/MockColorPicker.sys.mjs");
|
||||
@@ -1405,7 +1333,6 @@ export interface Modules {
|
||||
"resource://testing-common/SearchTestUtils.sys.mjs": typeof import("resource://testing-common/SearchTestUtils.sys.mjs");
|
||||
"resource://testing-common/SearchUITestUtils.sys.mjs": typeof import("resource://testing-common/SearchUITestUtils.sys.mjs");
|
||||
"resource://testing-common/SessionStoreTestUtils.sys.mjs": typeof import("resource://testing-common/SessionStoreTestUtils.sys.mjs");
|
||||
"resource://testing-common/SidebarTestUtils.sys.mjs": typeof import("resource://testing-common/SidebarTestUtils.sys.mjs");
|
||||
"resource://testing-common/Sinon.sys.mjs": typeof import("resource://testing-common/Sinon.sys.mjs");
|
||||
"resource://testing-common/SiteDataTestUtils.sys.mjs": typeof import("resource://testing-common/SiteDataTestUtils.sys.mjs");
|
||||
"resource://testing-common/SpecialPowersParent.sys.mjs": typeof import("resource://testing-common/SpecialPowersParent.sys.mjs");
|
||||
@@ -1441,10 +1368,6 @@ export interface Modules {
|
||||
"resource://testing-common/dom/simpledb/test/modules/SimpleDBUtils.sys.mjs": typeof import("resource://testing-common/dom/simpledb/test/modules/SimpleDBUtils.sys.mjs");
|
||||
"resource://testing-common/early_hint_preload_test_helper.sys.mjs": typeof import("resource://testing-common/early_hint_preload_test_helper.sys.mjs");
|
||||
"resource://testing-common/httpd.sys.mjs": typeof import("resource://testing-common/httpd.sys.mjs");
|
||||
"resource://testing-common/ipprotection/IPPAlwaysOn.sys.mjs": typeof import("resource://testing-common/ipprotection/IPPAlwaysOn.sys.mjs");
|
||||
"resource://testing-common/ipprotection/IPPDummyAuthProvider.sys.mjs": typeof import("resource://testing-common/ipprotection/IPPDummyAuthProvider.sys.mjs");
|
||||
"resource://testing-common/ipprotection/IPPEnterpriseAuthProvider.sys.mjs": typeof import("resource://testing-common/ipprotection/IPPEnterpriseAuthProvider.sys.mjs");
|
||||
"resource://testing-common/ipprotection/IPPGpiAuthProvider.sys.mjs": typeof import("resource://testing-common/ipprotection/IPPGpiAuthProvider.sys.mjs");
|
||||
"resource://testing-common/services/common/logging.sys.mjs": typeof import("resource://testing-common/services/common/logging.sys.mjs");
|
||||
"resource://testing-common/services/sync/fakeservices.sys.mjs": typeof import("resource://testing-common/services/sync/fakeservices.sys.mjs");
|
||||
"resource://testing-common/services/sync/fxa_utils.sys.mjs": typeof import("resource://testing-common/services/sync/fxa_utils.sys.mjs");
|
||||
|
||||
11
src/zen/@types/lib.gecko.nsresult.d.ts
vendored
11
src/zen/@types/lib.gecko.nsresult.d.ts
vendored
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
/**
|
||||
* NOTE: Do not modify this file by hand.
|
||||
* Content was generated from xpc.msg and error_list.json.
|
||||
@@ -671,9 +674,6 @@ interface nsIXPCComponents_Results {
|
||||
/** The URI is not available for add-ons */
|
||||
NS_ERROR_HARMFULADDON_URI: 0x805d002e;
|
||||
|
||||
/** Save Link As failed to see the headers early enough to choose a filename */
|
||||
NS_ERROR_SAVE_LINK_AS_TIMEOUT: 0x805d0020;
|
||||
|
||||
// Profile manager error codes
|
||||
|
||||
/** Flushing the profiles to disk would have overwritten changes made elsewhere. */
|
||||
@@ -703,11 +703,6 @@ interface nsIXPCComponents_Results {
|
||||
|
||||
/** Client initialization attempted before origin has been initialized. */
|
||||
NS_ERROR_DOM_QM_CLIENT_INIT_ORIGIN_UNINITIALIZED: 0x80730001;
|
||||
|
||||
// Codes related to IndexedDB
|
||||
|
||||
/** A mutation operation was attempted on a database that did not allow mutations. */
|
||||
NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR: 0x80660006;
|
||||
}
|
||||
|
||||
type nsIXPCComponents_Values =
|
||||
|
||||
3
src/zen/@types/lib.gecko.services.d.ts
vendored
3
src/zen/@types/lib.gecko.services.d.ts
vendored
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
/**
|
||||
* NOTE: Do not modify this file by hand.
|
||||
* Content was generated from services.json.
|
||||
|
||||
3
src/zen/@types/lib.gecko.tweaks.d.ts
vendored
3
src/zen/@types/lib.gecko.tweaks.d.ts
vendored
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
/**
|
||||
* Gecko generic/specialized adjustments for xpcom and webidl types.
|
||||
*/
|
||||
|
||||
49
src/zen/@types/lib.gecko.win32.d.ts
vendored
49
src/zen/@types/lib.gecko.win32.d.ts
vendored
@@ -1,3 +1,6 @@
|
||||
// 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/.
|
||||
/**
|
||||
* NOTE: Do not modify this file by hand.
|
||||
* Content was generated from source XPCOM .idl files.
|
||||
@@ -5,7 +8,7 @@
|
||||
*/
|
||||
|
||||
declare global {
|
||||
// https://searchfox.org/firefox-main/source/toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl
|
||||
// https://searchfox.org/mozilla-central/source/toolkit/components/aboutthirdparty/nsIAboutThirdParty.idl
|
||||
|
||||
interface nsIInstalledApplication extends nsISupports {
|
||||
readonly name: string;
|
||||
@@ -28,7 +31,7 @@ declare global {
|
||||
loadModuleForTesting(aModulePath: string): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/toolkit/components/aboutwindowsmessages/nsIAboutWindowsMessages.idl
|
||||
// https://searchfox.org/mozilla-central/source/toolkit/components/aboutwindowsmessages/nsIAboutWindowsMessages.idl
|
||||
|
||||
interface nsIAboutWindowsMessages extends nsISupports {
|
||||
getMessages(
|
||||
@@ -38,7 +41,7 @@ declare global {
|
||||
): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/toolkit/components/alerts/nsIWindowsAlertsService.idl
|
||||
// https://searchfox.org/mozilla-central/source/toolkit/components/alerts/nsIWindowsAlertsService.idl
|
||||
} // global
|
||||
|
||||
declare enum nsIWindowsAlertNotification_ImagePlacement {
|
||||
@@ -68,7 +71,7 @@ declare global {
|
||||
removeAllNotificationsForInstall(): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/toolkit/mozapps/defaultagent/nsIDefaultAgent.idl
|
||||
// https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/nsIDefaultAgent.idl
|
||||
|
||||
interface nsIDefaultAgent extends nsISupports {
|
||||
registerTask(aUniqueToken: string): void;
|
||||
@@ -102,7 +105,7 @@ declare global {
|
||||
agentDisabled(): boolean;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/toolkit/mozapps/defaultagent/nsIWindowsMutex.idl
|
||||
// https://searchfox.org/mozilla-central/source/toolkit/mozapps/defaultagent/nsIWindowsMutex.idl
|
||||
|
||||
interface nsIWindowsMutex extends nsISupports {
|
||||
tryLock(): void;
|
||||
@@ -114,15 +117,15 @@ declare global {
|
||||
createMutex(aName: string): nsIWindowsMutex;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/dom/geolocation/nsIGeolocationUIUtilsWin.idl
|
||||
// https://searchfox.org/mozilla-central/source/dom/geolocation/nsIGeolocationUIUtilsWin.idl
|
||||
|
||||
interface nsIGeolocationUIUtilsWin extends nsISupports {
|
||||
dismissPrompts(aBC: BrowsingContext): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/netwerk/socket/nsINamedPipeService.idl
|
||||
// https://searchfox.org/mozilla-central/source/netwerk/socket/nsINamedPipeService.idl
|
||||
|
||||
// https://searchfox.org/firefox-main/source/browser/components/shell/nsIWindowsShellService.idl
|
||||
// https://searchfox.org/mozilla-central/source/browser/components/shell/nsIWindowsShellService.idl
|
||||
} // global
|
||||
|
||||
declare enum nsIWindowsShellService_LaunchOnLoginEnabledEnumerator {
|
||||
@@ -182,7 +185,7 @@ declare global {
|
||||
queryCurrentDefaultHandlerFor(aFileExtensionOrProtocol: string): string;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/toolkit/components/taskscheduler/nsIWinTaskSchedulerService.idl
|
||||
// https://searchfox.org/mozilla-central/source/toolkit/components/taskscheduler/nsIWinTaskSchedulerService.idl
|
||||
|
||||
interface nsIWinTaskSchedulerService extends nsISupports {
|
||||
registerTask(
|
||||
@@ -200,7 +203,7 @@ declare global {
|
||||
deleteFolder(aParentFolderName: string, aSubFolderName: string): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsIJumpListBuilder.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsIJumpListBuilder.idl
|
||||
|
||||
interface nsIJumpListBuilder extends nsISupports {
|
||||
obtainAndCacheFavicon(faviconURL: nsIURI): string;
|
||||
@@ -215,9 +218,9 @@ declare global {
|
||||
clearJumpList(): Promise<any>;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsIPrintSettingsWin.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsIPrintSettingsWin.idl
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsITaskbarOverlayIconController.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsITaskbarOverlayIconController.idl
|
||||
|
||||
interface nsITaskbarOverlayIconController extends nsISupports {
|
||||
setOverlayIcon(
|
||||
@@ -227,7 +230,7 @@ declare global {
|
||||
): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsITaskbarPreview.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsITaskbarPreview.idl
|
||||
|
||||
interface nsITaskbarPreview extends nsISupports {
|
||||
controller: nsITaskbarPreviewController;
|
||||
@@ -237,7 +240,7 @@ declare global {
|
||||
invalidate(): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsITaskbarPreviewButton.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsITaskbarPreviewButton.idl
|
||||
|
||||
interface nsITaskbarPreviewButton extends nsISupports {
|
||||
tooltip: string;
|
||||
@@ -248,7 +251,7 @@ declare global {
|
||||
visible: boolean;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsITaskbarPreviewController.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsITaskbarPreviewController.idl
|
||||
|
||||
type nsITaskbarPreviewCallback = Callable<{
|
||||
done(aCanvas: nsISupports, aDrawBorder: boolean): void;
|
||||
@@ -269,7 +272,7 @@ declare global {
|
||||
onClick(button: nsITaskbarPreviewButton): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsITaskbarProgress.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsITaskbarProgress.idl
|
||||
|
||||
interface nsITaskbarProgress extends nsISupports {
|
||||
readonly STATE_NO_PROGRESS?: 0;
|
||||
@@ -285,7 +288,7 @@ declare global {
|
||||
): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsITaskbarTabPreview.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsITaskbarTabPreview.idl
|
||||
|
||||
interface nsITaskbarTabPreview extends nsITaskbarPreview {
|
||||
title: string;
|
||||
@@ -293,7 +296,7 @@ declare global {
|
||||
move(aNext: nsITaskbarTabPreview): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsITaskbarWindowPreview.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsITaskbarWindowPreview.idl
|
||||
|
||||
interface nsITaskbarWindowPreview extends nsITaskbarPreview {
|
||||
readonly NUM_TOOLBAR_BUTTONS?: 7;
|
||||
@@ -302,7 +305,7 @@ declare global {
|
||||
enableCustomDrawing: boolean;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsIWinTaskbar.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsIWinTaskbar.idl
|
||||
|
||||
interface nsIWinTaskbar extends nsISupports {
|
||||
readonly available: boolean;
|
||||
@@ -322,7 +325,7 @@ declare global {
|
||||
setGroupIdForWindow(aParent: mozIDOMWindow, aIdentifier: string): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/widget/nsIWindowsUIUtils.idl
|
||||
// https://searchfox.org/mozilla-central/source/widget/nsIWindowsUIUtils.idl
|
||||
|
||||
interface nsIWindowsUIUtils extends nsISupports {
|
||||
readonly systemSmallIconSize: i32;
|
||||
@@ -343,7 +346,7 @@ declare global {
|
||||
shareUrl(urlToShare: string, shareTitle: string): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/toolkit/system/windowsPackageManager/nsIWindowsPackageManager.idl
|
||||
// https://searchfox.org/mozilla-central/source/toolkit/system/windowsPackageManager/nsIWindowsPackageManager.idl
|
||||
|
||||
interface nsIWindowsPackageManager extends nsISupports {
|
||||
findUserInstalledPackages(prefix: string[]): string[];
|
||||
@@ -351,7 +354,7 @@ declare global {
|
||||
campaignId(): Promise<any>;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/xpcom/ds/nsIWindowsRegKey.idl
|
||||
// https://searchfox.org/mozilla-central/source/xpcom/ds/nsIWindowsRegKey.idl
|
||||
|
||||
interface nsIWindowsRegKey extends nsISupports {
|
||||
readonly ROOT_KEY_CLASSES_ROOT?: 2147483648;
|
||||
@@ -398,7 +401,7 @@ declare global {
|
||||
writeBinaryValue(name: string, data: string): void;
|
||||
}
|
||||
|
||||
// https://searchfox.org/firefox-main/source/toolkit/xre/nsIWinAppHelper.idl
|
||||
// https://searchfox.org/mozilla-central/source/toolkit/xre/nsIWinAppHelper.idl
|
||||
|
||||
interface nsIWinAppHelper extends nsISupports {
|
||||
readonly userCanElevate: boolean;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user