Compare commits

...

84 Commits

Author SHA1 Message Date
mauro 🤙
51f36685e1 chore: Update runs-on to ubuntu-latest for Linux job 2024-07-12 14:10:56 +00:00
mauro 🤙
9b64ee08a2 chore: Update version to 1.0.0-a.0 and enable linker option only when not cross compiling 2024-07-12 14:09:30 +00:00
mauro-balades
a9f02e6120 🔖 Update version to 1.0.0-a.1 2024-07-12 13:55:15 +00:00
mauro 🤙
99dd17560a chore: Update runs-on to warp-ubuntu-latest-x64-16x for Linux job 2024-07-12 13:54:29 +00:00
mauro 🤙
97defffac3 chore: Add warpbuild for Linux builds 2024-07-12 12:58:59 +00:00
mauro-balades
323ac423c9 🔖 Update version to 1.0.0-a.1 2024-07-12 12:47:34 +00:00
mauro 🤙
3c603fea40 chore: Update version to 1.0.0-a.0 and enable linker option only when not cross compiling 2024-07-12 12:46:53 +00:00
mauro-balades
e1183c0ff4 🔖 Update version to 1.0.0-a.1 2024-07-12 08:55:47 +00:00
mauro 🤙
3db9315f82 chore: Update version to 1.0.0-a.0 and fix Windows dependencies in windows_mozconfig 2024-07-12 08:55:19 +00:00
mauro-balades
9ecd4a418d 🔖 Update version to 1.0.0-a.1 2024-07-12 08:41:08 +00:00
mauro 🤙
089ff67a17 chore: Update version to 1.0.0-a.0 and enable linker option only when not cross compiling 2024-07-12 08:40:39 +00:00
mauro-balades
c804ef7149 🔖 Update version to 1.0.0-a.1 2024-07-12 08:26:53 +00:00
mauro 🤙
68e990e762 chore: Update version to 1.0.0-a.0 and enable linker option only when not cross compiling 2024-07-12 08:26:18 +00:00
mauro-balades
f97103ce8b 🔖 Update version to 1.0.0-a.1 2024-07-12 08:16:03 +00:00
mauro 🤙
0cfb6875c5 chore: Enable linker option only when not cross compiling 2024-07-12 08:15:17 +00:00
mauro-balades
cdd67cd79e 🔖 Update version to 1.0.0-a.1 2024-07-12 08:02:45 +00:00
mauro 🤙
c151b41e56 chore: Disable maintenance service in windows_mozconfig and common/mozconfig 2024-07-12 08:02:04 +00:00
mauro-balades
d72c3eae4b 🔖 Update version to 1.0.0-a.1 2024-07-12 07:55:06 +00:00
mauro 🤙
e570ad9b4d chore: Update @zen-browser/surfer dependency to version 1.0.13 2024-07-12 07:54:28 +00:00
mauro-balades
f8ad77c903 🔖 Update version to 1.0.0-a.1 2024-07-12 07:40:59 +00:00
mauro 🤙
cc60b06b7f chore: Update @zen-browser/surfer dependency to version 1.0.12 2024-07-12 07:38:44 +00:00
mauro 🤙
19788deee4 Added optimization flags 2024-07-12 07:38:02 +00:00
mauro-balades
ac5f5e1ad3 🔖 Update version to 1.0.0-a.1 2024-07-12 07:10:15 +00:00
mauro 🤙
d3e1b09b00 merge 2024-07-12 07:08:49 +00:00
mauro 🤙
7c371d295a chore: Update surfer.json displayVersion to 1.0.0-a.0 2024-07-12 07:08:21 +00:00
mauro-balades
fb8ccfed50 🔖 Update version to 0.0.0-a.3 2024-07-11 22:55:21 +00:00
mauro 🤙
b4b7eb554f chore: Update @zen-browser/surfer dependency to version 1.0.11 2024-07-11 22:54:33 +00:00
mauro-balades
cad9436029 🔖 Update version to 0.0.0-a.3 2024-07-11 21:02:14 +00:00
Mauro Balades
7f6dbadc9c chore: Update alpha.yml workflow to fix path for update manifests 2024-07-11 23:01:29 +02:00
mauro-balades
0579b88dc7 🔖 Update version to 0.0.0-a.3 2024-07-11 19:27:24 +00:00
Mauro Balades
18407288ea chore: Update alpha.yml workflow to upload installer stub and update manifests 2024-07-11 21:26:53 +02:00
mauro-balades
42218242e2 🔖 Update version to 0.0.0-a.3 2024-07-11 17:57:33 +00:00
Mauro Balades
7b61419039 chore: Update surfer.json displayVersion to 0.0.0-a.2 2024-07-11 19:57:01 +02:00
Mauro Balades
97da0b2bf0 Merge branch 'main' of https://github.com/zen-browser/core 2024-07-11 19:56:49 +02:00
Mauro Balades
d0ea429401 chore: Update alpha.yml workflow to use new deploy key for SSH authentication 2024-07-11 19:56:23 +02:00
mauro-balades
f30c7e33ec 🔖 Update version to 0.0.0-a.3 2024-07-11 17:51:12 +00:00
Mauro Balades
b300a95854 chore: Update alpha.yml workflow to add SSH key setup and commit update manifests 2024-07-11 19:50:08 +02:00
Mauro Balades
c6632e8dc8 chore: Update transition timing in zen-browser-shared.css 2024-07-11 16:14:04 +02:00
Mauro Balades
3b2ae304d2 Added watermark and springs 2024-07-11 16:08:23 +02:00
mauro-balades
a2afe5b93a 🔖 Update version to 0.0.0-a.3 2024-07-11 13:34:38 +00:00
Mauro Balades
b59174d47d chore: Update alpha.yml workflow to set new remote URL for git push 2024-07-11 15:34:09 +02:00
Mauro Balades
0449a14c19 chore: Update alpha.yml workflow to remove unused artifact upload step 2024-07-11 15:33:39 +02:00
mauro-balades
29b77b7591 🔖 Update version to 0.0.0-a.3 2024-07-11 12:02:08 +00:00
Mauro Balades
718ee7c51a new release! 2024-07-11 14:01:31 +02:00
Mauro Balades
8a3b30e8a6 chore: Update alpha.yml workflow to remove unused artifact upload step 2024-07-11 14:01:09 +02:00
mauro-balades
023a8e26b9 🔖 Update version to 0.0.0-a.3 2024-07-11 11:42:30 +00:00
Mauro Balades
b092d44a7c Refactor ZenSidebarManager and ZenUIManager to improve tab handling 2024-07-11 13:11:49 +02:00
Mauro Balades
79dc54c3f4 chore: Update '@zen-browser/surfer' dependency to version 1.0.9 2024-07-11 11:08:51 +02:00
Mauro Balades
ef99073b06 chore: Update welcome.css to improve line height for h1 element 2024-07-11 10:22:05 +02:00
Mauro Balades
2783fa64d8 chore: Refactor ZenSidebarManager and ZenUIManager to improve tab handling 2024-07-11 09:43:48 +02:00
Mauro Balades
4719e0ce31 chore: Update '@zen-browser/surfer' dependency to version 1.0.8 2024-07-11 01:14:50 +02:00
Mauro Balades
6b0945663a chore: Update alpha.yml workflow to unset SURFER_PLATFORM 2024-07-10 23:21:06 +02:00
Mauro Balades
5cafa401c3 test 2024-07-10 23:09:34 +02:00
Mauro Balades
15b134511b chore: Update path in alpha.yml workflow to fix directory listing issue 2024-07-10 22:26:17 +02:00
Mauro Balades
4270c571ac chore: Update path in alpha.yml workflow to fix directory listing issue 2024-07-10 22:15:08 +02:00
Mauro Balades
f5c9e0d405 chore: Update mozconfig options and dependencies 2024-07-10 22:11:16 +02:00
Mauro Balades
ec9f5f4dfa chore: Update mozconfig options and dependencies 2024-07-10 21:55:21 +02:00
Mauro Balades
4c6f9ef06c chore: Disable wasm sandboxing for the sake of my sanity 2024-07-10 21:43:53 +02:00
Mauro Balades
d087a26af2 chore: Update mozconfig options and dependencies 2024-07-10 21:24:01 +02:00
Mauro Balades
f32ef38823 chore: Remove enable-crashreporter option from mozconfig 2024-07-10 21:12:46 +02:00
Mauro Balades
cf581654ef chore: Update '@zen-browser/surfer' dependency to version 1.0.7 2024-07-10 19:42:58 +02:00
Mauro Balades
62a6573f71 chore: Update '@zen-browser/surfer' dependency to version 1.0.7 2024-07-10 19:03:58 +02:00
Mauro Balades
968bd32ae3 chore: Update '@zen-browser/surfer' dependency to version 1.0.6 2024-07-10 18:45:29 +02:00
Mauro Balades
bc3a1f329e chore: Update '@zen-browser/surfer' dependency to version 1.0.5 2024-07-10 18:29:39 +02:00
Mauro Balades
9fca7074ee chore: Update Firefox version to 128.0! 2024-07-10 18:27:52 +02:00
Mauro Balades
eece97990d chore: Update browser preferences and CSS styles 2024-07-09 17:00:50 +02:00
Mauro Balades
8acae4deb3 Fix settings visibility issue 2024-07-09 14:35:30 +02:00
Mauro Balades
eed3bac755 chore: Update CSS selector for identity icon box in urlbar 2024-07-09 14:07:52 +02:00
Mauro Balades
da89b77e75 chore: Add ZenUIManager script to improve browser functionality 2024-07-08 08:02:33 +02:00
Mauro Balades
a12c433b65 chore: Update panel separator color in shared themes 2024-07-08 07:28:29 +02:00
Mauro Balades
a79197c78d Merge 2024-07-07 09:27:56 +02:00
Mauro Balades
5e8a3df528 Fixed updating manifests 2024-07-07 09:26:34 +02:00
mauro-balades
6a28d0cee9 🔖 Update version to 0.0.0-a.2 2024-07-06 22:48:38 +00:00
mauro 🤙
a73c7fae9e chore: Update update manifests for 0.0.0-a.3 2024-07-06 22:47:44 +00:00
mauro-balades
53a57d8078 🔖 Update version to 0.0.0-a.3 2024-07-06 20:45:55 +00:00
Mauro Balades
a259c40209 chore: Update surfer.json file paths in update_ff.py 2024-07-06 22:45:07 +02:00
Mauro Balades
428eb56cea chore: Update package.json dependencies to use @zen-browser/surfer v1.0.4 2024-07-06 21:45:24 +02:00
mauro-balades
27dca1cc6a 🔖 Update version to 0.0.0-a.2 2024-07-06 18:31:16 +00:00
Mauro Balades
09d90291bf Fixed opening extensions (closes #34) 2024-07-06 20:29:08 +02:00
Mauro Balades
f9cafd7cc0 Temporary fix to opening extensions (#34) and added update server support 2024-07-06 18:49:09 +02:00
Mauro Balades
df1c6af96a chore: Fixed flat resolution on extension icons (#34) 2024-07-06 16:03:21 +02:00
Mauro Balades
a1dbf8f64a Merge branch 'main' of https://github.com/zen-browser/core 2024-07-05 10:04:31 +02:00
Mauro Balades
2268515bb1 Update dot size and color in welcome.css and add color preview in welcome.html 2024-07-05 10:04:23 +02:00
mauro-balades
ecf0164a5a 🔖 Update version to 0.0.0-a.1 2024-07-04 23:15:01 +00:00
57 changed files with 556 additions and 2616 deletions

View File

@@ -52,26 +52,26 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: pnpm install run: pnpm install
- name: Setup gluon - name: Setup Surfer
run: | run: |
npm i -g gluon-build@next npm i -g @zen-browser/surfer
- name: Bump version - name: Bump version
run: | run: |
pnpm gluon ci --brand alpha --bump prerelease pnpm surfer ci --brand alpha --bump prerelease
- name: Debug - name: Debug
run: | run: |
gluon get version surfer get version
gluon get version | xargs surfer get version | xargs
echo "$(gluon get version | xargs)" echo "$(surfer get version | xargs)"
- name: Export release date - name: Export release date
id: data id: data
shell: bash shell: bash
run: | run: |
echo "builddate=$(date +"%Y-%m-%d")" >> $GITHUB_OUTPUT echo "builddate=$(date +"%Y-%m-%d")" >> $GITHUB_OUTPUT
echo "version=$(gluon get version | xargs)" >> $GITHUB_OUTPUT echo "version=$(surfer get version | xargs)" >> $GITHUB_OUTPUT
- uses: stefanzweifel/git-auto-commit-action@v4 - uses: stefanzweifel/git-auto-commit-action@v4
if: ${{ github.event.inputs.update_version == 'true' }} if: ${{ github.event.inputs.update_version == 'true' }}
@@ -112,21 +112,21 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: pnpm install run: pnpm install
- name: Setup gluon - name: Setup surfer
run: | run: |
npm i -g gluon-build@next npm i -g @zen-browser/surfer
- name: Activate gluon CLI - name: Activate surfer CLI
run: | run: |
echo "There's a bug in the gluon CLI, we run this so that gluon sets everything up correctly" echo "There's a bug in the surfer CLI, we run this so that surfer sets everything up correctly"
pnpm gluon ci --brand alpha --display-version ${{ needs.build-data.outputs.version }} pnpm surfer ci --brand alpha --display-version ${{ needs.build-data.outputs.version }}
- name: Check version - name: Check version
run: | run: |
echo "$(pwd)" echo "$(pwd)"
ls . ls .
echo "version=$(pnpm gluon get version | xargs)" >> $GITHUB_OUTPUT echo "version=$(pnpm surfer get version | xargs)" >> $GITHUB_OUTPUT
if [[ $(pnpm gluon get version | xargs) == ${{ needs.build-data.outputs.version }} ]]; then if [[ $(pnpm surfer get version | xargs) == ${{ needs.build-data.outputs.version }} ]]; then
echo ">>> Version matches" echo ">>> Version matches"
else else
echo ">>> Version mismatch" echo ">>> Version mismatch"
@@ -165,10 +165,6 @@ jobs:
sudo apt-get install dos2unix yasm nasm build-essential libgtk2.0-dev libpython3-dev m4 uuid libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdrm-dev libdbus-glib-1-dev libdbus-glib-1-dev libgtk-3-dev libpulse-dev libx11-xcb-dev libxt-dev xvfb lld llvm sudo apt-get install dos2unix yasm nasm build-essential libgtk2.0-dev libpython3-dev m4 uuid libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdrm-dev libdbus-glib-1-dev libdbus-glib-1-dev libgtk-3-dev libpulse-dev libx11-xcb-dev libxt-dev xvfb lld llvm
pip install pycairo testresources pip install pycairo testresources
- name: Disable wasm sandboxing for the sake of my sanity
run: |
echo "ac_add_options --without-wasm-sandboxed-libraries" >> mozconfig
- name: Free up space - name: Free up space
run: | run: |
sudo rm -rf /usr/share/dotnet sudo rm -rf /usr/share/dotnet
@@ -214,14 +210,14 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: pnpm install run: pnpm install
- name: Load gluon CI setup - name: Load surfer CI setup
run: pnpm gluon ci --brand alpha --display-version ${{ needs.build-data.outputs.version }} run: pnpm surfer ci --brand alpha --display-version ${{ needs.build-data.outputs.version }}
- name: Download firefox source and dependencies - name: Download firefox source and dependencies
run: pnpm gluon download run: pnpm surfer download
- name: Import - name: Import
run: pnpm gluon import run: pnpm surfer import
- name: Bootstrap - name: Bootstrap
run: | run: |
@@ -230,7 +226,9 @@ jobs:
cd .. cd ..
- name: Build - name: Build
run: pnpm build run: |
export ZEN_RELEASE=1
pnpm build
- name: Package - name: Package
run: pnpm package run: pnpm package
@@ -288,16 +286,11 @@ jobs:
run: | run: |
pnpm i pnpm i
- name: Load gluon CI setup - name: Load surfer CI setup
run: pnpm gluon ci --brand alpha --display-version ${{ needs.build-data.outputs.version }} run: pnpm surfer ci --brand alpha --display-version ${{ needs.build-data.outputs.version }}
- name: Download - name: Download
run: pnpm gluon download run: pnpm surfer download
- name: Disable wasm sandboxing for the sake of my sanity
run: |
cd engine/
echo "ac_add_options --without-wasm-sandboxed-libraries" >> mozconfig
- name: Free up space - name: Free up space
run: | run: |
@@ -327,14 +320,16 @@ jobs:
cd .. cd ..
npm install -g pnpm npm install -g pnpm
pnpm gluon bootstrap export SURFER_PLATFORM="win32"
pnpm surfer bootstrap
cd engine/ cd engine/
ls ~/.mozbuild/clang/lib/clang/ ls ~/.mozbuild/clang/lib/clang/
echo "export LIB=\"$(cd ~/.mozbuild/clang/lib/clang/* && cd lib/windows && pwd)\"" >> ../configs/common/mozconfig echo "export LIB=\"$(cd ~/.mozbuild/clang/lib/clang/* && cd lib/windows && pwd)\"" >> ../configs/common/mozconfig
cat ../configs/common/mozconfig cat ../configs/common/mozconfig
ls ~/win-cross/nsis || true ls ~/win-cross/wine || true
ls ~/win-cross/vs2022 || true
- name: setup Rust - name: setup Rust
run: | run: |
@@ -351,26 +346,25 @@ jobs:
echo "export MOZ_WINDOWS_RS_DIR=$(pwd)/windows-0.52.0" >> ../configs/common/mozconfig echo "export MOZ_WINDOWS_RS_DIR=$(pwd)/windows-0.52.0" >> ../configs/common/mozconfig
- name: Import - name: Import
run: pnpm gluon import --verbose run: pnpm surfer import --verbose
- name: Build - name: Build
run: pnpm build run: |
unset SURFER_PLATFORM
export ZEN_RELEASE=1
export ZEN_CROSS_COMPILING=1
pnpm build
- name: Package - name: Package
run: | run: |
set -x set -x
export SURFER_PLATFORM="win32"
pnpm package pnpm package
mv ./dist/output.mar windows.mar mv ./dist/output.mar windows.mar
mv ./dist/zen-$(pnpm gluon get version | xargs).en-US.win64.zip zen.win64.zip mv ./dist/zen-$(pnpm surfer get version | xargs).en-US.win64.zip zen.win64.zip
ls ./dist ls ./dist
ls . ls .
#- name: Upload artifact
# uses: actions/upload-artifact@v3
# with:
# name: zen.installer.exe
# path: ./dist/zen.installer.exe
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
@@ -383,6 +377,18 @@ jobs:
name: windows.mar name: windows.mar
path: ./windows.mar path: ./windows.mar
- name: Upload installer
uses: actions/upload-artifact@v3
with:
name: zen.installer.exe
path: ./dist/zen.installer.exe
- name: Upload installer stub
uses: actions/upload-artifact@v3
with:
name: zen.installer.pretty.exe
path: ./dist/zen.installer.pretty.exe
- name: Upload update manifests - name: Upload update manifests
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
@@ -422,14 +428,14 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: pnpm install run: pnpm install
- name: Load gluon CI setup - name: Load surfer CI setup
run: pnpm gluon ci --brand alpha --display-version ${{ needs.build-data.outputs.version }} run: pnpm surfer ci --brand alpha --display-version ${{ needs.build-data.outputs.version }}
- name: Download firefox source and dependancies - name: Download firefox source and dependancies
run: pnpm gluon download --verbose run: pnpm surfer download --verbose
- name: Import - name: Import
run: pnpm gluon import --verbose run: pnpm surfer import --verbose
- name: Compress - name: Compress
run: | run: |
@@ -503,14 +509,14 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: pnpm install run: pnpm install
- name: Load gluon CI setup - name: Load surfer CI setup
run: pnpm gluon ci --brand alpha --display-version ${{ needs.build-data.outputs.version }} run: pnpm surfer ci --brand alpha --display-version ${{ needs.build-data.outputs.version }}
- name: Download firefox source and dependancies - name: Download firefox source and dependancies
run: pnpm gluon download run: pnpm surfer download
- name: Import - name: Import
run: pnpm gluon import run: pnpm surfer import
- name: Bootstrap - name: Bootstrap
run: | run: |
@@ -518,7 +524,7 @@ jobs:
./mach --no-interactive bootstrap --application-choice browser ./mach --no-interactive bootstrap --application-choice browser
cd .. cd ..
- name: Gluon build - name: surfer build
run: pnpm build --verbose run: pnpm build --verbose
- name: Package - name: Package
@@ -566,9 +572,8 @@ jobs:
- name: release-github - name: release-github
uses: 'marvinpinto/action-automatic-releases@latest' uses: 'marvinpinto/action-automatic-releases@latest'
with: with:
repo_token: '${{ secrets.GITHUB_TOKEN }}' repo_token: '${{ secrets.DEPLOY_KEY }}'
automatic_release_tag: ${{ needs.build-data.outputs.version }} automatic_release_tag: ${{ needs.build-data.outputs.version }}
prerelease: true
title: 'Alpha build - ${{ needs.build-data.outputs.version }} (${{ needs.build-data.outputs.build_date }})' title: 'Alpha build - ${{ needs.build-data.outputs.version }} (${{ needs.build-data.outputs.build_date }})'
files: | files: |
zen.linux.tar.bz2 zen.linux.tar.bz2
@@ -576,29 +581,30 @@ jobs:
zen.source.tar.gz zen.source.tar.gz
linux.mar linux.mar
windows.mar windows.mar
zen.installer.exe
zen.installer.pretty.exe
- name: List - name: List
run: find . run: find .
- name: Checkout tools repo - name: Clone updates repo
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
repository: zen-browser/desktop repository: zen-browser/updates-server
path: updates path: updates-server
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.DEPLOY_KEY }}
- name: Pull tools repo
run: git pull && git checkout main
- name: Copy update manifests - name: Copy update manifests
run: | run: |
mkdir -p updates/updates cd updates-server
cp -a linux_update_manifest/. updates/updates/ mkdir -p updates
cp -a windows_update_manifest/. updates/updates/ cp -a ../linux_update_manifest/. updates/
cp -a ../windows_update_manifest/. updates/
- uses: stefanzweifel/git-auto-commit-action@v4 - uses: stefanzweifel/git-auto-commit-action@v4
with: with:
commit_message: 🔖 Upload update manifests ${{ needs.build-data.outputs.version }} commit_message: 🚀 Update update manifests
commit_user_name: Zen Browser Robot commit_user_name: Zen Browser Robot
commit_user_email: zen-browser-bot@users.noreply.github.com commit_user_email: zen-browser-bot@users.noreply.github.com
repository: ./updates repository: ./updates-server

View File

@@ -7,13 +7,35 @@ export WINEDEBUG=-all
#? https://bugzilla.mozilla.org/show_bug.cgi?id=1617793 #? https://bugzilla.mozilla.org/show_bug.cgi?id=1617793
#? https://phabricator.services.mozilla.com/D170170 #? https://phabricator.services.mozilla.com/D170170
ac_add_options --target=x86_64-pc-windows-msvc ac_add_options --target=x86_64-pc-mingw32
export MOZ_STUB_INSTALLER=1 export MOZ_STUB_INSTALLER=1
export MOZ_MAINTENANCE_SERVICE= export MOZ_MAINTENANCE_SERVICE=
export MOZ_PKG_FORMAT=TAR export MOZ_PKG_FORMAT=TAR
export MOZ_LTO=cross
export CROSS_BUILD=1
POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine"
TOOLS=$(echo ~)/win-cross
export MIDL="$TOOLS/wine/bin/widl"
export MOZ_INCLUDE_SOURCE_INFO=1
export MOZ_STUB_INSTALLER=1
export WINEDEBUG=-all
export WINE="$TOOLS/wine/bin/wine64"
ac_add_options --enable-release
ac_add_options --enable-rust-simd
ac_add_options RUSTC_OPT_LEVEL=3
export MOZILLA_OFFICIAL=1
export RUSTFLAGS="$RUSTFLAGS -Ctarget-cpu=x86-64"
ac_add_options --enable-default-browser-agent
ac_add_options --enable-install-strip
ac_add_options --enable-jxl
ac_add_options --disable-maintenance-service
ac_add_options --disable-bits-download
# ALWAYS MANTAIN ONE LINE BREAK AT THE END OF THIS FILE # ALWAYS MANTAIN ONE LINE BREAK AT THE END OF THIS FILE

2
.gitignore vendored
View File

@@ -3,7 +3,7 @@
engine/ engine/
firefox-*/ firefox-*/
node_modules/ node_modules/
.gluon/ .surfer/
__pycache__/ __pycache__/
dist/ dist/

View File

@@ -5,7 +5,7 @@ Experience tranquillity while browsing the web without people tracking you!
# Compatibility # Compatibility
Zen is currently built using firefox version `127.0.2`! Zen is currently built using firefox version `128.0`!
## 🚀 Run Locally ## 🚀 Run Locally

View File

@@ -1,6 +1,6 @@
# Browser branding # Browser branding
ac_add_options --enable-update-channel=release ac_add_options --enable-update-channel=release
ac_add_options --with-ccache=sccache
ac_add_options --without-wasm-sandboxed-libraries ac_add_options --without-wasm-sandboxed-libraries
# ac_add_options --with-branding=beta # ac_add_options --with-branding=beta
@@ -28,5 +28,30 @@ export MOZ_SOURCE_CHANGESET=${changeset}
ac_add_options --enable-bootstrap ac_add_options --enable-bootstrap
ac_add_options --enable-application=browser
ac_add_options --enable-hardening
ac_add_options --enable-rust-simd
ac_add_options --enable-release
ac_add_options --enable-optimize
ac_add_options --with-ccache=sccache
ac_add_options --disable-debug
ac_add_options --disable-crashreporter
ac_add_options --disable-dmd
ac_add_options --disable-geckodriver
ac_add_options --disable-parental-controls
ac_add_options --disable-profiling
ac_add_options --disable-tests
ac_add_options --enable-unverified-updates
ac_add_options --enable-updater
ac_add_options --without-wasm-sandboxed-libraries
export MOZ_REQUIRE_SIGNING=
export MOZ_TELEMETRY_REPORTING=
ac_add_options --target=x86_64-pc-linux-gnu
# ALWAYS MANTAIN ONE LINE BREAK AT THE END OF THIS FILE # ALWAYS MANTAIN ONE LINE BREAK AT THE END OF THIS FILE

View File

@@ -1,12 +1,26 @@
# Optimise builds
ac_add_options --enable-application=browser # not when cross compiling
ac_add_options --enable-hardening if ! test "$ZEN_CROSS_COMPILING"; then
ac_add_options --enable-rust-simd if test "$ZEN_RELEASE"; then
ac_add_options --enable-release ac_add_options --enable-optimize="-march=x86-64 -msse3 -mtune=haswell -O3 -w"
ac_add_options --enable-optimize ac_add_options --enable-release
ac_add_options --with-ccache=sccache ac_add_options --enable-rust-simd
ac_add_options --disable-debug ac_add_options RUSTC_OPT_LEVEL=3
ac_add_options --enable-updater export MOZILLA_OFFICIAL=1
export RUSTFLAGS="$RUSTFLAGS -Ctarget-cpu=x86-64"
fi
if test -d "$HOME/.mozbuild/clang/bin"; then
export CC="$HOME"/.mozbuild/clang/bin/clang
export CXX="$HOME"/.mozbuild/clang/bin/clang++
else
export CC=clang
export CXX=clang++
fi
ac_add_options --enable-linker=lld
ac_add_options --enable-strip
fi
# Disable telemetry and tracking # Disable telemetry and tracking
mk_add_options MOZ_TELEMETRY_REPORTING= mk_add_options MOZ_TELEMETRY_REPORTING=

View File

@@ -1,7 +1,5 @@
ac_add_options --target=x86_64-pc-mingw32
ac_add_options --enable-js-shell ac_add_options --enable-js-shell
ac_add_options --enable-rust-simd
ac_add_options --enable-crashreporter
# Disable telemetry and tracking # Disable telemetry and tracking
mk_add_options MOZ_TELEMETRY_REPORTING= mk_add_options MOZ_TELEMETRY_REPORTING=

5
docs/runners.md Normal file
View File

@@ -0,0 +1,5 @@
# Warp Build
For linux, we are using [warpbuild](https://warpbuild.com/) because github workflows can't handle building firefox :(

View File

@@ -1,6 +1,6 @@
# Zen Side Panels # Zen Side Panels
The `zen.sizepanels.data` configuration will be a JSON string that follows the following data: The `zen.sidepanels.data` configuration will be a JSON string that follows the following data:
```json ```json
{ {

2147
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -3,14 +3,15 @@
"version": "1.0.0", "version": "1.0.0",
"description": "", "description": "",
"scripts": { "scripts": {
"build": "gluon build", "build": "surfer build",
"build:ui": "surfer build --ui",
"start": "cd engine && ./mach run --noprofile", "start": "cd engine && ./mach run --noprofile",
"import": "gluon import", "import": "surfer import",
"export": "gluon export", "export": "surfer export",
"bootstrap": "gluon download && gluon bootstrap", "bootstrap": "surfer download && surfer bootstrap",
"package": "gluon package", "package": "surfer package",
"update-ff": "python3 scripts/update_ff.py", "update-ff": "python3 scripts/update_ff.py",
"update-ff:raw": "gluon update", "update-ff:raw": "surfer update",
"update-newtab": "python3 update_newtab.py" "update-newtab": "python3 update_newtab.py"
}, },
"repository": { "repository": {
@@ -25,6 +26,6 @@
}, },
"homepage": "https://github.com/zen-browser/core#readme", "homepage": "https://github.com/zen-browser/core#readme",
"dependencies": { "dependencies": {
"gluon-build": "next" "@zen-browser/surfer": "^1.0.13"
} }
} }

105
pnpm-lock.yaml generated
View File

@@ -8,9 +8,9 @@ importers:
.: .:
dependencies: dependencies:
gluon-build: '@zen-browser/surfer':
specifier: next specifier: ^1.0.13
version: 1.0.0-rc.5 version: 1.0.13
packages: packages:
@@ -109,6 +109,10 @@ packages:
'@types/node@17.0.45': '@types/node@17.0.45':
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
'@zen-browser/surfer@1.0.13':
resolution: {integrity: sha512-1lM62lJbaLNQJNC/aYNpbdg3SNBno8HXEgsbFlYwS6hZ92aekO8qu1Uy7YlCvxq0jUB6iJ4AgjP4vKmItw5ZOQ==}
hasBin: true
ansi-regex@5.0.1: ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'} engines: {node: '>=8'}
@@ -169,8 +173,8 @@ packages:
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
engines: {node: ^12.20.0 || >=14} engines: {node: ^12.20.0 || >=14}
core-js-pure@3.37.0: core-js-pure@3.37.1:
resolution: {integrity: sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ==} resolution: {integrity: sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==}
cross-spawn@7.0.3: cross-spawn@7.0.3:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
@@ -236,10 +240,6 @@ packages:
globrex@0.1.2: globrex@0.1.2:
resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
gluon-build@1.0.0-rc.5:
resolution: {integrity: sha512-TJMv24pMQPo3eXQLacJ9xS1qcwPt/WERw9xTQImbnXWCe9dn6d0nAD9FamVZXZvNU7jzPcObjoPXytwTP1yCWw==}
hasBin: true
graceful-fs@4.2.11: graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
@@ -297,10 +297,6 @@ packages:
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
engines: {node: '>=6'} engines: {node: '>=6'}
lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
merge-stream@2.0.0: merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
@@ -327,8 +323,8 @@ packages:
napi-build-utils@1.0.2: napi-build-utils@1.0.2:
resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
node-abi@3.62.0: node-abi@3.65.0:
resolution: {integrity: sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g==} resolution: {integrity: sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==}
engines: {node: '>=10'} engines: {node: '>=10'}
node-addon-api@5.1.0: node-addon-api@5.1.0:
@@ -388,8 +384,8 @@ packages:
safe-buffer@5.2.1: safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
semver@7.6.0: semver@7.6.2:
resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
engines: {node: '>=10'} engines: {node: '>=10'}
hasBin: true hasBin: true
@@ -478,9 +474,6 @@ packages:
resolution: {integrity: sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==} resolution: {integrity: sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==}
engines: {node: '>=12.0'} engines: {node: '>=12.0'}
yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
snapshots: snapshots:
'@oozcitak/dom@1.15.10': '@oozcitak/dom@1.15.10':
@@ -553,6 +546,31 @@ snapshots:
'@types/node@17.0.45': {} '@types/node@17.0.45': {}
'@zen-browser/surfer@1.0.13':
dependencies:
'@resvg/resvg-js': 1.4.0
async-icns: 1.0.2
axios: 0.21.4
chalk: 4.1.2
cli-progress: 3.12.0
commander: 6.2.1
execa: 5.1.1
fs-extra: 10.1.0
ini: 3.0.1
is-apple-silicon: https://codeload.github.com/trickypr/is-apple-silicon/tar.gz/5f75501a1d7566ba9f94174b6825d7bd9d302b6a
kleur: 4.1.5
modern-async: 1.1.4
picomatch: 2.3.1
png-to-ico: 2.1.8
prompts: 2.4.2
rustic: 1.2.2
semver: 7.6.2
sharp: 0.30.7
tiny-glob: 0.2.9
xmlbuilder2: 3.1.1
transitivePeerDependencies:
- debug
ansi-regex@5.0.1: {} ansi-regex@5.0.1: {}
ansi-styles@4.3.0: ansi-styles@4.3.0:
@@ -617,7 +635,7 @@ snapshots:
commander@9.5.0: {} commander@9.5.0: {}
core-js-pure@3.37.0: {} core-js-pure@3.37.1: {}
cross-spawn@7.0.3: cross-spawn@7.0.3:
dependencies: dependencies:
@@ -673,31 +691,6 @@ snapshots:
globrex@0.1.2: {} globrex@0.1.2: {}
gluon-build@1.0.0-rc.5:
dependencies:
'@resvg/resvg-js': 1.4.0
async-icns: 1.0.2
axios: 0.21.4
chalk: 4.1.2
cli-progress: 3.12.0
commander: 6.2.1
execa: 5.1.1
fs-extra: 10.1.0
ini: 3.0.1
is-apple-silicon: https://codeload.github.com/trickypr/is-apple-silicon/tar.gz/5f75501a1d7566ba9f94174b6825d7bd9d302b6a
kleur: 4.1.5
modern-async: 1.1.4
picomatch: 2.3.1
png-to-ico: 2.1.8
prompts: 2.4.2
rustic: 1.2.2
semver: 7.6.0
sharp: 0.30.7
tiny-glob: 0.2.9
xmlbuilder2: 3.1.1
transitivePeerDependencies:
- debug
graceful-fs@4.2.11: {} graceful-fs@4.2.11: {}
has-flag@4.0.0: {} has-flag@4.0.0: {}
@@ -737,10 +730,6 @@ snapshots:
kleur@4.1.5: {} kleur@4.1.5: {}
lru-cache@6.0.0:
dependencies:
yallist: 4.0.0
merge-stream@2.0.0: {} merge-stream@2.0.0: {}
mimic-fn@2.1.0: {} mimic-fn@2.1.0: {}
@@ -753,16 +742,16 @@ snapshots:
modern-async@1.1.4: modern-async@1.1.4:
dependencies: dependencies:
core-js-pure: 3.37.0 core-js-pure: 3.37.1
nanoassert: 2.0.0 nanoassert: 2.0.0
nanoassert@2.0.0: {} nanoassert@2.0.0: {}
napi-build-utils@1.0.2: {} napi-build-utils@1.0.2: {}
node-abi@3.62.0: node-abi@3.65.0:
dependencies: dependencies:
semver: 7.6.0 semver: 7.6.2
node-addon-api@5.1.0: {} node-addon-api@5.1.0: {}
@@ -798,7 +787,7 @@ snapshots:
minimist: 1.2.8 minimist: 1.2.8
mkdirp-classic: 0.5.3 mkdirp-classic: 0.5.3
napi-build-utils: 1.0.2 napi-build-utils: 1.0.2
node-abi: 3.62.0 node-abi: 3.65.0
pump: 3.0.0 pump: 3.0.0
rc: 1.2.8 rc: 1.2.8
simple-get: 4.0.1 simple-get: 4.0.1
@@ -832,9 +821,7 @@ snapshots:
safe-buffer@5.2.1: {} safe-buffer@5.2.1: {}
semver@7.6.0: semver@7.6.2: {}
dependencies:
lru-cache: 6.0.0
sharp@0.30.7: sharp@0.30.7:
dependencies: dependencies:
@@ -842,7 +829,7 @@ snapshots:
detect-libc: 2.0.3 detect-libc: 2.0.3
node-addon-api: 5.1.0 node-addon-api: 5.1.0
prebuild-install: 7.1.2 prebuild-install: 7.1.2
semver: 7.6.0 semver: 7.6.2
simple-get: 4.0.1 simple-get: 4.0.1
tar-fs: 2.1.1 tar-fs: 2.1.1
tunnel-agent: 0.6.0 tunnel-agent: 0.6.0
@@ -933,5 +920,3 @@ snapshots:
'@oozcitak/infra': 1.0.8 '@oozcitak/infra': 1.0.8
'@oozcitak/util': 8.3.8 '@oozcitak/util': 8.3.8
js-yaml: 3.14.1 js-yaml: 3.14.1
yallist@4.0.0: {}

View File

@@ -10,13 +10,13 @@ def update_ff():
def get_version_before(): def get_version_before():
global last_version global last_version
with open("gluon.json", "r") as f: with open("surfer.json", "r") as f:
data = json.load(f) data = json.load(f)
last_version = data["version"]["version"] last_version = data["version"]["version"]
def get_version_after(): def get_version_after():
global new_version global new_version
with open("gluon.json", "r") as f: with open("surfer.json", "r") as f:
data = json.load(f) data = json.load(f)
new_version = data["version"]["version"] new_version = data["version"]["version"]

View File

@@ -1,10 +1,10 @@
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index 27c2d13fbd8599a131de6b70bba581d435198793..25aa7546d57e206b76838bc23b609f602af43a83 100644 index b8aa71126c2bb4521caf25f9caf845a8a429dc64..59cdc2e9998e802d6c79ff967eaa30088a3b7a21 100644
--- a/browser/app/profile/firefox.js --- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js
@@ -3061,3 +3061,5 @@ pref("startup.homepage_override_nimbus_maxVersion", ""); @@ -3110,3 +3110,5 @@ pref("toolkit.contentRelevancy.enabled", false);
pref("toolkit.contentRelevancy.enabled", false);
// Pref to enable the ingestion through the Rust component.
pref("toolkit.contentRelevancy.ingestEnabled", false); pref("toolkit.contentRelevancy.ingestEnabled", false);
// Pref to enable extra logging for the content relevancy feature
pref("toolkit.contentRelevancy.log", false);
+ +
+#include zen-browser.js +#include zen-browser.js

View File

@@ -3,6 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/. // file, You can obtain one at http://mozilla.org/MPL/2.0/.
pref("browser.tabs.cardPreview.enabled", true); pref("browser.tabs.cardPreview.enabled", true);
pref("browser.tabs.hoverPreview.enabled", true);
pref("browser.tabs.cardPreview.delayMs", 100); pref("browser.tabs.cardPreview.delayMs", 100);
pref("browser.urlbar.suggest.calculator", true); pref("browser.urlbar.suggest.calculator", true);
@@ -37,6 +38,12 @@ pref('browser.display.focus_ring_style', 0);
pref('browser.display.focus_ring_width', 0); pref('browser.display.focus_ring_width', 0);
pref('browser.privateWindowSeparation.enabled', false); // WINDOWS pref('browser.privateWindowSeparation.enabled', false); // WINDOWS
pref('browser.newtabpage.activity-stream.newtabWallpapers.enabled', true);
pref('browser.translations.newSettingsUI.enable', true);
pref("browser.urlbar.trimHttps", true);
pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
// Cookie banner handling (reject by default) // Cookie banner handling (reject by default)
pref('cookiebanners.service.mode', 1); pref('cookiebanners.service.mode', 1);

View File

@@ -438,8 +438,7 @@ var gZenBrowserManagerSidebar = {
let data = this.sidebarData; let data = this.sidebarData;
let panel = data.data[this.contextTab]; let panel = data.data[this.contextTab];
let url = (browser == null) ? panel.url : browser.currentURI.spec; let url = (browser == null) ? panel.url : browser.currentURI.spec;
let tab = gBrowser.addTrustedTab(url); gZenUIManager.openAndChangeToTab(url);
gBrowser.selectedTab = tab;
this.close(); this.close();
}, },

View File

@@ -0,0 +1,12 @@
var gZenUIManager = {
openAndChangeToTab(url, options) {
if (window.ownerGlobal.parent) {
let tab = window.ownerGlobal.parent.gBrowser.addTrustedTab(url, options);
window.ownerGlobal.parent.gBrowser.selectedTab = tab;
return;
}
let tab = window.gBrowser.addTrustedTab(url, options);
window.gBrowser.selectedTab = tab;
}
};

View File

@@ -54,6 +54,17 @@ var ZenWorkspaces = {
// Workspaces management // Workspaces management
_createWorkspaceData(windowID) {
let window = Services.wm.getOuterWindowWithId(windowID);
let tabs = Array.from(window.gBrowser.tabs).map(tab => ({
url: tab.linkedBrowser.currentURI.spec,
title: tab.label,
}));
return {
tabs,
};
},
async saveCurrentWorkspace(windowID) { async saveCurrentWorkspace(windowID) {
let workspaceData = this._createWorkspaceData(windowID); let workspaceData = this._createWorkspaceData(windowID);
await this.saveWorkspace(workspaceData, windowID); await this.saveWorkspace(workspaceData, windowID);

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser.css b/browser/base/content/browser.css diff --git a/browser/base/content/browser.css b/browser/base/content/browser.css
index 6e776a9ce7c525e510b6466065daf755b21567a4..8668b27ec2126ed772a11aa77809b6f22ceab7e2 100644 index cdd08ec8f3d3cd652be9fcf6d4fb5b50dcf270ba..6cb35378aea2e7967dff0c91d09201b053645fbd 100644
--- a/browser/base/content/browser.css --- a/browser/base/content/browser.css
+++ b/browser/base/content/browser.css +++ b/browser/base/content/browser.css
@@ -2,6 +2,8 @@ @@ -2,6 +2,8 @@
@@ -10,32 +10,8 @@ index 6e776a9ce7c525e510b6466065daf755b21567a4..8668b27ec2126ed772a11aa77809b6f2
+ +
@namespace html url("http://www.w3.org/1999/xhtml"); @namespace html url("http://www.w3.org/1999/xhtml");
:root, panelmultiview {
@@ -157,8 +159,6 @@ panelview:not([visible]) { @@ -566,9 +568,9 @@ printpreview-pagination:focus-within,
flex: 100 100;
max-width: 225px;
min-width: var(--tab-min-width);
- transition: min-width 100ms ease-out,
- max-width 100ms ease-out;
}
:root[uidensity=touch] .tabbrowser-tab:not([pinned]) {
@@ -647,12 +647,12 @@ toolbar:not(#TabsToolbar) > #personal-bookmarks {
margin-inline-start: 0;
}
-#urlbar-input-container[pageproxystate=invalid] > #page-action-buttons > .urlbar-page-action,
+#urlbar-input-container[pageproxystate=invalid] > #page-action-buttons > .urlbar-page-action:not(#zen-split-views-box),
#identity-box.chromeUI ~ #page-action-buttons > .urlbar-page-action:not(#star-button-box),
#urlbar[usertyping] > #urlbar-input-container > #page-action-buttons > #urlbar-zoom-button,
#urlbar:not([usertyping]) > #urlbar-input-container > #urlbar-go-button,
#urlbar:not([focused]) > #urlbar-input-container > #urlbar-go-button {
- display: none;
+ display: none !important;
}
#nav-bar:not([keyNav=true]) #identity-box,
@@ -1237,13 +1237,13 @@ printpreview-pagination:focus-within,
#sidebar-box { #sidebar-box {
@@ -47,15 +23,11 @@ index 6e776a9ce7c525e510b6466065daf755b21567a4..8668b27ec2126ed772a11aa77809b6f2
} }
/* WebExtension Sidebars */ /* WebExtension Sidebars */
-#sidebar-box[sidebarcommand$="-sidebar-action"] > #sidebar-header > #sidebar-switcher-target > #sidebar-icon { @@ -583,3 +585,43 @@ printpreview-pagination:focus-within,
+#sidebar-box[sidebarcommand$="-sidebar-action"] #sidebar-header > #sidebar-switcher-target > #sidebar-icon { toolbar[keyNav=true]:not([collapsed=true], [customizing=true]) toolbartabstop {
list-style-image: var(--webextension-menuitem-image, inherit); -moz-user-focus: normal;
-moz-context-properties: fill; }
fill: currentColor; +
@@ -1444,3 +1444,42 @@ toolbar[keyNav=true]:not([collapsed=true], [customizing=true]) toolbartabstop {
/**
* End Dialogs
*/
+ +
+/** +/**
+ * + *

View File

@@ -1,33 +1,13 @@
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
index 0717ce21386b73fc3399c97b34c6892a674cca77..f20e8a43fdd1d885f917948a26f1c3a1bd917707 100644 index a79a9734619f89639c15087fe28e9615354a7209..212628c6fb2bed5ba17a3d2908f5d4b2376fa95e 100644
--- a/browser/base/content/browser-init.js --- a/browser/base/content/browser-init.js
+++ b/browser/base/content/browser-init.js +++ b/browser/base/content/browser-init.js
@@ -230,6 +230,12 @@ var gBrowserInit = { @@ -230,6 +230,8 @@ var gBrowserInit = {
gURLBar.readOnly = true; gURLBar.readOnly = true;
} }
+ Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", this); + Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", this);
+
+ // ZEN: Propagate the current profile used to the browser UI, such as
+ // showing the avatar and profile info to the side bar
+ zenUpdateBrowserProfiles();
+ +
// Misc. inits. // Misc. inits.
gUIDensity.init(); gUIDensity.init();
TabletModeUpdater.init(); TabletModeUpdater.init();
@@ -1105,3 +1111,15 @@ var gBrowserInit = {
};
gBrowserInit.idleTasksFinishedPromise = gBrowserInit.idleTasksFinished.promise;
+
+function zenUpdateBrowserProfiles() {
+ const mainWindowEl = document.documentElement;
+ // Dont override the sync avatar if it's already set
+ if (mainWindowEl.style.hasOwnProperty("--avatar-image-url")) {
+ return;
+ }
+ let profile = ProfileService.currentProfile;
+ if (!profile || profile.zenAvatarPath == "") return;
+ // TODO: actually use profile data to generate the avatar, instead of just using the name
+ mainWindowEl.style.setProperty("--avatar-image-url", `url(${profile.zenAvatarPath})`);
+}

View File

@@ -1,8 +1,8 @@
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
index aec0983a6704f09300da9a3a9ab76e627695b708..4228c96f59d6054c19c95686cafa979594e7da1f 100644 index 3063370347db9e2812ad30205e585c849e44c91e..be74d9e624b8220cb9bd009bae31fb513c4ec73f 100644
--- a/browser/base/content/browser.xhtml --- a/browser/base/content/browser.xhtml
+++ b/browser/base/content/browser.xhtml +++ b/browser/base/content/browser.xhtml
@@ -140,6 +140,8 @@ @@ -139,6 +139,8 @@
window.addEventListener("DOMContentLoaded", window.addEventListener("DOMContentLoaded",
gBrowserInit.onDOMContentLoaded.bind(gBrowserInit), { once: true }); gBrowserInit.onDOMContentLoaded.bind(gBrowserInit), { once: true });
</script> </script>
@@ -11,7 +11,7 @@ index aec0983a6704f09300da9a3a9ab76e627695b708..4228c96f59d6054c19c95686cafa9795
</head> </head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
# All sets except for popupsets (commands, keys, and stringbundles) # All sets except for popupsets (commands, keys, and stringbundles)
@@ -161,9 +163,12 @@ @@ -160,9 +162,12 @@
</vbox> </vbox>
</html:template> </html:template>
@@ -27,3 +27,10 @@ index aec0983a6704f09300da9a3a9ab76e627695b708..4228c96f59d6054c19c95686cafa9795
<html:template id="customizationPanel"> <html:template id="customizationPanel">
<box id="customization-container" flex="1" hidden="true"><![CDATA[ <box id="customization-container" flex="1" hidden="true"><![CDATA[
@@ -176,5 +181,6 @@
<!-- Put it at the very end to make sure it's not covered by anything. -->
<html:div id="fullscr-toggler" hidden="hidden"/>
+#include zen-watermark.inc.xhtml
</html:body>
</html>

View File

@@ -7,11 +7,11 @@
<label id="PanelUI-zen-profiles-current-name"></label> <label id="PanelUI-zen-profiles-current-name"></label>
<p id="PanelUI-zen-profiles-current-profile-current" data-l10n-id="zen-panel-ui-current-profile-text"></p> <p id="PanelUI-zen-profiles-current-profile-current" data-l10n-id="zen-panel-ui-current-profile-text"></p>
</vbox> </vbox>
<toolbarbutton id="PanelUI-zen-profiles-managePrfs" oncommand="switchToTabHavingURI('about:profiles', true);" data-l10n-id="appmenu-manage-profiles" class="subviewbutton"></toolbarbutton> <hbox id="PanelUI-zen-profiles-actions">
#if 0 <toolbarbutton id="PanelUI-zen-profiles-managePrfs" oncommand="switchToTabHavingURI('about:profiles', true);" data-l10n-id="appmenu-manage-profiles" class="subviewbutton"></toolbarbutton>
<toolbarbutton id="PanelUI-zen-profiles-privateWin" command="Tools:PrivateBrowsing" data-l10n-id="appmenuitem-new-private-window" class="subviewbutton"></toolbarbutton> <toolbarbutton id="PanelUI-zen-profiles-privateWin" command="Tools:PrivateBrowsing" data-l10n-id="appmenuitem-new-private-window" class="subviewbutton"></toolbarbutton>
<toolbarbutton id="PanelUI-zen-profiles-newProfile" oncommand="ZenProfileDialogUI.createProfileWizard();" data-l10n-id="appmenu-create-profile" class="subviewbutton"></toolbarbutton> <toolbarbutton id="PanelUI-zen-profiles-newProfile" oncommand="ZenProfileDialogUI.createProfileWizard();" data-l10n-id="appmenu-create-profile" class="subviewbutton"></toolbarbutton>
#endif </hbox>
<vbox id="PanelUI-zen-profiles-list"> <vbox id="PanelUI-zen-profiles-list">
</vbox> </vbox>
</vbox> </vbox>

View File

@@ -1,5 +1,6 @@
<script type="text/javascript"> <script type="text/javascript">
window.addEventListener("DOMContentLoaded", () => { window.addEventListener("DOMContentLoaded", () => {
Services.scriptloader.loadSubScript("chrome://browser/content/ZenUIManager.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/ZenWorkspaces.mjs"); Services.scriptloader.loadSubScript("chrome://browser/content/ZenWorkspaces.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/ZenSidebarManager.mjs"); Services.scriptloader.loadSubScript("chrome://browser/content/ZenSidebarManager.mjs");
Services.scriptloader.loadSubScript("chrome://browser/content/ZenViewSplitter.mjs"); Services.scriptloader.loadSubScript("chrome://browser/content/ZenViewSplitter.mjs");

View File

@@ -1,6 +1,7 @@
content/browser/zen-browser-places.js (content/zen-browser-places.js) content/browser/zen-browser-places.js (content/zen-browser-places.js)
content/browser/zenThemeModifier.js (content/zenThemeModifier.js) content/browser/zenThemeModifier.js (content/zenThemeModifier.js)
content/browser/ZenSidebarManager.mjs (content/ZenSidebarManager.mjs) content/browser/ZenSidebarManager.mjs (content/ZenSidebarManager.mjs)
content/browser/ZenUIManager.mjs (content/ZenUIManager.mjs)
content/browser/ZenViewSplitter.mjs (content/ZenViewSplitter.mjs) content/browser/ZenViewSplitter.mjs (content/ZenViewSplitter.mjs)
content/browser/ZenWorkspaces.mjs (content/ZenWorkspaces.mjs) content/browser/ZenWorkspaces.mjs (content/ZenWorkspaces.mjs)

View File

@@ -0,0 +1,4 @@
<html:div id="zen-watermark">
<image src="chrome://branding/content/about-logo.png" />
</html:div>

View File

@@ -95,6 +95,8 @@
_zenInitBrowserLayout() { _zenInitBrowserLayout() {
if (!this._inMainBrowserWindow) return; if (!this._inMainBrowserWindow) return;
this.openWatermark();
console.log("ZenThemeModifier: init browser layout");
const kNavbarItems = [ const kNavbarItems = [
"nav-bar", "nav-bar",
"PersonalToolbar", "PersonalToolbar",
@@ -116,7 +118,34 @@
// move the security button to the right // move the security button to the right
const securityButton = document.getElementById("tracking-protection-icon-container"); const securityButton = document.getElementById("tracking-protection-icon-container");
document.getElementById("urlbar-input-container").insertBefore(securityButton, document.getElementById("page-action-buttons")); document.getElementsByClassName("urlbar-input-container")[0].insertBefore(securityButton, document.getElementById("page-action-buttons"));
const mainWindowEl = document.documentElement;
// Dont override the sync avatar if it's already set
if (mainWindowEl.style.hasOwnProperty("--avatar-image-url")) {
return;
}
let profile = ProfileService.currentProfile;
if (!profile || profile.zenAvatarPath == "") return;
// TODO: actually use profile data to generate the avatar, instead of just using the name
console.log("ZenThemeModifier: setting avatar image to", profile.zenAvatarPath);
mainWindowEl.style.setProperty("--zen-avatar-image-url", `url(${profile.zenAvatarPath})`);
mainWindowEl.style.setProperty("--avatar-image-url", `var(--zen-avatar-image-url)`, "important");
this.closeWatermark();
},
openWatermark() {
const watermark = document.getElementById("zen-watermark");
if (watermark) {
watermark.removeAttribute("hidden");
}
},
closeWatermark() {
const watermark = document.getElementById("zen-watermark");
if (watermark) {
watermark.setAttribute("hidden", "true");
}
}, },
}; };

View File

@@ -1,22 +0,0 @@
diff --git a/browser/components/controlcenter/content/protectionsPanel.inc.xhtml b/browser/components/controlcenter/content/protectionsPanel.inc.xhtml
index 29927139181e40fa9779038f996a08a2afc6f76b..ddb95da98de6aba014d69f040aabe6b311fb6772 100644
--- a/browser/components/controlcenter/content/protectionsPanel.inc.xhtml
+++ b/browser/components/controlcenter/content/protectionsPanel.inc.xhtml
@@ -8,6 +8,7 @@
type="arrow"
role="alertdialog"
noautofocus="true"
+ infoMessageShowing=""
aria-labelledby="protections-popup-main-header-label"
onpopupshown="gProtectionsHandler.onPopupShown(event);ReportBrokenSite.updateParentMenu(event)"
onpopuphidden="gProtectionsHandler.onPopupHidden(event);"
@@ -28,7 +29,7 @@
<html:span id="protections-popup-mainView-panel-header-span"/>
</html:h1>
<toolbarbutton id="protections-popup-info-button" class="panel-info-button"
- data-l10n-id="protections-panel-etp-more-info">
+ data-l10n-id="protections-panel-etp-more-info" checked="">
<image/>
</toolbarbutton>
<description id="protections-popup-toast-panel-tp-on-desc" data-l10n-id="protections-panel-etp-on-header"></description>

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
index 5b09402dc1e19e89dcdfc8b5b45a2004c8cec0e6..0f8d774c728087b96242f35fe038e1fef55e58b3 100644 index f466105b8290b13c672351bb68dd92644dd670fe..b195cd59d7ff07ff512e7388c9dc33f3c661d955 100644
--- a/browser/components/customizableui/CustomizableUI.sys.mjs --- a/browser/components/customizableui/CustomizableUI.sys.mjs
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs +++ b/browser/components/customizableui/CustomizableUI.sys.mjs
@@ -25,7 +25,7 @@ ChromeUtils.defineLazyGetter(lazy, "gWidgetsBundle", function () { @@ -25,7 +25,7 @@ ChromeUtils.defineLazyGetter(lazy, "gWidgetsBundle", function () {
@@ -11,23 +11,19 @@ index 5b09402dc1e19e89dcdfc8b5b45a2004c8cec0e6..0f8d774c728087b96242f35fe038e1fe
const kSpecialWidgetPfx = "customizableui-special-"; const kSpecialWidgetPfx = "customizableui-special-";
@@ -249,14 +249,11 @@ var CustomizableUIInternal = { @@ -253,10 +253,9 @@ var CustomizableUIInternal = {
Services.policies.isAllowed("removeHomeButtonByDefault") "spring",
? null
: "home-button",
- "spring",
"urlbar-container", "urlbar-container",
- "spring", "spring",
- "save-to-pocket-button", - "save-to-pocket-button",
"downloads-button", "downloads-button",
AppConstants.MOZ_DEV_EDITION ? "developer-button" : null, AppConstants.MOZ_DEV_EDITION ? "developer-button" : null,
- "fxa-toolbar-menu-button", - "fxa-toolbar-menu-button",
lazy.resetPBMToolbarButtonEnabled ? "reset-pbm-toolbar-button" : null,
+ "wrapper-sidebar-button", + "wrapper-sidebar-button",
lazy.resetPBMToolbarButtonEnabled ? "reset-pbm-toolbar-button" : null,
].filter(name => name); ].filter(name => name);
this.registerArea( @@ -288,7 +287,7 @@ var CustomizableUIInternal = {
@@ -287,7 +284,7 @@ var CustomizableUIInternal = {
{ {
type: CustomizableUI.TYPE_TOOLBAR, type: CustomizableUI.TYPE_TOOLBAR,
defaultPlacements: [ defaultPlacements: [

View File

@@ -1,14 +1,12 @@
diff --git a/browser/components/moz.build b/browser/components/moz.build diff --git a/browser/components/moz.build b/browser/components/moz.build
index 0f91b90fb0ce4eac232d71ad4f9ff82ab7316635..82aa7bb8bd41b061ac861d3fbabbf9f9879a2091 100644 index 6cbb7ce0037c1457eeae5c331a996719691ebd6b..611707852198740c9b4103f5e2a66e8ee4099a21 100644
--- a/browser/components/moz.build --- a/browser/components/moz.build
+++ b/browser/components/moz.build +++ b/browser/components/moz.build
@@ -72,6 +72,9 @@ DIRS += [ @@ -27,6 +27,7 @@ with Files("controlcenter/**"):
"urlbar",
]
+# Zen Components:
+DIRS += ["zen-welcome"]
+
DIRS += ["build"]
DIRS += [
+ "zen-welcome",
"about",
"aboutlogins",
"aboutwelcome",

View File

@@ -1,13 +0,0 @@
diff --git a/browser/components/newtab/content-src/styles/_theme.scss b/browser/components/newtab/content-src/styles/_theme.scss
index 6b097ae93edc046fb82dc843357e4ce8f34aca60..a76a3d8082d611a5169b0e85053aaca05a59ede1 100644
--- a/browser/components/newtab/content-src/styles/_theme.scss
+++ b/browser/components/newtab/content-src/styles/_theme.scss
@@ -25,7 +25,7 @@ $shadow-image-inset: inset 0 0 0 0.5px $black-15;
// Default theme
:root {
// General styles
- --newtab-background-color: #{$in-content-page-background};
+ --newtab-background-color: var(--zen-colors-tertiary);
--newtab-background-color-secondary: #{$newtab-background-secondary};
--newtab-text-primary-color: #{$in-content-page-color};
--newtab-primary-action-background: #{$primary-blue};

View File

@@ -0,0 +1,13 @@
diff --git a/browser/components/tabbrowser/content/tab-hover-preview.mjs b/browser/components/tabbrowser/content/tab-hover-preview.mjs
index b07dba3e060dd730e603997b2c374f218a1eb591..412d35a263d1e6a789927206a506c184a5ac0d46 100644
--- a/browser/components/tabbrowser/content/tab-hover-preview.mjs
+++ b/browser/components/tabbrowser/content/tab-hover-preview.mjs
@@ -7,7 +7,7 @@ var { XPCOMUtils } = ChromeUtils.importESModule(
);
const POPUP_OPTIONS = {
- position: "bottomleft topleft",
+ position: "topright topleft",
x: 0,
y: -2,
};

View File

@@ -1,7 +1,7 @@
diff --git a/browser/base/content/tabbrowser.js b/browser/base/content/tabbrowser.js diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
index 3bca0b6d30468dc3a755219723f673ec80dfce6e..200a609ea31a8c904e2d3e39a3a06ff67fb313ed 100644 index 3bca0b6d30468dc3a755219723f673ec80dfce6e..200a609ea31a8c904e2d3e39a3a06ff67fb313ed 100644
--- a/browser/base/content/tabbrowser.js --- a/browser/components/tabbrowser/content/tabbrowser.js
+++ b/browser/base/content/tabbrowser.js +++ b/browser/components/tabbrowser/content/tabbrowser.js
@@ -7623,6 +7623,11 @@ var TabContextMenu = { @@ -7623,6 +7623,11 @@ var TabContextMenu = {
this.contextTab.linkedBrowser, this.contextTab.linkedBrowser,
document.getElementById("context_sendTabToDevice") document.getElementById("context_sendTabToDevice")

View File

@@ -1,7 +1,7 @@
diff --git a/browser/base/content/tabbrowser-tabs.js b/browser/base/content/tabbrowser-tabs.js diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
index 4733e6d0b66f254c72a592bf3eabeb1a939e76fa..ab16fe96e1e8036df7e8321c992624170bde0e63 100644 index 4733e6d0b66f254c72a592bf3eabeb1a939e76fa..ab16fe96e1e8036df7e8321c992624170bde0e63 100644
--- a/browser/base/content/tabbrowser-tabs.js --- a/browser/components/tabbrowser/content/tabs.js
+++ b/browser/base/content/tabbrowser-tabs.js +++ b/browser/components/tabbrowser/content/tabs.js
@@ -538,19 +538,36 @@ @@ -538,19 +538,36 @@
} }
dt.setDragImage(toDrag, dragImageOffset, dragImageOffset); dt.setDragImage(toDrag, dragImageOffset, dragImageOffset);

View File

@@ -1,13 +0,0 @@
diff --git a/browser/components/tabpreview/tab-preview-panel.mjs b/browser/components/tabpreview/tab-preview-panel.mjs
index 683b2c17ec893a97680d885c622029591dda7f29..605f8682368d691f7cc18dfb1775fa2622006ebd 100644
--- a/browser/components/tabpreview/tab-preview-panel.mjs
+++ b/browser/components/tabpreview/tab-preview-panel.mjs
@@ -7,7 +7,7 @@ var { XPCOMUtils } = ChromeUtils.importESModule(
);
const POPUP_OPTIONS = {
- position: "bottomleft topleft",
+ position: "topright topleft",
x: 0,
y: -2,
};

View File

@@ -51,6 +51,11 @@ button {
text-align: center; text-align: center;
} }
#theme .card[disabled="true"] {
opacity: 0.7;
cursor: not-allowed;
}
.cardGroup { .cardGroup {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
@@ -84,6 +89,7 @@ h1 {
font-size: 32px; font-size: 32px;
font-weight: 700; font-weight: 700;
margin: 16px 0 5px 0; margin: 16px 0 5px 0;
line-height: 1;
} }
p { p {
@@ -134,14 +140,6 @@ input[type='checkbox'] {
margin-top: 20px; margin-top: 20px;
} }
#search h1 {
margin-bottom: 25px;
}
#theme h1 {
margin: 25px 0;
}
.page[hidden="true"] { .page[hidden="true"] {
display: none; display: none;
} }
@@ -190,16 +188,16 @@ input[type='checkbox'] {
} }
.dot { .dot {
width: 7px; width: 8px;
height: 7px; height: 8px;
border-radius: 50%; border-radius: 50%;
background: var(--in-content-primary-button-background);
transition: all .1s; transition: all .1s;
background: light-dark(#000, #fff);
cursor: pointer; cursor: pointer;
} }
.dot.active { .dot.active {
background: light-dark(#000, #fff); background: var(--zen-primary-color);
} }
#colorList { #colorList {
@@ -224,3 +222,14 @@ input[type='checkbox'] {
width: 500px; width: 500px;
height: 20px; height: 20px;
} }
#colorPreview {
margin-left: 10px;
border-radius: 5px;
width: 25px;
height: 25px;
position: absolute;
top: 50%;
right: -60px;
transform: translateY(-50%);
}

View File

@@ -8,10 +8,6 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/.
<html lang="en"> <html lang="en">
<head> <head>
<meta name="color-scheme" content="light dark"> <meta name="color-scheme" content="light dark">
<meta
http-equiv="Content-Security-Policy"
content="default-src chrome:; object-src 'none'"
/>
<meta name="referrer" content="no-referrer" /> <meta name="referrer" content="no-referrer" />
<link <link
@@ -77,6 +73,7 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/.
<div id="colorListWrapper"> <div id="colorListWrapper">
<canvas id="colorList" class="cardGroup"></canvas> <canvas id="colorList" class="cardGroup"></canvas>
<div id="dragBall"></div> <div id="dragBall"></div>
<div id="colorPreview"></div>
</div> </div>
<button <button
id="themeNext" id="themeNext"

View File

@@ -14,9 +14,12 @@ ChromeUtils.defineModuleGetter(
this, this,
'ExtensionSettingsStore', 'ExtensionSettingsStore',
'resource://gre/modules/ExtensionSettingsStore.jsm' 'resource://gre/modules/ExtensionSettingsStore.jsm'
) );
const welcomeSeenPref = 'zen.welcomeScreen.seen' Services.scriptloader.loadSubScript("chrome://browser/content/ZenUIManager.mjs");
const kWelcomeURL = 'https://get-zen.vercel.app/welcome';
const kWelcomeSeenPref = 'zen.welcomeScreen.seen'
// ============================================================================= // =============================================================================
// Util stuff copied from browser/components/preferences/search.js // Util stuff copied from browser/components/preferences/search.js
@@ -134,11 +137,18 @@ class Themes extends Page {
container.classList.add('card'); container.classList.add('card');
container.classList.add('card-no-hover'); container.classList.add('card-no-hover');
//if (theme.id == "firefox-compact-dream@mozilla.org" || theme.id == "firefox-compact-galaxy@mozilla.org") {
// container.setAttribute('disabled', 'true')
//}
if (theme.isActive) { if (theme.isActive) {
container.classList.add('selected') container.classList.add('selected')
} }
container.addEventListener('click', () => { container.addEventListener('click', () => {
if (container.hasAttribute('disabled')) {
return
}
document.body.classList.add('normal-background'); document.body.classList.add('normal-background');
themeElements.forEach((el) => el.classList.remove('selected')) themeElements.forEach((el) => el.classList.remove('selected'))
container.classList.add('selected') container.classList.add('selected')
@@ -196,12 +206,15 @@ class Themes extends Page {
x = rect.width - 17 - (17/2); x = rect.width - 17 - (17/2);
} }
const data = ctx.getImageData(x - 17, 1, 1, 1).data; const data = ctx.getImageData(x - 17, 1, 1, 1).data;
Services.prefs.setStringPref('zen.theme.accent-color', `#${data[0].toString(16)}${data[1].toString(16)}${data[2].toString(16)}`); let color = `#${data[0].toString(16)}${data[1].toString(16)}${data[2].toString(16)}`;
document.getElementById("colorPreview").style.backgroundColor = color;
Services.prefs.setStringPref('zen.theme.accent-color', color);
} }
const onMouseUp = () => { const onMouseUp = () => {
document.removeEventListener('mousemove', onMouseMove); document.removeEventListener('mousemove', onMouseMove);
document.removeEventListener('mouseup', onMouseUp); document.removeEventListener('mouseup', onMouseUp);
document.getElementById("colorPreview").style.backgroundColor = '';
} }
document.addEventListener('mousemove', onMouseMove); document.addEventListener('mousemove', onMouseMove);
@@ -236,8 +249,8 @@ class Search extends Page {
const searchElements = document.getElementById('searchList') const searchElements = document.getElementById('searchList')
this.store.getEngine().forEach((search) => { this.store.getEngine().forEach(async (search) => {
const container = this.loadSpecificSearch(search, defaultEngine) const container = await this.loadSpecificSearch(search, defaultEngine)
searchElements.appendChild(container) searchElements.appendChild(container)
this.searchList.push(container) this.searchList.push(container)
@@ -247,7 +260,7 @@ class Search extends Page {
/** /**
* @returns {HTMLDivElement} * @returns {HTMLDivElement}
*/ */
loadSpecificSearch(search, defaultSearch) { async loadSpecificSearch(search, defaultSearch) {
const container = document.createElement('div'); const container = document.createElement('div');
container.classList.add('card') container.classList.add('card')
container.classList.add('card-no-hover') container.classList.add('card-no-hover')
@@ -263,7 +276,7 @@ class Search extends Page {
}) })
const img = document.createElement('img'); const img = document.createElement('img');
img.src = search.originalEngine._iconURI.spec; img.src = await search.originalEngine.getIconURL();
const name = document.createElement('h3') const name = document.createElement('h3')
name.textContent = search.name name.textContent = search.name
@@ -295,6 +308,7 @@ class Pages {
* @param {Page[]} pages The pages * @param {Page[]} pages The pages
*/ */
constructor(pages) { constructor(pages) {
console.log("Initializing welcome pages...");
this.pages = pages this.pages = pages
this.currentPage = 0; this.currentPage = 0;
@@ -314,6 +328,7 @@ class Pages {
dots.appendChild(dot); dots.appendChild(dot);
} }
this._displayCurrentPage(); this._displayCurrentPage();
console.log("Welcome pages initialized.")
} }
next() { next() {
@@ -323,15 +338,20 @@ class Pages {
// We can use internal js apis to close the window. We also want to set // We can use internal js apis to close the window. We also want to set
// the settings api for welcome seen to false to stop it showing again // the settings api for welcome seen to false to stop it showing again
Services.prefs.setBoolPref(welcomeSeenPref, true) Services.prefs.setBoolPref(kWelcomeSeenPref, true)
close() close();
this._openWelcomePage();
return return
} }
this._displayCurrentPage() this._displayCurrentPage()
} }
_openWelcomePage() {
gZenUIManager.openAndChangeToTab(kWelcomeURL);
}
_displayCurrentPage() { _displayCurrentPage() {
let dots = document.getElementsByClassName("dot"); let dots = document.getElementsByClassName("dot");
for (let i = 0; i < dots.length; i++) { for (let i = 0; i < dots.length; i++) {

View File

@@ -1,7 +1,7 @@
diff --git a/browser/modules/AsyncTabSwitcher.sys.mjs b/browser/modules/AsyncTabSwitcher.sys.mjs diff --git a/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs b/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
index 9f4aa535e07adab496788165f4089be6732b1444..7b7955c0d1f2f3277cb750652458649d181e90e5 100644 index 9f4aa535e07adab496788165f4089be6732b1444..7b7955c0d1f2f3277cb750652458649d181e90e5 100644
--- a/browser/modules/AsyncTabSwitcher.sys.mjs --- a/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
+++ b/browser/modules/AsyncTabSwitcher.sys.mjs +++ b/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
@@ -39,6 +39,10 @@ XPCOMUtils.defineLazyPreferenceGetter( @@ -39,6 +39,10 @@ XPCOMUtils.defineLazyPreferenceGetter(
300 300
); );

View File

@@ -1,5 +1,5 @@
diff --git a/browser/themes/addons/dark/manifest.json b/browser/themes/addons/dark/manifest.json diff --git a/browser/themes/addons/dark/manifest.json b/browser/themes/addons/dark/manifest.json
index 544986d5e93c033f944cf301af79e0750864a32c..41b15b8d1e1bb146ef0cf8357ab08d443f88b235 100644 index bfebde683d00b0acf26509139a0f662029d37c72..976b553f49e40b7ed02743d79ccc102fccffcf6f 100644
--- a/browser/themes/addons/dark/manifest.json --- a/browser/themes/addons/dark/manifest.json
+++ b/browser/themes/addons/dark/manifest.json +++ b/browser/themes/addons/dark/manifest.json
@@ -7,10 +7,10 @@ @@ -7,10 +7,10 @@
@@ -16,32 +16,7 @@ index 544986d5e93c033f944cf301af79e0750864a32c..41b15b8d1e1bb146ef0cf8357ab08d44
"icons": { "32": "icon.svg" }, "icons": { "32": "icon.svg" },
@@ -38,19 +38,18 @@ @@ -58,7 +58,8 @@
"ntp_background": "rgb(43, 42, 51)",
"ntp_card_background": "rgb(66,65,77)",
"ntp_text": "rgb(251, 251, 254)",
- "sidebar": "#38383D",
"sidebar_text": "rgb(249, 249, 250)",
"sidebar_border": "rgba(255, 255, 255, 0.1)",
"button": "rgba(0, 0, 0, .33)",
"button_hover": "rgba(207, 207, 216, .20)",
"button_active": "rgba(207, 207, 216, .40)",
- "button_primary": "rgb(0, 221, 255)",
- "button_primary_hover": "rgb(128, 235, 255)",
- "button_primary_active": "rgb(170, 242, 255)",
- "button_primary_color": "rgb(43, 42, 51)",
+ "button_primary": "#fff",
+ "button_primary_hover": "rgb(207, 207, 216)",
+ "button_primary_active": "rgb(207, 207, 216)",
+ "button_primary_color": "#000",
"input_background": "#42414D",
"input_color": "rgb(251,251,254)",
- "input_border": "#8f8f9d",
+ "input_border": "#fff",
"urlbar_popup_separator": "rgb(82,82,94)",
"appmenu_update_icon_color": "#54FFBD",
"appmenu_info_icon_color": "#80EBFF",
@@ -61,7 +60,8 @@
"color_scheme": "dark", "color_scheme": "dark",
"panel_active": "color-mix(in srgb, currentColor 14%, transparent)", "panel_active": "color-mix(in srgb, currentColor 14%, transparent)",
"toolbar_field_icon_opacity": "1", "toolbar_field_icon_opacity": "1",
@@ -51,7 +26,7 @@ index 544986d5e93c033f944cf301af79e0750864a32c..41b15b8d1e1bb146ef0cf8357ab08d44
} }
}, },
@@ -88,7 +88,8 @@ @@ -82,7 +83,8 @@
"properties": { "properties": {
"panel_active": "--arrowpanel-dimmed-further", "panel_active": "--arrowpanel-dimmed-further",
"toolbar_field_icon_opacity": "--urlbar-icon-fill-opacity", "toolbar_field_icon_opacity": "--urlbar-icon-fill-opacity",

View File

@@ -63,7 +63,7 @@
"toolbar_field_icon_opacity": "0.72", "toolbar_field_icon_opacity": "0.72",
"input_border_color": "rgba(0, 0, 0, .3)", "input_border_color": "rgba(0, 0, 0, .3)",
"zap_gradient": "linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%)", "zap_gradient": "linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%)",
"zen_main_browser_background": "radial-gradient(346.69% 165.29% at 50% 50%, rgba(63, 94, 204, 0.50) 0%, rgba(249, 249, 249, 0.23) 100%), #CBD0DF" "zen_main_browser_background": "radial-gradient(ellipse, var(--zen-browser-gradient-base, #1B1E27) 20%, rgb(255, 255, 255) 100%)"
} }
}, },

View File

@@ -61,7 +61,7 @@
"panel_active": "color-mix(in srgb, currentColor 14%, transparent)", "panel_active": "color-mix(in srgb, currentColor 14%, transparent)",
"toolbar_field_icon_opacity": "1", "toolbar_field_icon_opacity": "1",
"zap_gradient": "linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%)", "zap_gradient": "linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%)",
"zen_main_browser_background": "radial-gradient(236.2% 84.03% at 50% 50%, rgba(68, 0, 255, 0.20) 0%, rgba(63, 0, 0, 0.20) 100%), var(--zen-colors-primary, #1B1E27)" "zen_main_browser_background": "radial-gradient(ellipse, var(--zen-browser-gradient-base, #1B1E27) 20%, #1b1b1b 100%)"
} }
}, },

View File

@@ -1,5 +1,5 @@
diff --git a/browser/themes/addons/light/manifest.json b/browser/themes/addons/light/manifest.json diff --git a/browser/themes/addons/light/manifest.json b/browser/themes/addons/light/manifest.json
index 7385970fa8e3ff9659b72cfb238003958220fb0d..be4d385cf4520a2cad437225e5fb31335bbc3091 100644 index d490f8f08d203ded55b65fe1a19be105b61ee6c0..eb4349e939b979b3a4d7c525ee0c0f9a53079d4a 100644
--- a/browser/themes/addons/light/manifest.json --- a/browser/themes/addons/light/manifest.json
+++ b/browser/themes/addons/light/manifest.json +++ b/browser/themes/addons/light/manifest.json
@@ -7,10 +7,10 @@ @@ -7,10 +7,10 @@
@@ -16,45 +16,20 @@ index 7385970fa8e3ff9659b72cfb238003958220fb0d..be4d385cf4520a2cad437225e5fb3133
"icons": { "32": "icon.svg" }, "icons": { "32": "icon.svg" },
@@ -42,12 +42,12 @@ @@ -59,7 +59,8 @@
"button": "rgba(207,207,216,.33)",
"button_hover": "rgba(207,207,216,.66)",
"button_active": "rgb(207,207,216)",
- "button_primary": "rgb(0, 97, 224)",
- "button_primary_hover": "rgb(2, 80, 187)",
- "button_primary_active": "rgb(5, 62, 148)",
- "button_primary_color": "rgb(251, 251, 254)",
+ "button_primary": "#000",
+ "button_primary_hover": "rgb(31, 31, 31)",
+ "button_primary_active": "rgb(207,207,216)",
+ "button_primary_color": "#fff",
"input_color": "rgb(21,20,26)",
- "input_background": "rgb(255,255,255)",
+ "input_background": "#f0f0f4",
"urlbar_popup_hover": "rgb(240,240,244)",
"urlbar_popup_separator": "rgb(240,240,244)",
"appmenu_update_icon_color": "#2AC3A2",
@@ -57,12 +57,13 @@
},
"properties": {
"color_scheme": "light",
- "panel_hover": "color-mix(in srgb, currentColor 12%, transparent)",
+ "panel_hover": "color-mix(in srgb, currentColor 10%, transparent)",
"panel_active": "color-mix(in srgb, currentColor 20%, transparent)", "panel_active": "color-mix(in srgb, currentColor 20%, transparent)",
"panel_active_darker": "color-mix(in srgb, currentColor 27%, transparent)", "panel_active_darker": "color-mix(in srgb, currentColor 27%, transparent)",
"toolbar_field_icon_opacity": "0.72", "toolbar_field_icon_opacity": "0.72",
- "input_border_color": "color-mix(in srgb, currentColor 41%, transparent)",
- "zap_gradient": "linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%)" - "zap_gradient": "linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%)"
+ "input_border_color": "rgba(0, 0, 0, .3)",
+ "zap_gradient": "linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%)", + "zap_gradient": "linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%)",
+ "zen_main_browser_background": "var(--zen-themed-toolbar-bg)" + "zen_main_browser_background": "var(--zen-themed-toolbar-bg)"
} }
}, },
@@ -93,7 +94,8 @@ @@ -86,7 +87,8 @@
"panel_active": "--arrowpanel-dimmed-further",
"panel_active_darker": "--panel-item-active-bgcolor", "panel_active_darker": "--panel-item-active-bgcolor",
"toolbar_field_icon_opacity": "--urlbar-icon-fill-opacity", "toolbar_field_icon_opacity": "--urlbar-icon-fill-opacity",
"input_border_color": "--input-border-color",
- "zap_gradient": "--panel-separator-zap-gradient" - "zap_gradient": "--panel-separator-zap-gradient"
+ "zap_gradient": "--panel-separator-zap-gradient", + "zap_gradient": "--panel-separator-zap-gradient",
+ "zen_main_browser_background": "--zen-main-browser-background" + "zen_main_browser_background": "--zen-main-browser-background"

View File

@@ -1,8 +1,8 @@
diff --git a/browser/themes/shared/browser-shared.css b/browser/themes/shared/browser-shared.css diff --git a/browser/themes/shared/browser-shared.css b/browser/themes/shared/browser-shared.css
index 9e513830a9d9eeebe55cf6ab565b0575a943b088..05c8b716c0642f0ecebc47fe2759bc43474b6391 100644 index 61119b7564d37e55f49dab7e6e14faafb4baa298..bcaad1a231cc839579ed209307c8e95cfb4c37de 100644
--- a/browser/themes/shared/browser-shared.css --- a/browser/themes/shared/browser-shared.css
+++ b/browser/themes/shared/browser-shared.css +++ b/browser/themes/shared/browser-shared.css
@@ -25,6 +25,8 @@ @@ -27,6 +27,8 @@
@import url("chrome://browser/skin/UITour.css"); @import url("chrome://browser/skin/UITour.css");
@import url("chrome://browser/skin/formautofill-notification.css"); @import url("chrome://browser/skin/formautofill-notification.css");
@@ -10,8 +10,8 @@ index 9e513830a9d9eeebe55cf6ab565b0575a943b088..05c8b716c0642f0ecebc47fe2759bc43
+ +
@namespace html url("http://www.w3.org/1999/xhtml"); @namespace html url("http://www.w3.org/1999/xhtml");
:root { :root,
@@ -49,7 +51,7 @@ @@ -75,7 +77,7 @@ body {
--short-notification-gradient: #9059FF; --short-notification-gradient: #9059FF;
--button-bgcolor: color-mix(in srgb, currentColor 13%, transparent); --button-bgcolor: color-mix(in srgb, currentColor 13%, transparent);
@@ -20,23 +20,25 @@ index 9e513830a9d9eeebe55cf6ab565b0575a943b088..05c8b716c0642f0ecebc47fe2759bc43
--button-active-bgcolor: color-mix(in srgb, currentColor 30%, transparent); --button-active-bgcolor: color-mix(in srgb, currentColor 30%, transparent);
--button-color: currentColor; --button-color: currentColor;
--button-primary-bgcolor: AccentColor; --button-primary-bgcolor: AccentColor;
@@ -145,9 +147,6 @@ @@ -181,7 +183,6 @@ body {
#navigator-toolbox {
appearance: none; appearance: none;
- /* Toolbar / content area border */ /* Toolbar / content area border */
- border-bottom: 0.01px solid var(--chrome-content-separator-color); - border-bottom: 0.01px solid var(--chrome-content-separator-color);
-
background-color: var(--toolbox-non-lwt-bgcolor); background-color: var(--toolbox-non-lwt-bgcolor);
color: var(--toolbox-non-lwt-textcolor); color: var(--toolbox-non-lwt-textcolor);
@@ -190,37 +191,13 @@ body {
@@ -155,33 +154,8 @@
transition: background-color var(--inactive-window-transition); transition: background-color var(--inactive-window-transition);
&:-moz-window-inactive { &:-moz-window-inactive {
- background-color: var(--toolbox-non-lwt-bgcolor-inactive); - background-color: var(--toolbox-non-lwt-bgcolor-inactive);
color: var(--toolbox-non-lwt-textcolor-inactive); color: var(--toolbox-non-lwt-textcolor-inactive);
} }
&[fullscreenShouldAnimate] {
transition: 0.8s margin-top ease-out;
}
- -
- :root[customizing] & { - :root[customizing] & {
- border-bottom-style: none; - border-bottom-style: none;
@@ -61,6 +63,7 @@ index 9e513830a9d9eeebe55cf6ab565b0575a943b088..05c8b716c0642f0ecebc47fe2759bc43
- background-repeat: no-repeat, var(--lwt-background-tiling); - background-repeat: no-repeat, var(--lwt-background-tiling);
- background-position: right top, var(--lwt-background-alignment); - background-position: right top, var(--lwt-background-alignment);
- } - }
+
} }
.browser-toolbar { .browser-toolbar {

View File

@@ -1,8 +1,8 @@
diff --git a/browser/themes/shared/customizableui/panelUI-shared.css b/browser/themes/shared/customizableui/panelUI-shared.css diff --git a/browser/themes/shared/customizableui/panelUI-shared.css b/browser/themes/shared/customizableui/panelUI-shared.css
index 4f282b9d5a5a3269268ae22f1702c7a6e8238375..d6e8e6cee7166f0eea99f260cca382eeece6684d 100644 index e4409ac75f6ee794d400559b0b01ae30904d01bc..44d4e648aa5aac17b82e0e1f80c7a953c2923ebc 100644
--- a/browser/themes/shared/customizableui/panelUI-shared.css --- a/browser/themes/shared/customizableui/panelUI-shared.css
+++ b/browser/themes/shared/customizableui/panelUI-shared.css +++ b/browser/themes/shared/customizableui/panelUI-shared.css
@@ -717,8 +717,8 @@ toolbarbutton[constrain-size="true"][cui-areatype="panel"] > .toolbarbutton-badg @@ -720,15 +720,15 @@ toolbarbutton[constrain-size="true"][cui-areatype="panel"] > .toolbarbutton-badg
/* Firefox Account Toolbar Panel */ /* Firefox Account Toolbar Panel */
#fxa-avatar-image { #fxa-avatar-image {
@@ -13,3 +13,11 @@ index 4f282b9d5a5a3269268ae22f1702c7a6e8238375..d6e8e6cee7166f0eea99f260cca382ee
} }
:root { :root {
--avatar-image-url: url(chrome://browser/skin/fxa/avatar.svg);
&[fxastatus="not_configured"] {
- --avatar-image-url: url(chrome://browser/skin/fxa/avatar-empty.svg);
+ --avatar-image-url: var(--zen-avatar-image-url);
}
&:not([fxatoolbarmenu]) #fxa-toolbar-menu-button {

View File

@@ -1,17 +1,29 @@
diff --git a/browser/themes/shared/identity-block/identity-block.css b/browser/themes/shared/identity-block/identity-block.css diff --git a/browser/themes/shared/identity-block/identity-block.css b/browser/themes/shared/identity-block/identity-block.css
index 39cf7c917aa8807d491cc6a3702e398569681022..6e6942d97596540b0823c7934062ad2d63fa415c 100644 index 39ae2b00791a7bfd875961de60736612f08892ae..03fe5e42f34ad985f0e04ef46b834a9d223585ee 100644
--- a/browser/themes/shared/identity-block/identity-block.css --- a/browser/themes/shared/identity-block/identity-block.css
+++ b/browser/themes/shared/identity-block/identity-block.css +++ b/browser/themes/shared/identity-block/identity-block.css
@@ -65,10 +65,10 @@ @@ -64,8 +64,9 @@
} }
#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button, #identity-box[pageproxystate="valid"]:is(.notSecureText, .chromeUI, .extensionPage) > .identity-box-button,
-#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button,
+#identity-box[pageproxystate="valid"] > .identity-box-button, +#identity-box[pageproxystate="valid"] > .identity-box-button,
#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button,
#urlbar-label-box { #urlbar-label-box {
- background-color: var(--urlbar-box-bgcolor); - background-color: var(--urlbar-box-bgcolor);
+ background-color: light-dark(white, rgb(66, 65, 77)); + background-color: light-dark(white, rgb(66, 65, 77));
color: var(--urlbar-box-text-color); color: var(--urlbar-box-text-color);
padding-inline: 8px; padding-inline: 8px;
border-radius: var(--urlbar-icon-border-radius); border-radius: var(--urlbar-icon-border-radius);
@@ -154,11 +155,11 @@
}
#urlbar:not(.searchButton) > .urlbar-input-container > #identity-box[pageproxystate="invalid"] #identity-icon {
- list-style-image: url(chrome://global/skin/icons/search-glass.svg);
+ list-style-image: url(chrome://global/skin/icons/search-glass.svg) !important;
}
#urlbar[actiontype="extension"] > .urlbar-input-container > #identity-box #identity-icon {
- list-style-image: url(chrome://mozapps/skin/extensions/extension.svg);
+ list-style-image: url(chrome://mozapps/skin/extensions/extension.svg) !important;
}
#identity-box[pageproxystate="valid"].extensionPage #identity-icon {

View File

@@ -1,9 +1,9 @@
diff --git a/browser/components/tabpreview/tabpreview.css b/browser/components/tabpreview/tabpreview.css diff --git a/browser/themes/shared/tabbrowser/tab-hover-preview.css b/browser/themes/shared/tabbrowser/tab-hover-preview.css
index e978266e5da72f3051d5455d7a3f2867a88648c5..c57e844107ea6e99b406422496e9b41511089594 100644 index 5df2561b9f0e5497a596e4e261ceaac30778e754..cbea9912e7ae15f7a277ecbdcd681cc4e7a4da72 100644
--- a/browser/components/tabpreview/tabpreview.css --- a/browser/themes/shared/tabbrowser/tab-hover-preview.css
+++ b/browser/components/tabpreview/tabpreview.css +++ b/browser/themes/shared/tabbrowser/tab-hover-preview.css
@@ -42,3 +42,24 @@ @@ -44,3 +44,24 @@
width: 100%; display: block;
} }
} }
+ +
@@ -27,4 +27,3 @@ index e978266e5da72f3051d5455d7a3f2867a88648c5..c57e844107ea6e99b406422496e9b415
+.tab-preview-thumbnail-container canvas { +.tab-preview-thumbnail-container canvas {
+ border-top: 1px solid var(--zen-border-color); + border-top: 1px solid var(--zen-border-color);
+} +}
\ No newline at end of file

View File

@@ -1,7 +1,7 @@
diff --git a/browser/themes/shared/tabs.css b/browser/themes/shared/tabs.css diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
index eb92f71e5942a19618fd74492354de78ac03bacf..28d23667991c9feff7a379acaa5f7c7928fb14cf 100644 index eb92f71e5942a19618fd74492354de78ac03bacf..28d23667991c9feff7a379acaa5f7c7928fb14cf 100644
--- a/browser/themes/shared/tabs.css --- a/browser/themes/shared/tabbrowser/tabs.css
+++ b/browser/themes/shared/tabs.css +++ b/browser/themes/shared/tabbrowser/tabs.css
@@ -67,7 +67,7 @@ @@ -67,7 +67,7 @@
#tabbrowser-tabs { #tabbrowser-tabs {

View File

@@ -1,13 +0,0 @@
diff --git a/browser/themes/shared/toolbarbuttons.css b/browser/themes/shared/toolbarbuttons.css
index f535fba9df5e7595c974e45dd95849d05736957f..19437c90e0f438384e2a223feff99bc93a441684 100644
--- a/browser/themes/shared/toolbarbuttons.css
+++ b/browser/themes/shared/toolbarbuttons.css
@@ -47,7 +47,7 @@
> .toolbarbutton-icon,
> .toolbarbutton-badge-stack > .toolbarbutton-icon {
- width: 16px;
+ width: 20px;
}
}

View File

@@ -1,22 +1,12 @@
diff --git a/browser/themes/shared/urlbar-searchbar.css b/browser/themes/shared/urlbar-searchbar.css diff --git a/browser/themes/shared/urlbar-searchbar.css b/browser/themes/shared/urlbar-searchbar.css
index b5684c5f6f4b932070ef2bc53750504791f7f3c3..c3ffdb99adbb4a331967b93181d536dad1a41488 100644 index 41798f42cfb365116926af97a070dce3ebf6e443..75d1cda0c7938ba36f694e0f770db1820acd01ca 100644
--- a/browser/themes/shared/urlbar-searchbar.css --- a/browser/themes/shared/urlbar-searchbar.css
+++ b/browser/themes/shared/urlbar-searchbar.css +++ b/browser/themes/shared/urlbar-searchbar.css
@@ -59,7 +59,7 @@ @@ -19,6 +19,7 @@
#urlbar[breakout-extend] > .urlbar-input-container > #urlbar-label-box > #urlbar-label-search-mode,
#urlbar-background, .urlbar-input-container[pageproxystate=invalid] > #page-action-buttons > .urlbar-page-action,
#searchbar { #identity-box.chromeUI ~ #page-action-buttons > .urlbar-page-action:not(#star-button-box),
- background-color: var(--toolbar-field-background-color); +#urlbar-input-container[pageproxystate=invalid] > #page-action-buttons > .urlbar-page-action:not(#zen-split-views-box),
+ background-color: var(--zen-urlbar-background); #urlbar[usertyping] > .urlbar-input-container > #page-action-buttons > #urlbar-zoom-button,
background-clip: border-box; #urlbar:not([usertyping]) > .urlbar-input-container > .urlbar-go-button,
border: 1px solid var(--toolbar-field-border-color); #urlbar:not([focused]) > .urlbar-input-container > .urlbar-go-button {
border-radius: var(--toolbarbutton-border-radius);
@@ -92,7 +92,7 @@
--toolbar-field-focus-border-color is set equal to --focus-outline-color
on :root, but LWT themes can override this value. */
outline-color: var(--toolbar-field-focus-border-color);
- border-color: transparent;
+ /*border-color: transparent;*/
}
#urlbar[focused="true"] > #urlbar-background,

View File

@@ -42,9 +42,11 @@
/* URL and tool bars */ /* URL and tool bars */
#urlbar { #urlbar {
--toolbarbutton-border-radius: 999px;
border: transparent; border: transparent;
overflow: hidden; overflow: hidden;
padding: 1px; padding: 1px;
border-radius: var(--toolbarbutton-border-radius);
} }
#zen-website-and-native-separator { #zen-website-and-native-separator {
@@ -80,12 +82,16 @@
outline-color: none !important; outline-color: none !important;
} }
#urlbar, #urlbar .urlbar-page-action, #urlbar .urlbar-page-action,
#urlbar #tracking-protection-icon-container, #urlbar #tracking-protection-icon-container,
#urlbar:not([extend="true"]) #identity-box:not(.chromeUI) #identity-icon-box { #urlbar:not([extend="true"]) #identity-box:not(.chromeUI) #identity-icon-box {
border-radius: 999px; border-radius: 999px;
} }
#urlbar[breakout-extend="true"] {
--toolbarbutton-border-radius: 6px;
}
#identity-icon-label { #identity-icon-label {
padding-inline-start: 8px !important; padding-inline-start: 8px !important;
} }
@@ -94,7 +100,7 @@
border-radius: 5px !important; border-radius: 5px !important;
} }
#urlbar:not([focused="true"]) #identity-box.chromeUI #identity-icon-box { #urlbar:not([breakout-extend="true"]) #identity-box.chromeUI #identity-icon-box {
border-radius: 20px 10px 10px 20px !important; border-radius: 20px 10px 10px 20px !important;
} }
@@ -139,7 +145,7 @@
display: flex !important; display: flex !important;
} }
toolbar .toolbarbutton-1 { toolbar .toolbarbutton-1:not(.unified-extensions-item-action-button) {
& > .toolbarbutton-icon, & > .toolbarbutton-icon,
& > .toolbarbutton-badge-stack { & > .toolbarbutton-badge-stack {
width: calc(2 * var(--toolbarbutton-inner-padding) + 18px) !important; width: calc(2 * var(--toolbarbutton-inner-padding) + 18px) !important;
@@ -397,10 +403,6 @@ toolbarbutton#scrollbutton-up {
--focus-outline-color: var(--zen-primary-btn-color) !important; --focus-outline-color: var(--zen-primary-btn-color) !important;
} }
menuseparator {
--panel-separator-color: var(--zen-colors-secondary) !important;
}
/** Specific dialogs override */ /** Specific dialogs override */
#identity-popup-multiView toolbarseparator, #identity-popup-multiView toolbarseparator,
@@ -501,7 +503,7 @@ panelmultiview {
} }
#navigator-toolbox:hover #titlebar, #navigator-toolbox:hover #titlebar,
#navigator-toolbox:has([open="true"]) #titlebar { #navigator-toolbox:has([open="true"]:not(tab)) #titlebar {
background: var(--zen-themed-toolbar-bg) !important; background: var(--zen-themed-toolbar-bg) !important;
border-right: var(--zen-appcontent-border) !important; border-right: var(--zen-appcontent-border) !important;
padding: 0 5px; padding: 0 5px;
@@ -522,3 +524,31 @@ panelmultiview {
right: 1.5%; right: 1.5%;
} }
/* Watermark */
#zen-watermark {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--zen-main-browser-background);
display: flex;
justify-content: center;
align-items: center;
z-index: 9999;
}
#zen-watermark image {
opacity: .2;
filter: grayscale(100%);
width: 200px;
height: 200px;
}
#zen-watermark[hidden="true"] {
transition: 1s;
transition-delay: 1.5s;
opacity: 0;
pointer-events: none;
}

View File

@@ -122,21 +122,35 @@
} }
#PanelUI-zen-profiles-managePrfs { #PanelUI-zen-profiles-actions {
position: absolute; position: absolute;
top: 10px; top: 10px;
right: 10px; right: 10px;
border-radius: 5px !important; border-radius: 10px !important;
padding: 5px !important; padding: 1px 10px !important;
transition: .1s; transition: .1s;
color: light-dark(white, black); color: light-dark(white, black);
background: light-dark(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1));
} }
#PanelUI-zen-profiles-managePrfs:hover { #PanelUI-zen-profiles-managePrfs:hover {
background: var(--panel-item-hover-bgcolor); background: var(--panel-item-hover-bgcolor);
} }
#PanelUI-zen-profiles-managePrfs label { #PanelUI-zen-profiles-actions toolbarbutton {
cursor: pointer;
padding: 0;
}
#PanelUI-zen-profiles-actions toolbarbutton .toolbarbutton-icon {
width: 14px !important;
}
#PanelUI-zen-profiles-actions toolbarbutton:not(:first-child) {
margin-left: 10px;
}
#PanelUI-zen-profiles-actions toolbarbutton label {
display: none !important; display: none !important;
} }

View File

@@ -0,0 +1,18 @@
diff --git a/gfx/wr/webrender/src/picture.rs b/gfx/wr/webrender/src/picture.rs
index f22bcadd0624d9a22f5c3fa318d7795e102b890f..68d1eb55abde2a9b5779b1d07c5f111f46f177a8 100644
--- a/gfx/wr/webrender/src/picture.rs
+++ b/gfx/wr/webrender/src/picture.rs
@@ -7449,7 +7449,12 @@ fn get_relative_scale_offset(
CoordinateSpaceMapping::Local => ScaleOffset::identity(),
CoordinateSpaceMapping::ScaleOffset(scale_offset) => scale_offset,
CoordinateSpaceMapping::Transform(m) => {
- ScaleOffset::from_transform(&m).expect("bug: pictures caches don't support complex transforms")
+ // Temporary fix when opening extensions (#34)
+ // TODO: Look more into this
+ ScaleOffset {
+ scale: Vector2D::new(m.m11, m.m22),
+ offset: Vector2D::new(m.m41, m.m42),
+ }
}
};

View File

@@ -1,5 +1,5 @@
diff --git a/toolkit/themes/shared/in-content/common-shared.css b/toolkit/themes/shared/in-content/common-shared.css diff --git a/toolkit/themes/shared/in-content/common-shared.css b/toolkit/themes/shared/in-content/common-shared.css
index c8f4f3efd231d007e024f039170efd58a8a9de86..f5e3296d20580afc0973cc87685d2ac35b6cfc10 100644 index 542e38159dde876566f520f7d45d5387c1982d34..92705331fa12d88e9091310c1f527562931e7132 100644
--- a/toolkit/themes/shared/in-content/common-shared.css --- a/toolkit/themes/shared/in-content/common-shared.css
+++ b/toolkit/themes/shared/in-content/common-shared.css +++ b/toolkit/themes/shared/in-content/common-shared.css
@@ -5,6 +5,8 @@ @@ -5,6 +5,8 @@
@@ -20,3 +20,13 @@ index c8f4f3efd231d007e024f039170efd58a8a9de86..f5e3296d20580afc0973cc87685d2ac3
--dialog-warning-text-color: var(--red-60); --dialog-warning-text-color: var(--red-60);
@@ -791,7 +793,8 @@ html|*#categories > html|*.category:dir(rtl) {
@media not (forced-colors) {
#categories > .category[selected],
#categories > .category.selected {
- color: var(--in-content-accent-color);
+ /*color: var(--in-content-accent-color);*/
+ opacity: .7;
}
#categories > .category[selected]:not(:hover) {

View File

@@ -81,6 +81,8 @@
--urlbar-box-bgcolor: light-dark(white, rgb(66, 65, 77)) !important; --urlbar-box-bgcolor: light-dark(white, rgb(66, 65, 77)) !important;
--zen-input-border-color: light-dark(rgb(204, 204, 204), rgb(66, 65, 77)) !important; --zen-input-border-color: light-dark(rgb(204, 204, 204), rgb(66, 65, 77)) !important;
--zen-browser-gradient-base: color-mix(in srgb, var(--zen-primary-color) 50%, white 50%);
/* TODO: Support dark themes! */ /* TODO: Support dark themes! */
} }
@@ -102,6 +104,7 @@
--zen-dialog-background: color-mix(in srgb, var(--zen-primary-color) 10%, black 90%); --zen-dialog-background: color-mix(in srgb, var(--zen-primary-color) 10%, black 90%);
--zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 8%, black 92%); --zen-urlbar-background: color-mix(in srgb, var(--zen-primary-color) 8%, black 92%);
--zen-browser-gradient-base: color-mix(in srgb, var(--zen-primary-color) 30%, black 70%);
} }
} }

View File

@@ -36,8 +36,8 @@
--uc-contextmenu-separator-vertical: calc(4px - var(--uc-contextmenu-menuitem-border-width)); --uc-contextmenu-separator-vertical: calc(4px - var(--uc-contextmenu-menuitem-border-width));
--uc-contextmenu-separator-horizontal: 0; --uc-contextmenu-separator-horizontal: 0;
--panel-separator-color: var(--zen-colors-secondary) !important; --panel-separator-color: var(--zen-colors-border) !important;
--zen-panel-separator-width: 2px; --zen-panel-separator-width: 1px;
} }
/* app menu */ /* app menu */

View File

@@ -5,12 +5,10 @@
"binaryName": "zen", "binaryName": "zen",
"version": { "version": {
"product": "firefox", "product": "firefox",
"version": "127.0.2", "version": "128.0"
"displayVersion": "1.0.0"
}, },
"buildOptions": { "buildOptions": {
"generateBranding": true, "generateBranding": true
"windowsUseSymbolicLinks": false
}, },
"addons": {}, "addons": {},
"brands": { "brands": {
@@ -29,7 +27,7 @@
"brandShortName": "Zen Browser", "brandShortName": "Zen Browser",
"brandFullName": "Zen Browser", "brandFullName": "Zen Browser",
"release": { "release": {
"displayVersion": "0.0.0-a.0", "displayVersion": "1.0.0-a.0",
"github": { "github": {
"repo": "zen-browser/desktop" "repo": "zen-browser/desktop"
}, },
@@ -46,5 +44,6 @@
".*\\.json" ".*\\.json"
], ],
"licenseType": "MPL-2.0" "licenseType": "MPL-2.0"
} },
"updateHostname": "zen-updates.vercel.app"
} }