mirror of
https://github.com/zen-browser/desktop.git
synced 2026-05-28 15:55:10 +00:00
Compare commits
83 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd1616d1c0 | ||
|
|
0b9f0bbe91 | ||
|
|
b726dc8052 | ||
|
|
81d30b906a | ||
|
|
ae14d05290 | ||
|
|
8840bd77ae | ||
|
|
1c3b74c508 | ||
|
|
f9c4575c78 | ||
|
|
035e5931fc | ||
|
|
d5d86dbfa5 | ||
|
|
1b9408ecb0 | ||
|
|
ef259f58aa | ||
|
|
149fc12366 | ||
|
|
77c513511b | ||
|
|
99e647a7a8 | ||
|
|
41893aa6f3 | ||
|
|
62a91aefd2 | ||
|
|
644c75e3e8 | ||
|
|
8752bf089e | ||
|
|
c6c3b89a45 | ||
|
|
8cd244fee4 | ||
|
|
ba348e04f0 | ||
|
|
90a6ebe948 | ||
|
|
1659838194 | ||
|
|
a82e145b1d | ||
|
|
3dd0ec9b65 | ||
|
|
f0a63fa7c5 | ||
|
|
ad52054113 | ||
|
|
0a7ee3fcf0 | ||
|
|
c406e79c5d | ||
|
|
78c37a122e | ||
|
|
8f0edbd91a | ||
|
|
d9c6dcdca4 | ||
|
|
4983c0a877 | ||
|
|
4e6521a713 | ||
|
|
da9838e478 | ||
|
|
639bf29de3 | ||
|
|
cfd1e7a6aa | ||
|
|
17f61152b9 | ||
|
|
9c88e3a84f | ||
|
|
b999a932ac | ||
|
|
e9a0beae20 | ||
|
|
b93c2054c4 | ||
|
|
dcf272f620 | ||
|
|
3ffdf6b299 | ||
|
|
b052c1d804 | ||
|
|
818c448dfc | ||
|
|
5b16bb36d9 | ||
|
|
5b790a431a | ||
|
|
149419d1fd | ||
|
|
60a77413df | ||
|
|
ce1ee9228b | ||
|
|
1bea3d401c | ||
|
|
b6624612cd | ||
|
|
aa463e2cb0 | ||
|
|
6552f0b3c3 | ||
|
|
9950679f2c | ||
|
|
a9a582afae | ||
|
|
607551f394 | ||
|
|
3278a43751 | ||
|
|
c82d314913 | ||
|
|
a71a66c00b | ||
|
|
c0cd45bf1d | ||
|
|
562e6e5c3a | ||
|
|
21f7fdaef4 | ||
|
|
04c5bc3478 | ||
|
|
092ee7bc2a | ||
|
|
18c15ac0b8 | ||
|
|
c0620a95ef | ||
|
|
c939ee4a3d | ||
|
|
709691225a | ||
|
|
bb14e5d66f | ||
|
|
92dfe0babd | ||
|
|
4a7b517460 | ||
|
|
102dcb1993 | ||
|
|
040bed5ce5 | ||
|
|
6d3a59ac04 | ||
|
|
4d26b4d597 | ||
|
|
6aafd8cb34 | ||
|
|
2028a9b288 | ||
|
|
cd956d34b1 | ||
|
|
0cfc25ccb0 | ||
|
|
0199e256d6 |
@@ -35,7 +35,7 @@ fi
|
|||||||
if echo "$LATEST_RELEASE" | jq -e '.security != null and .security != ""' > /dev/null; then
|
if echo "$LATEST_RELEASE" | jq -e '.security != null and .security != ""' > /dev/null; then
|
||||||
echo
|
echo
|
||||||
echo "## Security"
|
echo "## Security"
|
||||||
echo "[Various security fixes]($(echo "$LATEST_RELEASE" | jq -r '.security'))"
|
echo "$LATEST_RELEASE" | jq -r 'if (.security | type) == "string" then "- " + .security else .security[] | "- " + . end'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if echo "$LATEST_RELEASE" | jq -e '(.features // []) | length > 0' > /dev/null; then
|
if echo "$LATEST_RELEASE" | jq -e '(.features // []) | length > 0' > /dev/null; then
|
||||||
|
|||||||
2
.github/workflows/sync-upstream.yml
vendored
2
.github/workflows/sync-upstream.yml
vendored
@@ -129,7 +129,7 @@ jobs:
|
|||||||
token: ${{ secrets.DEPLOY_KEY }}
|
token: ${{ secrets.DEPLOY_KEY }}
|
||||||
commit-message: "chore: Sync upstream to `Firefox ${{ steps.build-data.outputs.version }}`"
|
commit-message: "chore: Sync upstream to `Firefox ${{ steps.build-data.outputs.version }}`"
|
||||||
branch: "chore/upstream-sync"
|
branch: "chore/upstream-sync"
|
||||||
title: "Sync upstream Firefox to version ${{ steps.build-data.outputs.version }}"
|
title: "no-bug: Sync upstream Firefox to version ${{ steps.build-data.outputs.version }}"
|
||||||
body: |
|
body: |
|
||||||
This PR syncs the upstream Firefox to version ${{ steps.build-data.outputs.version }}.
|
This PR syncs the upstream Firefox to version ${{ steps.build-data.outputs.version }}.
|
||||||
|
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -34,3 +34,4 @@ build/signing/cert.pem
|
|||||||
build/signing/private_key.pem
|
build/signing/private_key.pem
|
||||||
build/signing/private_key.p12
|
build/signing/private_key.p12
|
||||||
|
|
||||||
|
bloat-dump.log
|
||||||
|
|||||||
@@ -34,12 +34,12 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne
|
|||||||
|
|
||||||
### Firefox Versions
|
### Firefox Versions
|
||||||
|
|
||||||
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `150.0`! 🚀
|
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `151.0.1`! 🚀
|
||||||
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 150.0`!
|
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 151.0.1`!
|
||||||
|
|
||||||
### Contributing
|
### Contributing
|
||||||
|
|
||||||
If you'd like to report a bug, please do so on our [GitHub Issues page](https://github.com/zen-browser/desktop/issues/) and for feature requests, you can use [Github Discussions](https://github.com/zen-browser/desktop/discussions).
|
If you'd like to report a bug, please do so on our [GitHub Issues page](https://github.com/zen-browser/desktop/issues/) and for feature requests, you can use [GitHub Discussions](https://github.com/zen-browser/desktop/discussions).
|
||||||
|
|
||||||
Zen is an open-source project, and we welcome contributions from the community! Please take a look at the [contribution guidelines](./docs/contribute.md) before getting started!
|
Zen is an open-source project, and we welcome contributions from the community! Please take a look at the [contribution guidelines](./docs/contribute.md) before getting started!
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +1,698 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=Zen Browser
|
Name=Zen Browser
|
||||||
Comment=Experience tranquillity while browsing the web without people tracking you!
|
Comment=A fast, private and secure web browser built to improve your day-to-day experience.
|
||||||
Exec=zen %u
|
Exec=zen %u
|
||||||
Icon=zen
|
Icon=zen
|
||||||
Type=Application
|
Type=Application
|
||||||
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;application/pdf;application/json;
|
MimeType=application/json;application/pdf;application/rdf+xml;application/rss+xml;application/x-xpinstall;application/xhtml+xml;application/xml;audio/flac;audio/ogg;audio/webm;image/avif;image/gif;image/jpeg;image/png;image/svg+xml;image/webp;text/html;text/xml;video/ogg;video/webm;x-scheme-handler/chrome;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/mailto;
|
||||||
StartupWMClass=zen
|
StartupWMClass=zen
|
||||||
Categories=Network;WebBrowser;
|
Categories=Network;WebBrowser;
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
Terminal=false
|
Terminal=false
|
||||||
X-MultipleArgs=false
|
X-MultipleArgs=false
|
||||||
|
GenericName=Web Browser
|
||||||
|
GenericName[ach]=Web Browser
|
||||||
|
GenericName[af]=Web Browser
|
||||||
|
GenericName[an]=Web Browser
|
||||||
|
GenericName[ar]=متصفح الوِب
|
||||||
|
GenericName[ast]=Web Browser
|
||||||
|
GenericName[az]=Web Browser
|
||||||
|
GenericName[be]=Вэб-браўзер
|
||||||
|
GenericName[bg]=Уеб браузър
|
||||||
|
GenericName[bn]=ওয়েব ব্রাউজার
|
||||||
|
GenericName[bqi]=گشت گر وب
|
||||||
|
GenericName[br]=Merdeer Web
|
||||||
|
GenericName[brx]=Web Browser
|
||||||
|
GenericName[bs]=Web pretraživač
|
||||||
|
GenericName[ca]=Navegador web
|
||||||
|
GenericName[ca_valencia]=Web Browser
|
||||||
|
GenericName[cak]=Web Okik'amaya'l
|
||||||
|
GenericName[ckb]=Web Browser
|
||||||
|
GenericName[cs]=Webový prohlížeč
|
||||||
|
GenericName[cy]=Porwr Gwe
|
||||||
|
GenericName[da]=Webbrowser
|
||||||
|
GenericName[de]=Internet-Browser
|
||||||
|
GenericName[dsb]=Webwobglědowak
|
||||||
|
GenericName[el]=Πρόγραμμα περιήγησης
|
||||||
|
GenericName[en_CA]=Web Browser
|
||||||
|
GenericName[en_GB]=Web Browser
|
||||||
|
GenericName[eo]=Retumilo
|
||||||
|
GenericName[es_AR]=Navegador web
|
||||||
|
GenericName[es_CL]=Navegador Web
|
||||||
|
GenericName[es_ES]=Navegador web
|
||||||
|
GenericName[es_MX]=Navegador Web
|
||||||
|
GenericName[et]=Web Browser
|
||||||
|
GenericName[eu]=Web nabigatzailea
|
||||||
|
GenericName[fa]=مرورگر وب
|
||||||
|
GenericName[ff]=Web Browser
|
||||||
|
GenericName[fi]=Verkkoselain
|
||||||
|
GenericName[fr]=Navigateur web
|
||||||
|
GenericName[fur]=Navigadôr Web
|
||||||
|
GenericName[fy_NL]=Webbrowser
|
||||||
|
GenericName[ga_IE]=Web Browser
|
||||||
|
GenericName[gd]=Brabhsair-lìn
|
||||||
|
GenericName[gl]=Navegador web
|
||||||
|
GenericName[gn]=Ñanduti Kundahára
|
||||||
|
GenericName[gu_IN]=Web Browser
|
||||||
|
GenericName[he]=דפדפן אינטרנט
|
||||||
|
GenericName[hi_IN]=Web Browser
|
||||||
|
GenericName[hr]=Web preglednik
|
||||||
|
GenericName[hsb]=Webwobhladowak
|
||||||
|
GenericName[hu]=Webböngésző
|
||||||
|
GenericName[hy_AM]=Վեբ դիտարկիչ
|
||||||
|
GenericName[hye]=Web Browser
|
||||||
|
GenericName[ia]=Navigator web
|
||||||
|
GenericName[id]=Peramban Web
|
||||||
|
GenericName[is]=Vafri
|
||||||
|
GenericName[it]=Browser web
|
||||||
|
GenericName[ja]=ウェブブラウザー
|
||||||
|
GenericName[ka]=ბრაუზერი
|
||||||
|
GenericName[kab]=Iminig web
|
||||||
|
GenericName[kk]=Веб-браузері
|
||||||
|
GenericName[km]=Web Browser
|
||||||
|
GenericName[kn]=Web Browser
|
||||||
|
GenericName[ko]=웹 브라우저
|
||||||
|
GenericName[lij]=Navegatô Web
|
||||||
|
GenericName[lo]=ຕົວທ່ອງເວັບເວັບໄຊຕ໌
|
||||||
|
GenericName[lt]=Web Browser
|
||||||
|
GenericName[ltg]=Web Browser
|
||||||
|
GenericName[lv]=Tīmekļa pārlūks
|
||||||
|
GenericName[meh]=Web Browser
|
||||||
|
GenericName[mk]=Web Browser
|
||||||
|
GenericName[ml]=ഗോളാന്തരവല അന്വേഷിയന്ത്രം
|
||||||
|
GenericName[mr]=Web Browser
|
||||||
|
GenericName[ms]=Web Browser
|
||||||
|
GenericName[my]=Web Browser
|
||||||
|
GenericName[nb_NO]=Nettleser
|
||||||
|
GenericName[ne_NP]=वेब ब्राउजर
|
||||||
|
GenericName[nl]=Webbrowser
|
||||||
|
GenericName[nn_NO]=Nettlesar
|
||||||
|
GenericName[oc]=Navegador Web
|
||||||
|
GenericName[pa_IN]=ਵੈੱਬ ਬਰਾਊਜ਼ਰ
|
||||||
|
GenericName[pl]=Przeglądarka internetowa
|
||||||
|
GenericName[pt_BR]=Navegador web
|
||||||
|
GenericName[pt_PT]=Navegador Web
|
||||||
|
GenericName[rm]=Navigatur web
|
||||||
|
GenericName[ro]=Browser web
|
||||||
|
GenericName[ru]=Веб-браузер
|
||||||
|
GenericName[sat]=ᱣᱮᱵᱽ ᱵᱽᱨᱟᱣᱡᱚᱨ
|
||||||
|
GenericName[sc]=Navigadore web
|
||||||
|
GenericName[sco]=Web Browser
|
||||||
|
GenericName[si]=වියමන අතිරික්සුව
|
||||||
|
GenericName[sk]=Webový prehliadač
|
||||||
|
GenericName[skr]=ویب براؤزر
|
||||||
|
GenericName[sl]=Spletni brskalnik
|
||||||
|
GenericName[son]=Web Browser
|
||||||
|
GenericName[sq]=Shfletues
|
||||||
|
GenericName[sr]=Веб прегледач
|
||||||
|
GenericName[sv_SE]=Webbläsare
|
||||||
|
GenericName[szl]=Web Browser
|
||||||
|
GenericName[ta]=Web Browser
|
||||||
|
GenericName[te]=జాల విహారిణి
|
||||||
|
GenericName[tg]=Браузери веб
|
||||||
|
GenericName[th]=เว็บเบราว์เซอร์
|
||||||
|
GenericName[tl]=Web Browser
|
||||||
|
GenericName[tr]=Web Tarayıcısı
|
||||||
|
GenericName[trs]=Web riña gāchē nu’
|
||||||
|
GenericName[uk]=Браузер
|
||||||
|
GenericName[ur]=Web Browser
|
||||||
|
GenericName[uz]=Web Browser
|
||||||
|
GenericName[vi]=Trình duyệt web
|
||||||
|
GenericName[wo]=Web Browser
|
||||||
|
GenericName[xh]=Web Browser
|
||||||
|
GenericName[zh_CN]=Web 浏览器
|
||||||
|
GenericName[zh_TW]=網頁瀏覽器
|
||||||
Keywords=Internet;WWW;Browser;Web;Explorer;
|
Keywords=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[ach]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[af]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[an]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[ar]=إنترنت;WWW;متصفح;ويب;مستكشف;
|
||||||
|
Keywords[ast]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[az]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[be]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[bg]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[bn]=ইন্টারনেট;WWW;ব্রাউজার;ওয়েব;এক্সপ্লোরার;
|
||||||
|
Keywords[bqi]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[br]=Internet;WWW;Merdeer;Web;Ergerzhout;
|
||||||
|
Keywords[brx]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[bs]=Internet;WWW;Pretraživač;Web;Istraživač;
|
||||||
|
Keywords[ca]=Internet;WWW;Browser;Web;Explorador;Navegador;
|
||||||
|
Keywords[ca_valencia]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[cak]=K'amaya'l;WWW;Okik'amaya'l;Kanob'äl;
|
||||||
|
Keywords[ckb]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[cs]=internet;WWW;prohlížeč;web;
|
||||||
|
Keywords[cy]=Rhyngrwyd;WWW;Porwr;Gwe;Archwiliwr;
|
||||||
|
Keywords[da]=Internet;WWW;Browser;Nettet;Explorer;
|
||||||
|
Keywords[de]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[dsb]=Internet;WWW;wobglědowak;Web;Explorer;
|
||||||
|
Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Ιστός;Ίντερνετ;
|
||||||
|
Keywords[en_CA]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[en_GB]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[eo]=Interreto;Retumilo;TTT;Teksaĵo;Reto;Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[es_AR]=Internet;WWW;Navegador;Web;Explorador;
|
||||||
|
Keywords[es_CL]=Internet;WWW;Navegador;Web;Explorador;
|
||||||
|
Keywords[es_ES]=Internet;WWW;Navegador;Web;Explorador;
|
||||||
|
Keywords[es_MX]=Internet;WWW;Navegador;Web;Explorador;
|
||||||
|
Keywords[et]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[eu]=Internet;WWW;Nabigatzailea;Web;Arakatzailea;
|
||||||
|
Keywords[fa]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[ff]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[fi]=Internet;WWW;Browser;Web;Explorer;netti;webbi;selain;
|
||||||
|
Keywords[fr]=Internet;WWW;Navigateur;Web;Explorer;
|
||||||
|
Keywords[fur]=Internet;WWW;Browser;Navigadôr;Web;Esploradôr;Explorer;
|
||||||
|
Keywords[fy_NL]=Ynternet;WWW;Browser;Web;Ferkenner;
|
||||||
|
Keywords[ga_IE]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[gd]=Internet;WWW;Browser;Web;Explorer;eadar-lìon;brabhsair;brobhsair;lìon;taisgealaiche;
|
||||||
|
Keywords[gl]=Internet;WWW;Navegador;Web;Explorador;
|
||||||
|
Keywords[gn]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[gu_IN]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[he]=אינטרנט;WWW;דפדפן;רשת;סייר;מרשתת;
|
||||||
|
Keywords[hi_IN]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[hr]=Internet;WWW;Preglednik;Web;Istraživač;
|
||||||
|
Keywords[hsb]=Internet;WWW;wobhladowak;Web;Explorer;
|
||||||
|
Keywords[hu]=Internet;WWW;Böngésző;Web;Világháló;
|
||||||
|
Keywords[hy_AM]=Համացանց,WWW,Զննիչ,Վեբ,Ցանցախույզ:
|
||||||
|
Keywords[hye]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[ia]=Internet;WWW;Navigator;Web;Explorator;
|
||||||
|
Keywords[id]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[is]=Internet;WWW; Vafri; Vefur; Explorer;
|
||||||
|
Keywords[it]=Internet;WWW;Browser;Web;Explorer;Navigatore;
|
||||||
|
Keywords[ja]=Internet;WWW;Browser;Web;Explorer;インターネット;ブラウザー;ウェブ;
|
||||||
|
Keywords[ka]=ინტერნეტი;WWW;ბრაუზერი;ქსელი;ქსელთან წვდომა;
|
||||||
|
Keywords[kab]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[kk]=Internet;WWW;Browser;Web;Explorer;Интернет;Ғаламтор;Браузер;Желі;Шолғыш;
|
||||||
|
Keywords[km]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[kn]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[ko]=인터넷;브라우저;웹;탐색기;Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[lij]=Internet;WWW;Browser;Web;Explorer;Navegatô;
|
||||||
|
Keywords[lo]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[lt]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[ltg]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[lv]=Internets;WWW;Pārlūkprogramma;Tīmeklis;
|
||||||
|
Keywords[meh]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[mk]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[ml]=ഗോളാന്തരവല;WWW;അന്വേഷിയന്ത്രം;ഗോളാന്തരവല;ആരായൻ;
|
||||||
|
Keywords[mr]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[ms]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[my]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[nb_NO]=Internett;WWW;Nettleser;Web;Utforsker;
|
||||||
|
Keywords[ne_NP]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[nl]=Internet;WWW;Browser;Web;Verkenner;
|
||||||
|
Keywords[nn_NO]=Internett;WWW;Nettlesar;Web;Utforskar;
|
||||||
|
Keywords[oc]=Internet;WWW;Navegador;Navigador;Navegator;Navigator;Web;Explorer;
|
||||||
|
Keywords[pa_IN]=ਇੰਟਰਨੈੱਟ;WWW;ਬਰਾਊਜ਼ਰ;ਵੈੱਬ;ਐਕਸਪਲਰੋਰ;ਵੈਬ;ਇੰਟਰਨੈਟ;
|
||||||
|
Keywords[pl]=Internet;WWW;Przeglądarka;Browser;Wyszukiwarka;Web;Sieć;Explorer;Eksplorer;Strony;Witryny;internetowe;
|
||||||
|
Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorer;Navegador;
|
||||||
|
Keywords[pt_PT]=Internet;WWW;Navegador;Web;Explorador;
|
||||||
|
Keywords[rm]=Internet;WWW;Browser;Web;Explorer;navigatur;
|
||||||
|
Keywords[ro]=Internet; WWW; Browser; Web; Explorer;
|
||||||
|
Keywords[ru]=Сеть;Интернет;Браузер;Доступ в Интернет;
|
||||||
|
Keywords[sat]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[sc]=Internet;WWW;Navigadore;Web;Explorer;
|
||||||
|
Keywords[sco]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[si]=අන්තර්ජාලය;අතිරික්සුව;පිරික්සන්න;ගවේශකය;Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[sk]=Internet;WWW;Prehliadač;Web;Prieskumník;
|
||||||
|
Keywords[skr]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[sl]=internet;www;brskalnik;splet;
|
||||||
|
Keywords[son]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[sq]=Internet;WWW;Shfletues;Web;Eksplorues;
|
||||||
|
Keywords[sr]=Internet;WWW;Browser;Web;Explorer;интернет;њњњ;веб;мрежа;прегледач;експлорер;internet;pregledač;veb;mreža;pregledač;eksplorer;
|
||||||
|
Keywords[sv_SE]=Internet;WWW;Webbläsare;Webb;Utforskare;
|
||||||
|
Keywords[szl]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[ta]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[te]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[tg]=Интернет;WWW;Браузер;Сомона;Ҷустуҷӯгар;
|
||||||
|
Keywords[th]=อินเทอร์เน็ต;เบราว์เซอร์;เว็บ;Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[tl]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[tr]=Internet;WWW;Browser;Web;Explorer;İnternet;Tarayıcı;
|
||||||
|
Keywords[trs]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[uk]=Інтернет;WWW;Браузер;Веб;Переглядач;
|
||||||
|
Keywords[ur]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[uz]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[vi]=Internet;WWW;Trình duyệt;Web;Duyệt web;
|
||||||
|
Keywords[wo]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[xh]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;
|
||||||
|
Keywords[zh_TW]=網際網路;網路;瀏覽器;網頁;上網;Internet;WWW;Browser;Web;Explorer;
|
||||||
Actions=new-window;new-blank-window;new-private-window;profilemanager;
|
Actions=new-window;new-blank-window;new-private-window;profilemanager;
|
||||||
X-AppImage-Version=$VERSION
|
X-AppImage-Version=$VERSION
|
||||||
|
|
||||||
[Desktop Action new-window]
|
[Desktop Action new-window]
|
||||||
Name=Open a New Window
|
|
||||||
Exec=zen %u
|
Exec=zen %u
|
||||||
|
Name=New Window
|
||||||
|
Name[ach]=New Window
|
||||||
|
Name[af]=New Window
|
||||||
|
Name[an]=New Window
|
||||||
|
Name[ar]=نافذة جديدة
|
||||||
|
Name[ast]=New Window
|
||||||
|
Name[az]=New Window
|
||||||
|
Name[be]=Новае акно
|
||||||
|
Name[bg]=Нов прозорец
|
||||||
|
Name[bn]=নতুন উইন্ডো
|
||||||
|
Name[bqi]=نیمدری نۊ
|
||||||
|
Name[br]=Prenestr nevez
|
||||||
|
Name[brx]=New Window
|
||||||
|
Name[bs]=Novi prozor
|
||||||
|
Name[ca]=Finestra nova
|
||||||
|
Name[ca_valencia]=New Window
|
||||||
|
Name[cak]=K'ak'a' Tzuwäch
|
||||||
|
Name[ckb]=New Window
|
||||||
|
Name[cs]=Nové okno
|
||||||
|
Name[cy]=Ffenestr Newydd
|
||||||
|
Name[da]=Nyt vindue
|
||||||
|
Name[de]=Neues Fenster
|
||||||
|
Name[dsb]=Nowe wokno
|
||||||
|
Name[el]=Νέο παράθυρο
|
||||||
|
Name[en_CA]=New Window
|
||||||
|
Name[en_GB]=New Window
|
||||||
|
Name[eo]=Nova fenestro
|
||||||
|
Name[es_AR]=Nueva ventana
|
||||||
|
Name[es_CL]=Nueva ventana
|
||||||
|
Name[es_ES]=Nueva ventana
|
||||||
|
Name[es_MX]=Nueva ventana
|
||||||
|
Name[et]=New Window
|
||||||
|
Name[eu]=Leiho berria
|
||||||
|
Name[fa]=پنجره جدید
|
||||||
|
Name[ff]=New Window
|
||||||
|
Name[fi]=Uusi ikkuna
|
||||||
|
Name[fr]=Nouvelle fenêtre
|
||||||
|
Name[fur]=Gnûf barcon
|
||||||
|
Name[fy_NL]=Nij finster
|
||||||
|
Name[ga_IE]=New Window
|
||||||
|
Name[gd]=Uinneag ùr
|
||||||
|
Name[gl]=Nova xanela
|
||||||
|
Name[gn]=Ovetã pyahu
|
||||||
|
Name[gu_IN]=New Window
|
||||||
|
Name[he]=חלון חדש
|
||||||
|
Name[hi_IN]=New Window
|
||||||
|
Name[hr]=Novi prozor
|
||||||
|
Name[hsb]=Nowe wokno
|
||||||
|
Name[hu]=Új ablak
|
||||||
|
Name[hy_AM]=Նոր պատուհան
|
||||||
|
Name[hye]=New Window
|
||||||
|
Name[ia]=Nove fenestra
|
||||||
|
Name[id]=Jendela Baru
|
||||||
|
Name[is]=Nýr gluggi
|
||||||
|
Name[it]=Nuova finestra
|
||||||
|
Name[ja]=新しいウィンドウ
|
||||||
|
Name[ka]=ახალი ფანჯარა
|
||||||
|
Name[kab]=Asfaylu amaynut
|
||||||
|
Name[kk]=Жаңа терезе
|
||||||
|
Name[km]=បង្អួចថ្មី
|
||||||
|
Name[kn]=New Window
|
||||||
|
Name[ko]=새 창
|
||||||
|
Name[lij]=Neuvo Barcon
|
||||||
|
Name[lo]=ວິນໂດໃໝ່
|
||||||
|
Name[lt]=New Window
|
||||||
|
Name[ltg]=New Window
|
||||||
|
Name[lv]=Jauns logs
|
||||||
|
Name[meh]=New Window
|
||||||
|
Name[mk]=New Window
|
||||||
|
Name[ml]=പുതിയ ജാലകം
|
||||||
|
Name[mr]=New Window
|
||||||
|
Name[ms]=New Window
|
||||||
|
Name[my]=New Window
|
||||||
|
Name[nb_NO]=Nytt vindu
|
||||||
|
Name[ne_NP]=नयाँ सञ्झ्याल
|
||||||
|
Name[nl]=Nieuw venster
|
||||||
|
Name[nn_NO]=Nytt vindauge
|
||||||
|
Name[oc]=Fenèstra novèla
|
||||||
|
Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
|
||||||
|
Name[pl]=Nowe okno
|
||||||
|
Name[pt_BR]=Nova janela
|
||||||
|
Name[pt_PT]=Nova janela
|
||||||
|
Name[rm]=Nova fanestra
|
||||||
|
Name[ro]=Fereastră nouă
|
||||||
|
Name[ru]=Новое окно
|
||||||
|
Name[sat]=ᱱᱟᱶᱟ ᱣᱤᱱᱰᱳ
|
||||||
|
Name[sc]=Ventana noa
|
||||||
|
Name[sco]=New Window
|
||||||
|
Name[si]=නව කවුළුව
|
||||||
|
Name[sk]=Nové okno
|
||||||
|
Name[skr]=نویں ونڈو
|
||||||
|
Name[sl]=Novo okno
|
||||||
|
Name[son]=New Window
|
||||||
|
Name[sq]=Dritare e Re
|
||||||
|
Name[sr]=Нови прозор
|
||||||
|
Name[sv_SE]=Nytt fönster
|
||||||
|
Name[szl]=New Window
|
||||||
|
Name[ta]=New Window
|
||||||
|
Name[te]=కొత్త కిటికీ
|
||||||
|
Name[tg]=Равзанаи нав
|
||||||
|
Name[th]=หน้าต่างใหม่
|
||||||
|
Name[tl]=New Window
|
||||||
|
Name[tr]=Yeni pencere
|
||||||
|
Name[trs]=Bēntanâ nākàa
|
||||||
|
Name[uk]=Нове вікно
|
||||||
|
Name[ur]=New Window
|
||||||
|
Name[uz]=New Window
|
||||||
|
Name[vi]=Cửa sổ mới
|
||||||
|
Name[wo]=New Window
|
||||||
|
Name[xh]=New Window
|
||||||
|
Name[zh_CN]=新建窗口
|
||||||
|
Name[zh_TW]=開新視窗
|
||||||
|
|
||||||
[Desktop Action new-blank-window]
|
[Desktop Action new-blank-window]
|
||||||
Name=Open a New Blank Window
|
|
||||||
Exec=zen --blank-window %u
|
Exec=zen --blank-window %u
|
||||||
|
Name=New Blank Window
|
||||||
|
Name[ach]=New Blank Window
|
||||||
|
Name[af]=New Blank Window
|
||||||
|
Name[an]=New Blank Window
|
||||||
|
Name[ar]=نافذة فارغة جديدة
|
||||||
|
Name[ast]=New Blank Window
|
||||||
|
Name[az]=New Blank Window
|
||||||
|
Name[be]=Новае пустое акно
|
||||||
|
Name[bg]=Нов празен прозорец
|
||||||
|
Name[bn]=নতুন ফাঁকা উইন্ডো
|
||||||
|
Name[bqi]=نیمدری نۊ خالی
|
||||||
|
Name[br]=Prenestr goulloù nevez
|
||||||
|
Name[brx]=New Blank Window
|
||||||
|
Name[bs]=Novi prazni prozor
|
||||||
|
Name[ca]=Finestra en blanc nova
|
||||||
|
Name[ca_valencia]=New Blank Window
|
||||||
|
Name[cak]=K'ak'a' Tzuwäch K'axk'ol
|
||||||
|
Name[ckb]=New Blank Window
|
||||||
|
Name[cs]=Nové prázdné okno
|
||||||
|
Name[cy]=Ffenestr Wag Newydd
|
||||||
|
Name[da]=Nyt tomt vindue
|
||||||
|
Name[de]=Neues leeres Fenster
|
||||||
|
Name[dsb]=Nowe prázdne wokno
|
||||||
|
Name[el]=Νέο κενό παράθυρο
|
||||||
|
Name[en_CA]=New Blank Window
|
||||||
|
Name[en_GB]=New Blank Window
|
||||||
|
Name[eo]=Nova malplena fenestro
|
||||||
|
Name[es_AR]=Nueva ventana en blanco
|
||||||
|
Name[es_CL]=Nueva ventana en blanco
|
||||||
|
Name[es_ES]=Nueva ventana en blanco
|
||||||
|
Name[es_MX]=Nueva ventana en blanco
|
||||||
|
Name[et]=New Blank Window
|
||||||
|
Name[eu]=Leiho huts berri
|
||||||
|
Name[fa]=پنجره خالی جدید
|
||||||
|
Name[ff]=New Blank Window
|
||||||
|
Name[fi]=Uusi tyhjä ikkuna
|
||||||
|
Name[fr]=Nouvelle fenêtre vierge
|
||||||
|
Name[fur]=Gnûf barcon vuot
|
||||||
|
Name[fy_NL]=Nij leeg finster
|
||||||
|
Name[ga_IE]=New Blank Window
|
||||||
|
Name[gd]=Uinneag bhàn ùr
|
||||||
|
Name[gl]=Nova xanela en branco
|
||||||
|
Name[gn]=Ovetã ñemi pyahu
|
||||||
|
Name[gu_IN]=New Blank Window
|
||||||
|
Name[he]=חלון ריק חדש
|
||||||
|
Name[hi_IN]=New Blank Window
|
||||||
|
Name[hr]=Novi prazni prozor
|
||||||
|
Name[hsb]=Nowe prázdne wokno
|
||||||
|
Name[hu]=Új üres ablak
|
||||||
|
Name[hy_AM]=Նոր դատարկ պատուհան
|
||||||
|
Name[hye]=New Blank Window
|
||||||
|
Name[ia]=Nove fenestra vacue
|
||||||
|
Name[id]=Jendela Kosong Baru
|
||||||
|
Name[is]=Nýr tómur gluggi
|
||||||
|
Name[it]=Nuova finestra vuota
|
||||||
|
Name[ja]=新しい空白のウィンドウ
|
||||||
|
Name[ka]=ახალი ცარიელი ფანჯარა
|
||||||
|
Name[kab]=Asfaylu amaynut n tunigin tusligt
|
||||||
|
Name[kk]=Жаңа бос терезе
|
||||||
|
Name[km]=បង្អួចថ្មីឯកជន
|
||||||
|
Name[kn]=New Blank Window
|
||||||
|
Name[ko]=새 빈 창
|
||||||
|
Name[lij]=Neuvo Barcon Vuot
|
||||||
|
Name[lo]=ວິນໂດແອ່ງໃໝ່
|
||||||
|
Name[lt]=New Blank Window
|
||||||
|
Name[ltg]=New Blank Window
|
||||||
|
Name[lv]=Jauns tukšais logs
|
||||||
|
Name[meh]=New Blank Window
|
||||||
|
Name[mk]=New Blank Window
|
||||||
|
Name[ml]=പുതിയ ശൂന്യ ജാലകം
|
||||||
|
Name[mr]=New Blank Window
|
||||||
|
Name[ms]=New Blank Window
|
||||||
|
Name[my]=New Blank Window
|
||||||
|
Name[nb_NO]=Nytt tomt vindu
|
||||||
|
Name[ne_NP]=नयाँ खाली सञ्झ्याल
|
||||||
|
Name[nl]=Nieuw leeg venster
|
||||||
|
Name[nn_NO]=Nytt tomt vindauge
|
||||||
|
Name[oc]=Fenèstra en blanc novèla
|
||||||
|
Name[pa_IN]=ਨਵੀਂ ਖਾਲੀ ਵਿੰਡੋ
|
||||||
|
Name[pl]=Nowe puste okno
|
||||||
|
Name[pt_BR]=Nova janela em branco
|
||||||
|
Name[pt_PT]=Nova janela em branco
|
||||||
|
Name[rm]=Nova fanestra vacue
|
||||||
|
Name[ro]=Fereastră nouă și goală
|
||||||
|
Name[ru]=Новое пустое окно
|
||||||
|
Name[sat]=ᱱᱟᱶᱟ ᱣᱤᱱᱰᱳ ᱵᱽᱨᱟᱣᱡᱚᱨ
|
||||||
|
Name[sc]=Ventana en blanc noa
|
||||||
|
Name[sco]=New Blank Window
|
||||||
|
Name[si]=නව හිස් කවුළුව
|
||||||
|
Name[sk]=Nové prázdné okno
|
||||||
|
Name[skr]=نویں خالی ونڈو
|
||||||
|
Name[sl]=Novo prazno okno
|
||||||
|
Name[son]=New Blank Window
|
||||||
|
Name[sq]=Dritare e Re e Pafajshme
|
||||||
|
Name[sr]=Нови празни прозор
|
||||||
|
Name[sv_SE]=Nytt tomt fönster
|
||||||
|
Name[szl]=New Blank Window
|
||||||
|
Name[ta]=New Blank Window
|
||||||
|
Name[te]=కొత్త ఖాళీ కిటికీ
|
||||||
|
Name[tg]=Равзанаи холӣ нав
|
||||||
|
Name[th]=หน้าต่างว่างเปล่าใหม่
|
||||||
|
Name[tl]=New Blank Window
|
||||||
|
Name[tr]=Yeni boş pencere
|
||||||
|
Name[trs]=Bēntanâ huì nākàa
|
||||||
|
Name[uk]=Нове порожнє вікно
|
||||||
|
Name[ur]=New Blank Window
|
||||||
|
Name[uz]=New Blank Window
|
||||||
|
Name[vi]=Cửa sổ trống mới
|
||||||
|
Name[wo]=New Blank Window
|
||||||
|
Name[xh]=New Blank Window
|
||||||
|
Name[zh_CN]=新建空白窗口
|
||||||
|
Name[zh_TW]=開新空白視窗
|
||||||
|
|
||||||
[Desktop Action new-private-window]
|
[Desktop Action new-private-window]
|
||||||
Name=Open a New Private Window
|
|
||||||
Exec=zen --private-window %u
|
Exec=zen --private-window %u
|
||||||
|
Name=New Private Window
|
||||||
|
Name[ach]=New Private Window
|
||||||
|
Name[af]=New Private Window
|
||||||
|
Name[an]=New Private Window
|
||||||
|
Name[ar]=نافذة خاصة جديدة
|
||||||
|
Name[ast]=New Private Window
|
||||||
|
Name[az]=New Private Window
|
||||||
|
Name[be]=Новае прыватнае акно
|
||||||
|
Name[bg]=Нов личен прозорец
|
||||||
|
Name[bn]=নতুন ব্যক্তিগত উইন্ডো
|
||||||
|
Name[bqi]=نیمدری سیخومی نۊ
|
||||||
|
Name[br]=Prenestr prevez nevez
|
||||||
|
Name[brx]=New Private Window
|
||||||
|
Name[bs]=Novi privatni prozor
|
||||||
|
Name[ca]=Finestra privada nova
|
||||||
|
Name[ca_valencia]=New Private Window
|
||||||
|
Name[cak]=K'ak'a' Ichinan Tzuwäch
|
||||||
|
Name[ckb]=New Private Window
|
||||||
|
Name[cs]=Nové anonymní okno
|
||||||
|
Name[cy]=Ffenestr Breifat Newydd
|
||||||
|
Name[da]=Nyt privat vindue
|
||||||
|
Name[de]=Neues privates Fenster
|
||||||
|
Name[dsb]=Nowe priwatne wokno
|
||||||
|
Name[el]=Νέο ιδιωτικό παράθυρο
|
||||||
|
Name[en_CA]=New Private Window
|
||||||
|
Name[en_GB]=New Private Window
|
||||||
|
Name[eo]=Nova privata fenestro
|
||||||
|
Name[es_AR]=Nueva ventana privada
|
||||||
|
Name[es_CL]=Nueva ventana privada
|
||||||
|
Name[es_ES]=Nueva ventana privada
|
||||||
|
Name[es_MX]=Nueva ventana privada
|
||||||
|
Name[et]=New Private Window
|
||||||
|
Name[eu]=Leiho pribatu berria
|
||||||
|
Name[fa]=پنجره ناشناس جدید
|
||||||
|
Name[ff]=New Private Window
|
||||||
|
Name[fi]=Uusi yksityinen ikkuna
|
||||||
|
Name[fr]=Nouvelle fenêtre privée
|
||||||
|
Name[fur]=Gnûf barcon privât
|
||||||
|
Name[fy_NL]=Nij priveefinster
|
||||||
|
Name[ga_IE]=New Private Window
|
||||||
|
Name[gd]=Uinneag phrìobhaideach ùr
|
||||||
|
Name[gl]=Nova xanela privada
|
||||||
|
Name[gn]=Ovetã ñemi pyahu
|
||||||
|
Name[gu_IN]=New Private Window
|
||||||
|
Name[he]=חלון פרטי חדש
|
||||||
|
Name[hi_IN]=New Private Window
|
||||||
|
Name[hr]=Novi privatni prozor
|
||||||
|
Name[hsb]=Nowe priwatne wokno
|
||||||
|
Name[hu]=Új privát ablak
|
||||||
|
Name[hy_AM]=Նոր գաղտնի պատուհան
|
||||||
|
Name[hye]=New Private Window
|
||||||
|
Name[ia]=Nove fenestra private
|
||||||
|
Name[id]=Jendela Mode Pribadi Baru
|
||||||
|
Name[is]=Nýr huliðsgluggi
|
||||||
|
Name[it]=Nuova finestra anonima
|
||||||
|
Name[ja]=新しいプライベートウィンドウ
|
||||||
|
Name[ka]=ახალი პირადი ფანჯარა
|
||||||
|
Name[kab]=Asfaylu amaynut n tunigin tusligt
|
||||||
|
Name[kk]=Жаңа жекелік терезе
|
||||||
|
Name[km]=បង្អួចឯកជនថ្មី
|
||||||
|
Name[kn]=New Private Window
|
||||||
|
Name[ko]=새 사생활 보호 창
|
||||||
|
Name[lij]=Neuvo Barcon Privòu
|
||||||
|
Name[lo]=ວິນໂດສ່ວນຕົວໃໝ່
|
||||||
|
Name[lt]=New Private Window
|
||||||
|
Name[ltg]=New Private Window
|
||||||
|
Name[lv]=Jauns privātais logs
|
||||||
|
Name[meh]=New Private Window
|
||||||
|
Name[mk]=New Private Window
|
||||||
|
Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
|
||||||
|
Name[mr]=New Private Window
|
||||||
|
Name[ms]=New Private Window
|
||||||
|
Name[my]=New Private Window
|
||||||
|
Name[nb_NO]=Nytt privat vindu
|
||||||
|
Name[ne_NP]=नयाँ निजी सञ्झ्याल
|
||||||
|
Name[nl]=Nieuw privévenster
|
||||||
|
Name[nn_NO]=Nytt privat vindauge
|
||||||
|
Name[oc]=Fenèstra privada novèla
|
||||||
|
Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
|
||||||
|
Name[pl]=Nowe okno prywatne
|
||||||
|
Name[pt_BR]=Nova janela privativa
|
||||||
|
Name[pt_PT]=Nova janela privada
|
||||||
|
Name[rm]=Nova fanestra privata
|
||||||
|
Name[ro]=Fereastră privată nouă
|
||||||
|
Name[ru]=Новое приватное окно
|
||||||
|
Name[sat]=ᱱᱟᱶᱟ ᱱᱤᱡᱮᱨᱟᱜ ᱣᱤᱱᱰᱳ
|
||||||
|
Name[sc]=Ventana privada noa
|
||||||
|
Name[sco]=New Private Window
|
||||||
|
Name[si]=නව පෞද්. කවුළුව
|
||||||
|
Name[sk]=Nové súkromné okno
|
||||||
|
Name[skr]=نویں نجی ونڈو
|
||||||
|
Name[sl]=Novo zasebno okno
|
||||||
|
Name[son]=New Private Window
|
||||||
|
Name[sq]=Dritare e Re Private
|
||||||
|
Name[sr]=Нови приватни прозор
|
||||||
|
Name[sv_SE]=Nytt privat fönster
|
||||||
|
Name[szl]=New Private Window
|
||||||
|
Name[ta]=New Private Window
|
||||||
|
Name[te]=కొత్త ఆంతరంగిక కిటికీ
|
||||||
|
Name[tg]=Равзанаи хусусии нав
|
||||||
|
Name[th]=หน้าต่างส่วนตัวใหม่
|
||||||
|
Name[tl]=New Private Window
|
||||||
|
Name[tr]=Yeni gizli pencere
|
||||||
|
Name[trs]=Bēntanâ huì nākàa
|
||||||
|
Name[uk]=Приватне вікно
|
||||||
|
Name[ur]=New Private Window
|
||||||
|
Name[uz]=New Private Window
|
||||||
|
Name[vi]=Cửa sổ riêng tư mới
|
||||||
|
Name[wo]=New Private Window
|
||||||
|
Name[xh]=New Private Window
|
||||||
|
Name[zh_CN]=新建隐私窗口
|
||||||
|
Name[zh_TW]=開新隱私視窗
|
||||||
|
|
||||||
[Desktop Action profilemanager]
|
[Desktop Action profilemanager]
|
||||||
Name=Open the Profile Manager
|
|
||||||
Exec=zen --ProfileManager %u
|
Exec=zen --ProfileManager %u
|
||||||
|
Name=Open Profile Manager
|
||||||
|
Name[ach]=Open Profile Manager
|
||||||
|
Name[af]=Open Profile Manager
|
||||||
|
Name[an]=Open Profile Manager
|
||||||
|
Name[ar]=افتح مدير الملف الشخصي
|
||||||
|
Name[ast]=Open Profile Manager
|
||||||
|
Name[az]=Open Profile Manager
|
||||||
|
Name[be]=Адкрыць менеджар профіляў
|
||||||
|
Name[bg]=Отваряне на мениджъра на профили
|
||||||
|
Name[bn]=Open Profile Manager
|
||||||
|
Name[bqi]=گۊشیڌن دؽوۉداری پوروفایل
|
||||||
|
Name[br]=Digeriñ an ardoer aeladoù
|
||||||
|
Name[brx]=Open Profile Manager
|
||||||
|
Name[bs]=Otvori Menadžera profila
|
||||||
|
Name[ca]=Obre el gestor de perfils
|
||||||
|
Name[ca_valencia]=Open Profile Manager
|
||||||
|
Name[cak]=Open Profile Manager
|
||||||
|
Name[ckb]=Open Profile Manager
|
||||||
|
Name[cs]=Otevřít Správce profilů
|
||||||
|
Name[cy]=Agorwch y Rheolwr Proffil
|
||||||
|
Name[da]=Åbn profilhåndtering
|
||||||
|
Name[de]=Profilverwaltung öffnen
|
||||||
|
Name[dsb]=Profilowy zastojnik wócyniś
|
||||||
|
Name[el]=Άνοιγμα Διαχείρισης προφίλ
|
||||||
|
Name[en_CA]=Open Profile Manager
|
||||||
|
Name[en_GB]=Open Profile Manager
|
||||||
|
Name[eo]=Malfermi administranton de profiloj
|
||||||
|
Name[es_AR]=Abrir administrador de perfiles
|
||||||
|
Name[es_CL]=Abrir administrador de perfiles
|
||||||
|
Name[es_ES]=Abrir administrador de perfiles
|
||||||
|
Name[es_MX]=Abrir administrador de perfiles
|
||||||
|
Name[et]=Open Profile Manager
|
||||||
|
Name[eu]=Ireki profilen kudeatzailea
|
||||||
|
Name[fa]=گشودن مدیر نمایه
|
||||||
|
Name[ff]=Open Profile Manager
|
||||||
|
Name[fi]=Avaa profiilien hallinta
|
||||||
|
Name[fr]=Ouvrir le gestionnaire de profils
|
||||||
|
Name[fur]=Vierç gjestôr profîi
|
||||||
|
Name[fy_NL]=Profylbehearder iepenje
|
||||||
|
Name[ga_IE]=Open Profile Manager
|
||||||
|
Name[gd]=Fosgail manaidsear nam pròifilean
|
||||||
|
Name[gl]=Abrir o xestor de perfís
|
||||||
|
Name[gn]=Embojuruja mba’ete ñangarekoha
|
||||||
|
Name[gu_IN]=Open Profile Manager
|
||||||
|
Name[he]=פתיחת מנהל הפרופילים
|
||||||
|
Name[hi_IN]=Open Profile Manager
|
||||||
|
Name[hr]=Otvori upravljač profila
|
||||||
|
Name[hsb]=Zrjadowak profilow wočinić
|
||||||
|
Name[hu]=Profilkezelő megnyitása
|
||||||
|
Name[hy_AM]=Բացեք պրոֆիլի կառավարիչը
|
||||||
|
Name[hye]=Open Profile Manager
|
||||||
|
Name[ia]=Aperir le gestor de profilo
|
||||||
|
Name[id]=Buka Pengelola Profil
|
||||||
|
Name[is]=Opna umsýslu notandasniða
|
||||||
|
Name[it]=Apri gestore profili
|
||||||
|
Name[ja]=プロファイルマネージャーを開く
|
||||||
|
Name[ka]=პროფილის მმართველის გახსნა
|
||||||
|
Name[kab]=Ldi amsefrak n umaɣnu
|
||||||
|
Name[kk]=Профильдер бақарушысын ашу
|
||||||
|
Name[km]=Open Profile Manager
|
||||||
|
Name[kn]=Open Profile Manager
|
||||||
|
Name[ko]=프로필 관리자 열기
|
||||||
|
Name[lij]=Open Profile Manager
|
||||||
|
Name[lo]=ເປີດຕົວຈັດການໂປຣໄຟລ໌
|
||||||
|
Name[lt]=Open Profile Manager
|
||||||
|
Name[ltg]=Open Profile Manager
|
||||||
|
Name[lv]=Atvērt profilu pārvaldnieku
|
||||||
|
Name[meh]=Open Profile Manager
|
||||||
|
Name[mk]=Open Profile Manager
|
||||||
|
Name[ml]=രൂപരേഖ മാനേചർ
|
||||||
|
Name[mr]=Open Profile Manager
|
||||||
|
Name[ms]=Open Profile Manager
|
||||||
|
Name[my]=Open Profile Manager
|
||||||
|
Name[nb_NO]=Åpne profilbehandler
|
||||||
|
Name[ne_NP]=Open Profile Manager
|
||||||
|
Name[nl]=Profielbeheerder openen
|
||||||
|
Name[nn_NO]=Opne profilhandsaming
|
||||||
|
Name[oc]=Dobrir lo gestionari de perfils
|
||||||
|
Name[pa_IN]=ਪਰੋਫ਼ਾਈਲ ਮੈਨੇਜਰ ਖੋਲ੍ਹੋ
|
||||||
|
Name[pl]=Menedżer profili
|
||||||
|
Name[pt_BR]=Abrir gerenciador de perfis
|
||||||
|
Name[pt_PT]=Abrir o Gestor de Perfis
|
||||||
|
Name[rm]=Avrir l'administraziun da profils
|
||||||
|
Name[ro]=Deschide managerul de profiluri
|
||||||
|
Name[ru]=Открыть менеджер профилей
|
||||||
|
Name[sat]=ᱢᱮᱫᱦᱟᱸ ᱢᱮᱱᱮᱡᱚᱨ ᱠᱷᱩᱞᱟᱹᱭ ᱢᱮ
|
||||||
|
Name[sc]=Aberi su gestore de profilos
|
||||||
|
Name[sco]=Open Profile Manager
|
||||||
|
Name[si]=පැතිකඩ කළමනාකරු අරින්න
|
||||||
|
Name[sk]=Otvoriť Správcu profilov
|
||||||
|
Name[skr]=پروفائل منیجر کھولو
|
||||||
|
Name[sl]=Odpri upravitelja profilov
|
||||||
|
Name[son]=Open Profile Manager
|
||||||
|
Name[sq]=Hapni Përgjegjës Profilesh
|
||||||
|
Name[sr]=Отворите управљач профила
|
||||||
|
Name[sv_SE]=Öppna Profilhanteraren
|
||||||
|
Name[szl]=Open Profile Manager
|
||||||
|
Name[ta]=Open Profile Manager
|
||||||
|
Name[te]=Open Profile Manager
|
||||||
|
Name[tg]=Кушодани мудири профилҳо
|
||||||
|
Name[th]=เปิดตัวจัดการโปรไฟล์
|
||||||
|
Name[tl]=Open Profile Manager
|
||||||
|
Name[tr]=Profil yöneticisini aç
|
||||||
|
Name[trs]=Sa nīkāj ñu’ūnj nej perfî huā nì’nï̀nj ïn
|
||||||
|
Name[uk]=Відкрити менеджер профілів
|
||||||
|
Name[ur]=Open Profile Manager
|
||||||
|
Name[uz]=Open Profile Manager
|
||||||
|
Name[vi]=Mở trình quản lý hồ sơ
|
||||||
|
Name[wo]=Open Profile Manager
|
||||||
|
Name[xh]=Open Profile Manager
|
||||||
|
Name[zh_CN]=打开配置文件管理器
|
||||||
|
Name[zh_TW]=開啟設定檔管理員
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
fb55808f9cdd2172649e551705008af4f98038fe
|
10b4efc5a79c2ab80de3b22771b1d36b9b225920
|
||||||
@@ -7,6 +7,10 @@ unset MOZ_STDCXX_COMPAT
|
|||||||
ac_add_options --disable-dmd
|
ac_add_options --disable-dmd
|
||||||
ac_add_options --enable-eme=widevine
|
ac_add_options --enable-eme=widevine
|
||||||
|
|
||||||
|
if test "$ZEN_RELEASE"; then
|
||||||
|
ac_add_options --with-macos-sdk=/Library/Developer/CommandLineTools/SDKs/MacOSX26.4.sdk
|
||||||
|
fi
|
||||||
|
|
||||||
if test "$ZEN_RELEASE"; then
|
if test "$ZEN_RELEASE"; then
|
||||||
if ! test "$ZEN_GA_DISABLE_PGO"; then
|
if ! test "$ZEN_GA_DISABLE_PGO"; then
|
||||||
if test "$ZEN_GA_GENERATE_PROFILE"; then
|
if test "$ZEN_GA_GENERATE_PROFILE"; then
|
||||||
|
|||||||
@@ -20,3 +20,5 @@ files:
|
|||||||
translation: browser/browser/preferences/zen-preferences.ftl
|
translation: browser/browser/preferences/zen-preferences.ftl
|
||||||
- source: en-US/browser/browser/zen-folders.ftl
|
- source: en-US/browser/browser/zen-folders.ftl
|
||||||
translation: browser/browser/zen-folders.ftl
|
translation: browser/browser/zen-folders.ftl
|
||||||
|
- source: en-US/browser/browser/zen-boosts.ftl
|
||||||
|
translation: browser/browser/zen-boosts.ftl
|
||||||
|
|||||||
@@ -321,6 +321,7 @@ zen-workspace-shortcut-switch-9 = Switch to Workspace 9
|
|||||||
zen-workspace-shortcut-switch-10 = Switch to Workspace 10
|
zen-workspace-shortcut-switch-10 = Switch to Workspace 10
|
||||||
zen-workspace-shortcut-forward = Forward Workspace
|
zen-workspace-shortcut-forward = Forward Workspace
|
||||||
zen-workspace-shortcut-backward = Backward Workspace
|
zen-workspace-shortcut-backward = Backward Workspace
|
||||||
|
zen-workspace-shortcut-create = Create New Workspace
|
||||||
zen-sidebar-shortcut-toggle = Toggle Sidebar's Width
|
zen-sidebar-shortcut-toggle = Toggle Sidebar's Width
|
||||||
zen-pinned-tab-shortcut-reset = Reset Pinned Tab to Pinned URL
|
zen-pinned-tab-shortcut-reset = Reset Pinned Tab to Pinned URL
|
||||||
zen-split-view-shortcut-grid = Toggle Split View Grid
|
zen-split-view-shortcut-grid = Toggle Split View Grid
|
||||||
|
|||||||
59
locales/en-US/browser/browser/zen-boosts.ftl
Normal file
59
locales/en-US/browser/browser/zen-boosts.ftl
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
zen-boost-edit-rename =
|
||||||
|
.label = Rename Boost
|
||||||
|
zen-boost-edit-shuffle =
|
||||||
|
.label = Shuffle Vibes
|
||||||
|
zen-boost-edit-reset =
|
||||||
|
.label = Reset All Edits
|
||||||
|
zen-boost-edit-delete =
|
||||||
|
.label = Delete Boost
|
||||||
|
zen-boost-size = Size
|
||||||
|
zen-boost-case = Case
|
||||||
|
zen-boost-zap = Zap
|
||||||
|
zen-boost-code = Code
|
||||||
|
zen-boost-back = Back
|
||||||
|
zen-boost-shuffle =
|
||||||
|
.tooltiptext = Shuffle Boost Settings
|
||||||
|
zen-boost-invert =
|
||||||
|
.tooltiptext = Smart Invert Colors
|
||||||
|
zen-boost-controls =
|
||||||
|
.tooltiptext = Advanced Color Controls
|
||||||
|
zen-boost-disable =
|
||||||
|
.tooltiptext = Disable Color Adjustments
|
||||||
|
zen-boost-text-case-toggle =
|
||||||
|
.tooltiptext = Toggle Text Case
|
||||||
|
zen-boost-css-picker =
|
||||||
|
.tooltiptext = Pick Selector
|
||||||
|
zen-boost-css-inspector =
|
||||||
|
.tooltiptext = Open Inspector
|
||||||
|
zen-bootst-color-contrast = Contrast
|
||||||
|
zen-bootst-color-brightness = Brightness
|
||||||
|
zen-bootst-color-original-saturation = Original Saturation
|
||||||
|
zen-add-zap-helper = Click elements on the page to <b>Zap</b> them
|
||||||
|
zen-remove-zap-helper = ← Click to Unzap
|
||||||
|
zen-select-this = Insert selector for this
|
||||||
|
zen-select-related = Insert selector for related
|
||||||
|
zen-select-cancel = Cancel
|
||||||
|
zen-zap-this = Zap this
|
||||||
|
zen-zap-related = Zap all related elements
|
||||||
|
zen-zap-cancel = Cancel
|
||||||
|
zen-zap-done = Done
|
||||||
|
zen-unzap-tooltip =
|
||||||
|
{
|
||||||
|
$elementCount ->
|
||||||
|
[0] No elements zapped
|
||||||
|
[1] { $elementCount } element zapped
|
||||||
|
*[other] { $elementCount } elements zapped
|
||||||
|
}
|
||||||
|
zen-boost-save =
|
||||||
|
.label = Export Boost
|
||||||
|
zen-boost-load =
|
||||||
|
.label = Import Boost
|
||||||
|
zen-panel-ui-boosts-exported-message = Boost exported!
|
||||||
|
zen-site-data-boosts = Boosts
|
||||||
|
zen-site-data-create-boost =
|
||||||
|
.tooltiptext = Create new boost
|
||||||
|
zen-boost-rename-boost-prompt = Rename Boost?
|
||||||
8
package-lock.json
generated
8
package-lock.json
generated
@@ -1005,13 +1005,13 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "1.15.0",
|
"version": "1.16.0",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.16.0.tgz",
|
||||||
"integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==",
|
"integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.15.11",
|
"follow-redirects": "^1.16.0",
|
||||||
"form-data": "^4.0.5",
|
"form-data": "^4.0.5",
|
||||||
"proxy-from-env": "^2.1.0"
|
"proxy-from-env": "^2.1.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
"build": "surfer build",
|
"build": "surfer build",
|
||||||
"build:ui": "surfer build --ui",
|
"build:ui": "surfer build --ui",
|
||||||
"start": "cd engine && python3 ./mach run --noprofile",
|
"start": "cd engine && python3 ./mach run --noprofile",
|
||||||
|
"start:bloat": "XPCOM_MEM_BLOAT_LOG=1 npm start",
|
||||||
"import": "npm run ffprefs && npm run import:dumps && surfer import",
|
"import": "npm run ffprefs && npm run import:dumps && surfer import",
|
||||||
"import:dumps": "python3 scripts/update_service_dumps.py",
|
"import:dumps": "python3 scripts/update_service_dumps.py",
|
||||||
"export": "surfer export",
|
"export": "surfer export",
|
||||||
@@ -27,6 +28,7 @@
|
|||||||
"surfer": "surfer",
|
"surfer": "surfer",
|
||||||
"test": "python3 scripts/run_tests.py",
|
"test": "python3 scripts/run_tests.py",
|
||||||
"test:dbg": "python3 scripts/run_tests.py --jsdebugger --debug-on-failure",
|
"test:dbg": "python3 scripts/run_tests.py --jsdebugger --debug-on-failure",
|
||||||
|
"test:gtest": "cd engine && ./mach gtest",
|
||||||
"ffprefs": "cd tools/ffprefs && cargo run --bin ffprefs -- ../../",
|
"ffprefs": "cd tools/ffprefs && cargo run --bin ffprefs -- ../../",
|
||||||
"lc": "surfer license-check",
|
"lc": "surfer license-check",
|
||||||
"lc:fix": "surfer license-check --fix",
|
"lc:fix": "surfer license-check --fix",
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
|
|
||||||
# Fullscreen API preferences
|
|
||||||
- name: full-screen-api.transition-duration.enter
|
|
||||||
value: "0 0"
|
|
||||||
|
|
||||||
- name: full-screen-api.transition-duration.leave
|
|
||||||
value: "0 0"
|
|
||||||
|
|
||||||
- name: full-screen-api.warning.delay
|
|
||||||
value: -1
|
|
||||||
|
|
||||||
- name: full-screen-api.warning.timeout
|
|
||||||
value: 0
|
|
||||||
22
prefs/zen/boosts.yaml
Normal file
22
prefs/zen/boosts.yaml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
- name: zen.boosts.enabled
|
||||||
|
value: true
|
||||||
|
|
||||||
|
- name: zen.boosts.dissolve-on-zap
|
||||||
|
value: true
|
||||||
|
|
||||||
|
- name: zen.boosts.invert-channel-floor
|
||||||
|
value: 15
|
||||||
|
cpptype: uint32_t
|
||||||
|
mirror: once
|
||||||
|
type: static
|
||||||
|
|
||||||
|
- name: zen.boosts.disable-on-anonymous-content
|
||||||
|
value: true
|
||||||
|
cpptype: bool
|
||||||
|
mirror: once
|
||||||
|
type: static
|
||||||
|
|
||||||
6
prefs/zen/live-folders.yaml
Normal file
6
prefs/zen/live-folders.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
- name: zen.live-folders.github.skip-new-pr-ui-check
|
||||||
|
value: false
|
||||||
@@ -12,9 +12,6 @@
|
|||||||
value: "@cond"
|
value: "@cond"
|
||||||
condition: "defined(MOZILLA_OFFICIAL)"
|
condition: "defined(MOZILLA_OFFICIAL)"
|
||||||
|
|
||||||
- name: zen.rice.share.notice.accepted
|
|
||||||
value: false
|
|
||||||
|
|
||||||
# === Mark: Site Injection ===
|
# === Mark: Site Injection ===
|
||||||
|
|
||||||
- name: zen.injections.match-urls
|
- name: zen.injections.match-urls
|
||||||
|
|||||||
@@ -5,6 +5,9 @@
|
|||||||
- name: zen.splitView.enable-tab-drop
|
- name: zen.splitView.enable-tab-drop
|
||||||
value: true
|
value: true
|
||||||
|
|
||||||
|
- name: zen.splitView.enable-tab-click-split
|
||||||
|
value: true
|
||||||
|
|
||||||
- name: zen.splitView.min-resize-width
|
- name: zen.splitView.min-resize-width
|
||||||
value: 7
|
value: 7
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
value: true
|
value: true
|
||||||
|
|
||||||
- name: zen.theme.acrylic-elements
|
- name: zen.theme.acrylic-elements
|
||||||
value: false
|
value: "@IS_TWILIGHT@"
|
||||||
|
|
||||||
- name: zen.theme.disable-lightweight
|
- name: zen.theme.disable-lightweight
|
||||||
value: true
|
value: true
|
||||||
|
|||||||
@@ -59,7 +59,10 @@
|
|||||||
value: true
|
value: true
|
||||||
|
|
||||||
- name: zen.view.overflow-webext-toolbar
|
- name: zen.view.overflow-webext-toolbar
|
||||||
value: "@IS_TWILIGHT@"
|
value: true
|
||||||
|
|
||||||
|
- name: zen.view.overflow-webext-toolbar-threshold
|
||||||
|
value: 55
|
||||||
|
|
||||||
- name: zen.view.enable-loading-indicator
|
- name: zen.view.enable-loading-indicator
|
||||||
value: true
|
value: true
|
||||||
|
|||||||
@@ -17,6 +17,12 @@
|
|||||||
- name: zen.workspaces.swipe-actions
|
- name: zen.workspaces.swipe-actions
|
||||||
value: true
|
value: true
|
||||||
|
|
||||||
|
- name: zen.workspaces.swipe-actions.delta-multiplier
|
||||||
|
value: 100
|
||||||
|
|
||||||
|
- name: zen.workspaces.switch-animation-duration
|
||||||
|
value: 200
|
||||||
|
|
||||||
- name: zen.workspaces.wrap-around-navigation
|
- name: zen.workspaces.wrap-around-navigation
|
||||||
value: true
|
value: true
|
||||||
|
|
||||||
|
|||||||
@@ -39,3 +39,6 @@
|
|||||||
|
|
||||||
- name: zen.urlbar.suggestions.quick-actions
|
- name: zen.urlbar.suggestions.quick-actions
|
||||||
value: true
|
value: true
|
||||||
|
|
||||||
|
- name: browser.urlbar.shortcuts.workspaces
|
||||||
|
value: true
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/.prettierignore b/.prettierignore
|
diff --git a/.prettierignore b/.prettierignore
|
||||||
index 4c6d186c501f7e1b029db186d387f73d97dfed1e..81d0f7dc7f412151256c13ed93bd34d7bd872681 100644
|
index de2efe413e5696a3b8d0467a3a9e668dfadd8a1a..01c76d8e639d5630fca9cccb55d415fc4e903e91 100644
|
||||||
--- a/.prettierignore
|
--- a/.prettierignore
|
||||||
+++ b/.prettierignore
|
+++ b/.prettierignore
|
||||||
@@ -1806,3 +1806,12 @@ tools/ts/test/baselines/
|
@@ -1805,3 +1805,12 @@ tools/ts/test/baselines/
|
||||||
try_task_config.json
|
try_task_config.json
|
||||||
xpcom/idl-parser/xpidl/fixtures/xpctest.d.json
|
xpcom/idl-parser/xpidl/fixtures/xpctest.d.json
|
||||||
**/package-lock.json
|
**/package-lock.json
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/actors/EncryptedMediaParent.sys.mjs b/browser/actors/EncryptedMediaParent.sys.mjs
|
diff --git a/browser/actors/EncryptedMediaParent.sys.mjs b/browser/actors/EncryptedMediaParent.sys.mjs
|
||||||
index 9d3d3db9761cf5b2fde1f70992e82b1733241863..3dc64dc395d5237bf2c290cb8588cf467fb8729a 100644
|
index 492dce93d3cc7c6ec16db047c9e47b175ef3a0fe..757e5543e0e6900c414db6d7a96d511608c1e50a 100644
|
||||||
--- a/browser/actors/EncryptedMediaParent.sys.mjs
|
--- a/browser/actors/EncryptedMediaParent.sys.mjs
|
||||||
+++ b/browser/actors/EncryptedMediaParent.sys.mjs
|
+++ b/browser/actors/EncryptedMediaParent.sys.mjs
|
||||||
@@ -200,6 +200,7 @@ export class EncryptedMediaParent extends JSWindowActorParent {
|
@@ -199,6 +199,7 @@ export class EncryptedMediaParent extends JSWindowActorParent {
|
||||||
"drmContentPlaying",
|
"drmContentPlaying",
|
||||||
aBrowser
|
aBrowser
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/actors/WebRTCParent.sys.mjs b/browser/actors/WebRTCParent.sys.mjs
|
diff --git a/browser/actors/WebRTCParent.sys.mjs b/browser/actors/WebRTCParent.sys.mjs
|
||||||
index e8b762b4c8f71ddafc090415abfe97674401dbc2..5dda5fe9c9bc02ebe7713f7bd21315fe4ba8b8cd 100644
|
index b743bd83529c4cd01a6bc820967186dbe41b6144..e24c48bac0f4ae3d4b26087b7e0cac7910019d0e 100644
|
||||||
--- a/browser/actors/WebRTCParent.sys.mjs
|
--- a/browser/actors/WebRTCParent.sys.mjs
|
||||||
+++ b/browser/actors/WebRTCParent.sys.mjs
|
+++ b/browser/actors/WebRTCParent.sys.mjs
|
||||||
@@ -152,6 +152,7 @@ export class WebRTCParent extends JSWindowActorParent {
|
@@ -152,6 +152,7 @@ export class WebRTCParent extends JSWindowActorParent {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/app/splash.rc b/browser/app/splash.rc
|
diff --git a/browser/app/splash.rc b/browser/app/splash.rc
|
||||||
index 259a8068c3aa256b8c50487a04f1844292b90b2e..8b9c792e1484bb801246b06b6ce43fb6d6271ee8 100644
|
index 04c1d3e1db7d067d579512999a08de85a0aa212c..4e04eb5008ca1701c731c3109ba184ccf465b51b 100644
|
||||||
--- a/browser/app/splash.rc
|
--- a/browser/app/splash.rc
|
||||||
+++ b/browser/app/splash.rc
|
+++ b/browser/app/splash.rc
|
||||||
@@ -6,6 +6,9 @@
|
@@ -5,6 +5,9 @@
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include "nsNativeAppSupportWin.h"
|
#include "nsNativeAppSupportWin.h"
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/browser-addons.js b/browser/base/content/browser-addons.js
|
diff --git a/browser/base/content/browser-addons.js b/browser/base/content/browser-addons.js
|
||||||
index 098cf2408bc462f61fb547716754a3af832ffa1e..d062d03f7d258b66740d785cc30abe7932eaea41 100644
|
index 853d3c9dd9dd806d49a3c5a44304dd7370f0c90e..ea927b05213981fbfa5494d8d22bce05f45bce08 100644
|
||||||
--- a/browser/base/content/browser-addons.js
|
--- a/browser/base/content/browser-addons.js
|
||||||
+++ b/browser/base/content/browser-addons.js
|
+++ b/browser/base/content/browser-addons.js
|
||||||
@@ -1061,7 +1061,7 @@ var gXPInstallObserver = {
|
@@ -1060,7 +1060,7 @@ var gXPInstallObserver = {
|
||||||
persistent: true,
|
persistent: true,
|
||||||
hideClose: true,
|
hideClose: true,
|
||||||
popupOptions: {
|
popupOptions: {
|
||||||
@@ -11,7 +11,7 @@ index 098cf2408bc462f61fb547716754a3af832ffa1e..d062d03f7d258b66740d785cc30abe79
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1283,7 +1283,7 @@ var gXPInstallObserver = {
|
@@ -1282,7 +1282,7 @@ var gXPInstallObserver = {
|
||||||
hideClose: true,
|
hideClose: true,
|
||||||
timeout: Date.now() + 30000,
|
timeout: Date.now() + 30000,
|
||||||
popupOptions: {
|
popupOptions: {
|
||||||
@@ -20,7 +20,7 @@ index 098cf2408bc462f61fb547716754a3af832ffa1e..d062d03f7d258b66740d785cc30abe79
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2210,7 +2210,7 @@ var gUnifiedExtensions = {
|
@@ -2209,7 +2209,7 @@ var gUnifiedExtensions = {
|
||||||
// If the new ID is not added in NOTIFICATION_IDS, consider handling the case
|
// If the new ID is not added in NOTIFICATION_IDS, consider handling the case
|
||||||
// in the "PopupNotificationsBeforeAnchor" handler elsewhere in this file.
|
// in the "PopupNotificationsBeforeAnchor" handler elsewhere in this file.
|
||||||
getPopupAnchorID(aBrowser, aWindow) {
|
getPopupAnchorID(aBrowser, aWindow) {
|
||||||
@@ -29,7 +29,7 @@ index 098cf2408bc462f61fb547716754a3af832ffa1e..d062d03f7d258b66740d785cc30abe79
|
|||||||
const attr = anchorID + "popupnotificationanchor";
|
const attr = anchorID + "popupnotificationanchor";
|
||||||
|
|
||||||
if (!aBrowser[attr]) {
|
if (!aBrowser[attr]) {
|
||||||
@@ -2221,7 +2221,7 @@ var gUnifiedExtensions = {
|
@@ -2220,7 +2220,7 @@ var gUnifiedExtensions = {
|
||||||
anchorID
|
anchorID
|
||||||
// Anchor on the toolbar icon to position the popup right below the
|
// Anchor on the toolbar icon to position the popup right below the
|
||||||
// button.
|
// button.
|
||||||
@@ -38,7 +38,7 @@ index 098cf2408bc462f61fb547716754a3af832ffa1e..d062d03f7d258b66740d785cc30abe79
|
|||||||
}
|
}
|
||||||
|
|
||||||
return anchorID;
|
return anchorID;
|
||||||
@@ -2546,7 +2546,7 @@ var gUnifiedExtensions = {
|
@@ -2545,7 +2545,7 @@ var gUnifiedExtensions = {
|
||||||
requestAnimationFrame(() => this.updateAttention());
|
requestAnimationFrame(() => this.updateAttention());
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ index 098cf2408bc462f61fb547716754a3af832ffa1e..d062d03f7d258b66740d785cc30abe79
|
|||||||
// A list of extension widget IDs (possibly empty).
|
// A list of extension widget IDs (possibly empty).
|
||||||
let widgetIDs;
|
let widgetIDs;
|
||||||
|
|
||||||
@@ -2560,7 +2560,7 @@ var gUnifiedExtensions = {
|
@@ -2559,7 +2559,7 @@ var gUnifiedExtensions = {
|
||||||
}
|
}
|
||||||
|
|
||||||
// The list of overflowed extensions in the extensions panel.
|
// The list of overflowed extensions in the extensions panel.
|
||||||
@@ -56,7 +56,7 @@ index 098cf2408bc462f61fb547716754a3af832ffa1e..d062d03f7d258b66740d785cc30abe79
|
|||||||
"#overflowed-extensions-list"
|
"#overflowed-extensions-list"
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -2661,37 +2661,41 @@ var gUnifiedExtensions = {
|
@@ -2660,37 +2660,41 @@ var gUnifiedExtensions = {
|
||||||
);
|
);
|
||||||
template.replaceWith(template.content);
|
template.replaceWith(template.content);
|
||||||
this._panel = document.getElementById("unified-extensions-panel");
|
this._panel = document.getElementById("unified-extensions-panel");
|
||||||
@@ -123,7 +123,7 @@ index 098cf2408bc462f61fb547716754a3af832ffa1e..d062d03f7d258b66740d785cc30abe79
|
|||||||
if (!CustomizationHandler.isCustomizing()) {
|
if (!CustomizationHandler.isCustomizing()) {
|
||||||
if (aEvent) {
|
if (aEvent) {
|
||||||
if (
|
if (
|
||||||
@@ -2713,6 +2717,7 @@ var gUnifiedExtensions = {
|
@@ -2712,6 +2716,7 @@ var gUnifiedExtensions = {
|
||||||
// and no alternative content is available for display in the panel.
|
// and no alternative content is available for display in the panel.
|
||||||
const policies = this.getActivePolicies();
|
const policies = this.getActivePolicies();
|
||||||
if (
|
if (
|
||||||
@@ -131,7 +131,7 @@ index 098cf2408bc462f61fb547716754a3af832ffa1e..d062d03f7d258b66740d785cc30abe79
|
|||||||
policies.length &&
|
policies.length &&
|
||||||
!this.hasExtensionsInPanel(policies) &&
|
!this.hasExtensionsInPanel(policies) &&
|
||||||
!this.isPrivateWindowMissingExtensionsWithoutPBMAccess() &&
|
!this.isPrivateWindowMissingExtensionsWithoutPBMAccess() &&
|
||||||
@@ -2728,32 +2733,30 @@ var gUnifiedExtensions = {
|
@@ -2727,32 +2732,30 @@ var gUnifiedExtensions = {
|
||||||
this.blocklistAttentionInfo =
|
this.blocklistAttentionInfo =
|
||||||
await AddonManager.getBlocklistAttentionInfo();
|
await AddonManager.getBlocklistAttentionInfo();
|
||||||
|
|
||||||
@@ -170,7 +170,7 @@ index 098cf2408bc462f61fb547716754a3af832ffa1e..d062d03f7d258b66740d785cc30abe79
|
|||||||
triggerEvent: aEvent,
|
triggerEvent: aEvent,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -2948,18 +2951,20 @@ var gUnifiedExtensions = {
|
@@ -2947,18 +2950,20 @@ var gUnifiedExtensions = {
|
||||||
this._maybeMoveWidgetNodeBack(widgetId);
|
this._maybeMoveWidgetNodeBack(widgetId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/browser-commands.js b/browser/base/content/browser-commands.js
|
diff --git a/browser/base/content/browser-commands.js b/browser/base/content/browser-commands.js
|
||||||
index e7f88f69fcc22efca4c7fc0363b9fe2729e1be6f..d7c4063d38576a34545b9af06c37937dc9090628 100644
|
index 2d9f5591c9ffdd5948298555c461850521c0b45f..c46072ca4e96b419987f7e782e26b3de71d7c8e3 100644
|
||||||
--- a/browser/base/content/browser-commands.js
|
--- a/browser/base/content/browser-commands.js
|
||||||
+++ b/browser/base/content/browser-commands.js
|
+++ b/browser/base/content/browser-commands.js
|
||||||
@@ -14,6 +14,10 @@ var BrowserCommands = {
|
@@ -13,6 +13,10 @@ var BrowserCommands = {
|
||||||
const where = BrowserUtils.whereToOpenLink(aEvent, false, true);
|
const where = BrowserUtils.whereToOpenLink(aEvent, false, true);
|
||||||
|
|
||||||
if (where == "current") {
|
if (where == "current") {
|
||||||
@@ -13,7 +13,7 @@ index e7f88f69fcc22efca4c7fc0363b9fe2729e1be6f..d7c4063d38576a34545b9af06c37937d
|
|||||||
try {
|
try {
|
||||||
gBrowser.goBack();
|
gBrowser.goBack();
|
||||||
} catch (ex) {}
|
} catch (ex) {}
|
||||||
@@ -229,6 +233,10 @@ var BrowserCommands = {
|
@@ -234,6 +238,10 @@ var BrowserCommands = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ index e7f88f69fcc22efca4c7fc0363b9fe2729e1be6f..d7c4063d38576a34545b9af06c37937d
|
|||||||
// A notification intended to be useful for modular peformance tracking
|
// A notification intended to be useful for modular peformance tracking
|
||||||
// starting as close as is reasonably possible to the time when the user
|
// starting as close as is reasonably possible to the time when the user
|
||||||
// expressed the intent to open a new tab. Since there are a lot of
|
// expressed the intent to open a new tab. Since there are a lot of
|
||||||
@@ -313,6 +321,14 @@ var BrowserCommands = {
|
@@ -318,6 +326,14 @@ var BrowserCommands = {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ index e7f88f69fcc22efca4c7fc0363b9fe2729e1be6f..d7c4063d38576a34545b9af06c37937d
|
|||||||
// Keyboard shortcuts that would close a tab that is pinned select the first
|
// Keyboard shortcuts that would close a tab that is pinned select the first
|
||||||
// unpinned tab instead.
|
// unpinned tab instead.
|
||||||
if (
|
if (
|
||||||
@@ -320,8 +336,8 @@ var BrowserCommands = {
|
@@ -325,8 +341,8 @@ var BrowserCommands = {
|
||||||
(event.ctrlKey || event.metaKey || event.altKey) &&
|
(event.ctrlKey || event.metaKey || event.altKey) &&
|
||||||
gBrowser.selectedTab.pinned
|
gBrowser.selectedTab.pinned
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/browser-fullScreenAndPointerLock.js b/browser/base/content/browser-fullScreenAndPointerLock.js
|
diff --git a/browser/base/content/browser-fullScreenAndPointerLock.js b/browser/base/content/browser-fullScreenAndPointerLock.js
|
||||||
index cd46701e9f4b672f392533c9ecc1c8570c3b2c5a..beb992702ea90e0b81f7bda4a6c0522932e84dfe 100644
|
index 1eaf79a4f6788c518a4759bbce81175fd5fba220..6fde5e944ad4a847180ca83a9e6f4fde20aa7b42 100644
|
||||||
--- a/browser/base/content/browser-fullScreenAndPointerLock.js
|
--- a/browser/base/content/browser-fullScreenAndPointerLock.js
|
||||||
+++ b/browser/base/content/browser-fullScreenAndPointerLock.js
|
+++ b/browser/base/content/browser-fullScreenAndPointerLock.js
|
||||||
@@ -464,8 +464,6 @@ var FullScreen = {
|
@@ -501,8 +501,6 @@ var FullScreen = {
|
||||||
// don't need that kind of precision in our CSS.
|
// don't need that kind of precision in our CSS.
|
||||||
shiftSize = shiftSize.toFixed(2);
|
shiftSize = shiftSize.toFixed(2);
|
||||||
let translate = shiftSize > 0 ? `0 ${shiftSize}px` : "";
|
let translate = shiftSize > 0 ? `0 ${shiftSize}px` : "";
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
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 b64d2f52ed1eb3d0b8aa86700bc082d3fc95152b..dd8636148d0646f6949d6279d70e20c09d8c7c17 100644
|
index d09cf65931eda253b2a71131f42883ccf6eb5724..f617863dac8e07def02d1d4ef7e5ade1caf50df1 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
|
||||||
@@ -252,6 +252,7 @@ var gBrowserInit = {
|
@@ -302,6 +302,7 @@ var gBrowserInit = {
|
||||||
},
|
},
|
||||||
|
|
||||||
onLoad() {
|
onLoad() {
|
||||||
@@ -10,7 +10,7 @@ index b64d2f52ed1eb3d0b8aa86700bc082d3fc95152b..dd8636148d0646f6949d6279d70e20c0
|
|||||||
gBrowser.addEventListener("DOMUpdateBlockedPopups", e =>
|
gBrowser.addEventListener("DOMUpdateBlockedPopups", e =>
|
||||||
PopupAndRedirectBlockerObserver.handleEvent(e)
|
PopupAndRedirectBlockerObserver.handleEvent(e)
|
||||||
);
|
);
|
||||||
@@ -446,6 +447,7 @@ var gBrowserInit = {
|
@@ -496,6 +497,7 @@ var gBrowserInit = {
|
||||||
|
|
||||||
this._handleURIToLoad();
|
this._handleURIToLoad();
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
|
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
|
||||||
index 942bb5688e98f66ad71560fb32e1ca26a8081edf..25ba741c35c49afbf4e6053df3a0a7296d3040d8 100644
|
index d1ab42d59f05513ec60a7578b7acab44875c544c..8c3cd75704991b8572d3f13a936fddd2616b2946 100644
|
||||||
--- a/browser/base/content/browser.js
|
--- a/browser/base/content/browser.js
|
||||||
+++ b/browser/base/content/browser.js
|
+++ b/browser/base/content/browser.js
|
||||||
@@ -33,6 +33,7 @@ ChromeUtils.defineESModuleGetters(this, {
|
@@ -34,6 +34,7 @@ ChromeUtils.defineESModuleGetters(this, {
|
||||||
"resource://gre/modules/ContextualIdentityService.sys.mjs",
|
"resource://gre/modules/ContextualIdentityService.sys.mjs",
|
||||||
CustomizableUI:
|
CustomizableUI:
|
||||||
"moz-src:///browser/components/customizableui/CustomizableUI.sys.mjs",
|
"moz-src:///browser/components/customizableui/CustomizableUI.sys.mjs",
|
||||||
@@ -24,7 +24,7 @@ index 942bb5688e98f66ad71560fb32e1ca26a8081edf..25ba741c35c49afbf4e6053df3a0a729
|
|||||||
if (backDisabled) {
|
if (backDisabled) {
|
||||||
backCommand.removeAttribute("disabled");
|
backCommand.removeAttribute("disabled");
|
||||||
} else {
|
} else {
|
||||||
@@ -3830,7 +3836,7 @@ function warnAboutClosingWindow() {
|
@@ -3715,7 +3721,7 @@ function warnAboutClosingWindow() {
|
||||||
|
|
||||||
if (!isPBWindow && !toolbar.visible) {
|
if (!isPBWindow && !toolbar.visible) {
|
||||||
return gBrowser.warnAboutClosingTabs(
|
return gBrowser.warnAboutClosingTabs(
|
||||||
@@ -33,7 +33,7 @@ index 942bb5688e98f66ad71560fb32e1ca26a8081edf..25ba741c35c49afbf4e6053df3a0a729
|
|||||||
gBrowser.closingTabsEnum.ALL
|
gBrowser.closingTabsEnum.ALL
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -3870,7 +3876,7 @@ function warnAboutClosingWindow() {
|
@@ -3755,7 +3761,7 @@ function warnAboutClosingWindow() {
|
||||||
return (
|
return (
|
||||||
isPBWindow ||
|
isPBWindow ||
|
||||||
gBrowser.warnAboutClosingTabs(
|
gBrowser.warnAboutClosingTabs(
|
||||||
@@ -42,7 +42,7 @@ index 942bb5688e98f66ad71560fb32e1ca26a8081edf..25ba741c35c49afbf4e6053df3a0a729
|
|||||||
gBrowser.closingTabsEnum.ALL
|
gBrowser.closingTabsEnum.ALL
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@@ -3895,7 +3901,7 @@ function warnAboutClosingWindow() {
|
@@ -3780,7 +3786,7 @@ function warnAboutClosingWindow() {
|
||||||
AppConstants.platform != "macosx" ||
|
AppConstants.platform != "macosx" ||
|
||||||
isPBWindow ||
|
isPBWindow ||
|
||||||
gBrowser.warnAboutClosingTabs(
|
gBrowser.warnAboutClosingTabs(
|
||||||
@@ -51,7 +51,7 @@ index 942bb5688e98f66ad71560fb32e1ca26a8081edf..25ba741c35c49afbf4e6053df3a0a729
|
|||||||
gBrowser.closingTabsEnum.ALL
|
gBrowser.closingTabsEnum.ALL
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@@ -4835,6 +4841,9 @@ var ConfirmationHint = {
|
@@ -4720,6 +4726,9 @@ var ConfirmationHint = {
|
||||||
}
|
}
|
||||||
|
|
||||||
document.l10n.setAttributes(this._message, messageId, options.l10nArgs);
|
document.l10n.setAttributes(this._message, messageId, options.l10nArgs);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/browser-places.js b/browser/base/content/browser-places.js
|
diff --git a/browser/base/content/browser-places.js b/browser/base/content/browser-places.js
|
||||||
index 543630b89bc4f1d40eda7e4e7ae68a3c9f45e1e7..fac68af45985ad2feeb1daebd470d028b49d1dde 100644
|
index e3feaebc551bfe7127b9701a7f76996022516af0..460b39f2a9f1f36d4b821c693951214098b644f7 100644
|
||||||
--- a/browser/base/content/browser-places.js
|
--- a/browser/base/content/browser-places.js
|
||||||
+++ b/browser/base/content/browser-places.js
|
+++ b/browser/base/content/browser-places.js
|
||||||
@@ -261,6 +261,8 @@ var StarUI = {
|
@@ -261,6 +261,8 @@ var StarUI = {
|
||||||
@@ -33,7 +33,7 @@ index 543630b89bc4f1d40eda7e4e7ae68a3c9f45e1e7..fac68af45985ad2feeb1daebd470d028
|
|||||||
removeBookmarkButtonCommand: function SU_removeBookmarkButtonCommand() {
|
removeBookmarkButtonCommand: function SU_removeBookmarkButtonCommand() {
|
||||||
this._removeBookmarksOnPopupHidden = true;
|
this._removeBookmarksOnPopupHidden = true;
|
||||||
this.panel.hidePopup();
|
this.panel.hidePopup();
|
||||||
@@ -1811,6 +1828,7 @@ var BookmarkingUI = {
|
@@ -1815,6 +1832,7 @@ var BookmarkingUI = {
|
||||||
document.getElementById("context-bookmarkpage"),
|
document.getElementById("context-bookmarkpage"),
|
||||||
PanelMultiView.getViewNode(document, "panelMenuBookmarkThisPage"),
|
PanelMultiView.getViewNode(document, "panelMenuBookmarkThisPage"),
|
||||||
document.getElementById("pageAction-panel-bookmark"),
|
document.getElementById("pageAction-panel-bookmark"),
|
||||||
|
|||||||
9
src/browser/base/content/browser-sets-inc-xhtml.patch
Normal file
9
src/browser/base/content/browser-sets-inc-xhtml.patch
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
diff --git a/browser/base/content/browser-sets.inc.xhtml b/browser/base/content/browser-sets.inc.xhtml
|
||||||
|
index 1263856344c4613ea58639a64e747fd0c3f771f7..c83ed7dd6a2482354c5bd37ce2e2cbf88ee6cf60 100644
|
||||||
|
--- a/browser/base/content/browser-sets.inc.xhtml
|
||||||
|
+++ b/browser/base/content/browser-sets.inc.xhtml
|
||||||
|
@@ -418,3 +418,4 @@
|
||||||
|
internal="true"/>
|
||||||
|
#endif
|
||||||
|
</keyset>
|
||||||
|
+#include zen-keysets.inc.xhtml
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
diff --git a/browser/base/content/browser-sets.inc b/browser/base/content/browser-sets.inc
|
|
||||||
index 8871fc984acccfd9c54c7aef9f91934d81ba00c0..923ab3bda423eae77518f437221c32ca4990f5ce 100644
|
|
||||||
--- a/browser/base/content/browser-sets.inc
|
|
||||||
+++ b/browser/base/content/browser-sets.inc
|
|
||||||
@@ -415,3 +415,4 @@
|
|
||||||
internal="true"/>
|
|
||||||
#endif
|
|
||||||
</keyset>
|
|
||||||
+#include zen-keysets.inc.xhtml
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/browser-sets.js b/browser/base/content/browser-sets.js
|
diff --git a/browser/base/content/browser-sets.js b/browser/base/content/browser-sets.js
|
||||||
index d9ab2ad00b862d56ea7aa8e2469d050d8df7f5dc..2efb25ff9cfd3a224724fffadfa0aee693ddf47d 100644
|
index 8b153dfac9421f0cce716ed399f33ec9b25eb311..5e461b0fc89455d38869ac70a7ce6a3b20ffd26b 100644
|
||||||
--- a/browser/base/content/browser-sets.js
|
--- a/browser/base/content/browser-sets.js
|
||||||
+++ b/browser/base/content/browser-sets.js
|
+++ b/browser/base/content/browser-sets.js
|
||||||
@@ -272,7 +272,7 @@ document.addEventListener(
|
@@ -285,7 +285,7 @@ document.addEventListener(
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ index d9ab2ad00b862d56ea7aa8e2469d050d8df7f5dc..2efb25ff9cfd3a224724fffadfa0aee6
|
|||||||
const SIDEBAR_REVAMP_PREF = "sidebar.revamp";
|
const SIDEBAR_REVAMP_PREF = "sidebar.revamp";
|
||||||
const SIDEBAR_REVAMP_ENABLED = Services.prefs.getBoolPref(
|
const SIDEBAR_REVAMP_ENABLED = Services.prefs.getBoolPref(
|
||||||
SIDEBAR_REVAMP_PREF,
|
SIDEBAR_REVAMP_PREF,
|
||||||
@@ -310,6 +310,8 @@ document.addEventListener(
|
@@ -323,6 +323,8 @@ document.addEventListener(
|
||||||
panel: SidebarController.currentID,
|
panel: SidebarController.currentID,
|
||||||
opened: SidebarController._state.launcherExpanded,
|
opened: SidebarController._state.launcherExpanded,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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 b42287485c2baeabe831b0d54c6f09330b0caabd..e404c2e028e24eb4fa9b97f143ba476c1b1461fd 100644
|
index d8ed09dca6c8ae99ed1a84cef22462a0d7b517fe..dcb65c4268913fdf32302c9b4ac723131187922e 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
|
||||||
@@ -19,6 +19,7 @@
|
@@ -18,6 +18,7 @@
|
||||||
sizemode="normal"
|
sizemode="normal"
|
||||||
retargetdocumentfocus="urlbar-input"
|
retargetdocumentfocus="urlbar-input"
|
||||||
scrolling="false"
|
scrolling="false"
|
||||||
@@ -10,7 +10,7 @@ index b42287485c2baeabe831b0d54c6f09330b0caabd..e404c2e028e24eb4fa9b97f143ba476c
|
|||||||
persist="screenX screenY width height sizemode"
|
persist="screenX screenY width height sizemode"
|
||||||
data-l10n-sync="true">
|
data-l10n-sync="true">
|
||||||
<head>
|
<head>
|
||||||
@@ -101,8 +102,10 @@
|
@@ -100,8 +101,10 @@
|
||||||
|
|
||||||
<title data-l10n-id="browser-main-window-default-title"></title>
|
<title data-l10n-id="browser-main-window-default-title"></title>
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ index b42287485c2baeabe831b0d54c6f09330b0caabd..e404c2e028e24eb4fa9b97f143ba476c
|
|||||||
</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)
|
||||||
@@ -135,9 +138,10 @@
|
@@ -134,9 +137,10 @@
|
||||||
</vbox>
|
</vbox>
|
||||||
</html:template>
|
</html:template>
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
|
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||||
index edeb473e46b3aa4b12eb4b59ce62e5ae48edd2a1..d2c6c8c150e732b77d65420520ca4905a9d3ea4d 100644
|
index b4abfb868fc7c13e789acb57b44e386de6d31bf0..ad917f5362ed4f3ba0149c214fb53d3f087bbfcf 100644
|
||||||
--- a/browser/base/content/navigator-toolbox.inc.xhtml
|
--- a/browser/base/content/navigator-toolbox.inc.xhtml
|
||||||
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
|
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
@@ -11,8 +11,8 @@ index edeb473e46b3aa4b12eb4b59ce62e5ae48edd2a1..d2c6c8c150e732b77d65420520ca4905
|
|||||||
<script src="chrome://browser/content/navigator-toolbox.js" />
|
<script src="chrome://browser/content/navigator-toolbox.js" />
|
||||||
|
|
||||||
<!-- Menu -->
|
<!-- Menu -->
|
||||||
@@ -18,9 +18,12 @@
|
@@ -18,9 +18,13 @@
|
||||||
#include browser-menubar.inc
|
#include browser-menubar.inc.xhtml
|
||||||
</toolbaritem>
|
</toolbaritem>
|
||||||
<spacer flex="1" skipintoolbarset="true" style="order: 1000;"/>
|
<spacer flex="1" skipintoolbarset="true" style="order: 1000;"/>
|
||||||
-#include titlebar-items.inc.xhtml
|
-#include titlebar-items.inc.xhtml
|
||||||
@@ -22,14 +22,14 @@ index edeb473e46b3aa4b12eb4b59ce62e5ae48edd2a1..d2c6c8c150e732b77d65420520ca4905
|
|||||||
+ <html:div id="zen-toolbar-background" class="zen-toolbar-background zen-browser-generic-background">
|
+ <html:div id="zen-toolbar-background" class="zen-toolbar-background zen-browser-generic-background">
|
||||||
+ <html:div class="zen-browser-grain" />
|
+ <html:div class="zen-browser-grain" />
|
||||||
+ </html:div>
|
+ </html:div>
|
||||||
|
+ <box id="zen-overflow-extensions-list" skipintoolbarset="true" contextmenu="toolbar-context-menu" />
|
||||||
<toolbar id="TabsToolbar"
|
<toolbar id="TabsToolbar"
|
||||||
class="browser-toolbar browser-titlebar"
|
class="browser-toolbar browser-titlebar"
|
||||||
fullscreentoolbar="true"
|
fullscreentoolbar="true"
|
||||||
@@ -62,6 +65,9 @@
|
@@ -62,6 +66,8 @@
|
||||||
<html:sidebar-pins-promo id="drag-to-pin-promo-card"></html:sidebar-pins-promo>
|
<html:sidebar-pins-promo id="drag-to-pin-promo-card"></html:sidebar-pins-promo>
|
||||||
<arrowscrollbox id="pinned-tabs-container" orient="horizontal" clicktoscroll=""></arrowscrollbox>
|
<arrowscrollbox id="pinned-tabs-container" orient="horizontal" clicktoscroll=""></arrowscrollbox>
|
||||||
<splitter orient="vertical" id="vertical-pinned-tabs-splitter" resizebefore="sibling" resizeafter="none" hidden="true"/>
|
<splitter orient="vertical" id="vertical-pinned-tabs-splitter" resizebefore="sibling" resizeafter="none" hidden="true"/>
|
||||||
+<html:div id="zen-overflow-extensions-list" skipintoolbarset="true"></html:div>
|
|
||||||
+<html:div id="zen-essentials" skipintoolbarset="true"></html:div>
|
+<html:div id="zen-essentials" skipintoolbarset="true"></html:div>
|
||||||
+<html:div id="zen-tabs-wrapper">
|
+<html:div id="zen-tabs-wrapper">
|
||||||
<hbox class="tab-drop-indicator" hidden="true"/>
|
<hbox class="tab-drop-indicator" hidden="true"/>
|
||||||
@@ -43,7 +43,7 @@ index edeb473e46b3aa4b12eb4b59ce62e5ae48edd2a1..d2c6c8c150e732b77d65420520ca4905
|
|||||||
</tabs>
|
</tabs>
|
||||||
|
|
||||||
<toolbarbutton id="new-tab-button"
|
<toolbarbutton id="new-tab-button"
|
||||||
@@ -114,9 +121,10 @@
|
@@ -115,9 +122,10 @@
|
||||||
|
|
||||||
<toolbarbutton class="content-analysis-indicator toolbarbutton-1 content-analysis-indicator-icon"/>
|
<toolbarbutton class="content-analysis-indicator toolbarbutton-1 content-analysis-indicator-icon"/>
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/navigator-toolbox.js b/browser/base/content/navigator-toolbox.js
|
diff --git a/browser/base/content/navigator-toolbox.js b/browser/base/content/navigator-toolbox.js
|
||||||
index 362a85c20d8f0633fa78f85578e4cf015fdd0e44..ef7d6ff9e0e9876bc1918e365fd0addcd177cecb 100644
|
index 1982ebadbd2df5ea309db487a4f30288f1af43e5..926c681d4733c84768a23407d60ca05859408b6d 100644
|
||||||
--- a/browser/base/content/navigator-toolbox.js
|
--- a/browser/base/content/navigator-toolbox.js
|
||||||
+++ b/browser/base/content/navigator-toolbox.js
|
+++ b/browser/base/content/navigator-toolbox.js
|
||||||
@@ -11,7 +11,7 @@ ChromeUtils.defineESModuleGetters(this, {
|
@@ -10,7 +10,7 @@ ChromeUtils.defineESModuleGetters(this, {
|
||||||
document.addEventListener(
|
document.addEventListener(
|
||||||
"DOMContentLoaded",
|
"DOMContentLoaded",
|
||||||
() => {
|
() => {
|
||||||
@@ -11,7 +11,7 @@ index 362a85c20d8f0633fa78f85578e4cf015fdd0e44..ef7d6ff9e0e9876bc1918e365fd0addc
|
|||||||
const widgetOverflow = document.getElementById("widget-overflow");
|
const widgetOverflow = document.getElementById("widget-overflow");
|
||||||
|
|
||||||
function onPopupShowing(event) {
|
function onPopupShowing(event) {
|
||||||
@@ -189,6 +189,7 @@ document.addEventListener(
|
@@ -188,6 +188,7 @@ document.addEventListener(
|
||||||
#forward-button,
|
#forward-button,
|
||||||
#reload-button ,
|
#reload-button ,
|
||||||
#reader-mode-button,
|
#reader-mode-button,
|
||||||
@@ -19,7 +19,7 @@ index 362a85c20d8f0633fa78f85578e4cf015fdd0e44..ef7d6ff9e0e9876bc1918e365fd0addc
|
|||||||
#picture-in-picture-button,
|
#picture-in-picture-button,
|
||||||
#urlbar-zoom-button,
|
#urlbar-zoom-button,
|
||||||
#star-button-box,
|
#star-button-box,
|
||||||
@@ -215,6 +216,17 @@ document.addEventListener(
|
@@ -214,6 +215,17 @@ document.addEventListener(
|
||||||
gBrowser.handleNewTabMiddleClick(element, event);
|
gBrowser.handleNewTabMiddleClick(element, event);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ index 362a85c20d8f0633fa78f85578e4cf015fdd0e44..ef7d6ff9e0e9876bc1918e365fd0addc
|
|||||||
case "back-button":
|
case "back-button":
|
||||||
case "forward-button":
|
case "forward-button":
|
||||||
case "reload-button":
|
case "reload-button":
|
||||||
@@ -330,6 +342,7 @@ document.addEventListener(
|
@@ -329,6 +341,7 @@ document.addEventListener(
|
||||||
#downloads-button,
|
#downloads-button,
|
||||||
#fxa-toolbar-menu-button,
|
#fxa-toolbar-menu-button,
|
||||||
#unified-extensions-button,
|
#unified-extensions-button,
|
||||||
@@ -45,7 +45,7 @@ index 362a85c20d8f0633fa78f85578e4cf015fdd0e44..ef7d6ff9e0e9876bc1918e365fd0addc
|
|||||||
#library-button,
|
#library-button,
|
||||||
#split-view-button,
|
#split-view-button,
|
||||||
#smartwindow-ask-button
|
#smartwindow-ask-button
|
||||||
@@ -414,6 +427,16 @@ document.addEventListener(
|
@@ -413,6 +426,16 @@ document.addEventListener(
|
||||||
gUnifiedExtensions.togglePanel(event);
|
gUnifiedExtensions.togglePanel(event);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/nsContextMenu.sys.mjs b/browser/base/content/nsContextMenu.sys.mjs
|
diff --git a/browser/base/content/nsContextMenu.sys.mjs b/browser/base/content/nsContextMenu.sys.mjs
|
||||||
index 5ee0ee4246d1c267b75328666a7f7f54e6f93246..ae778b88e1d295cdae2d0433d943ac467081b126 100644
|
index 97cb36e2ed48d00454e169fb0470b47ac994b883..1811a92885620c8a916937f467ebb7d0eb0d3a0e 100644
|
||||||
--- a/browser/base/content/nsContextMenu.sys.mjs
|
--- a/browser/base/content/nsContextMenu.sys.mjs
|
||||||
+++ b/browser/base/content/nsContextMenu.sys.mjs
|
+++ b/browser/base/content/nsContextMenu.sys.mjs
|
||||||
@@ -370,6 +370,9 @@ export class nsContextMenu {
|
@@ -369,6 +369,9 @@ export class nsContextMenu {
|
||||||
this.initTextFragmentItems();
|
this.initTextFragmentItems();
|
||||||
this.pdfjsContextMenu.initItems();
|
this.pdfjsContextMenu.initItems();
|
||||||
|
|
||||||
|
|||||||
@@ -18,4 +18,5 @@
|
|||||||
#include ../../../zen/images/jar.inc.mn
|
#include ../../../zen/images/jar.inc.mn
|
||||||
#include ../../../zen/vendor/jar.inc.mn
|
#include ../../../zen/vendor/jar.inc.mn
|
||||||
#include ../../../zen/fonts/jar.inc.mn
|
#include ../../../zen/fonts/jar.inc.mn
|
||||||
|
#include ../../../zen/boosts/jar.inc.mn
|
||||||
#include ../../../zen/live-folders/jar.inc.mn
|
#include ../../../zen/live-folders/jar.inc.mn
|
||||||
|
|||||||
@@ -9,5 +9,6 @@
|
|||||||
<link rel="localization" href="browser/zen-menubar.ftl"/>
|
<link rel="localization" href="browser/zen-menubar.ftl"/>
|
||||||
<link rel="localization" href="browser/zen-vertical-tabs.ftl"/>
|
<link rel="localization" href="browser/zen-vertical-tabs.ftl"/>
|
||||||
<link rel="localization" href="browser/zen-folders.ftl"/>
|
<link rel="localization" href="browser/zen-folders.ftl"/>
|
||||||
|
<link rel="localization" href="browser/zen-boosts.ftl"/>
|
||||||
<link rel="localization" href="browser/zen-live-folders.ftl"/>
|
<link rel="localization" href="browser/zen-live-folders.ftl"/>
|
||||||
</linkset>
|
</linkset>
|
||||||
|
|||||||
@@ -75,6 +75,14 @@
|
|||||||
data-l10n-id="unified-extensions-manage-extensions"
|
data-l10n-id="unified-extensions-manage-extensions"
|
||||||
hidden="true" />
|
hidden="true" />
|
||||||
</vbox>
|
</vbox>
|
||||||
|
<vbox class="zen-site-data-section">
|
||||||
|
<hbox class="zen-site-data-section-header">
|
||||||
|
<label data-l10n-id="zen-site-data-boosts" flex="1" />
|
||||||
|
</hbox>
|
||||||
|
<vbox id="zen-site-data-boost-list">
|
||||||
|
<!-- settings will be inserted here -->
|
||||||
|
</vbox>
|
||||||
|
</vbox>
|
||||||
<vbox class="zen-site-data-section">
|
<vbox class="zen-site-data-section">
|
||||||
<hbox class="zen-site-data-section-header">
|
<hbox class="zen-site-data-section-header">
|
||||||
<label data-l10n-id="zen-site-data-settings" flex="1" />
|
<label data-l10n-id="zen-site-data-settings" flex="1" />
|
||||||
@@ -87,6 +95,8 @@
|
|||||||
<hbox id="zen-site-data-footer">
|
<hbox id="zen-site-data-footer">
|
||||||
<toolbarbutton id="zen-site-data-security-info"
|
<toolbarbutton id="zen-site-data-security-info"
|
||||||
class="subviewbutton zen-interactive-button" />
|
class="subviewbutton zen-interactive-button" />
|
||||||
|
<toolbarbutton id="zen-site-data-boost" data-l10n-id="zen-site-data-create-boost"
|
||||||
|
class="subviewbutton zen-interactive-button" />
|
||||||
<toolbarbutton id="zen-site-data-actions"
|
<toolbarbutton id="zen-site-data-actions"
|
||||||
class="subviewbutton zen-interactive-button"
|
class="subviewbutton zen-interactive-button"
|
||||||
closemenu="none"
|
closemenu="none"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/moz.build b/browser/base/moz.build
|
diff --git a/browser/base/moz.build b/browser/base/moz.build
|
||||||
index 086b462e706bb46727d0fed85b4c98debaeaf721..44a4fcb9b8181678667ee11b0443eed681dd2a43 100644
|
index 286e17552e2ab2d7e44c6ba99c84630cadd24e94..076f813aea971db1e1c1429fc0b64c1784a22722 100644
|
||||||
--- a/browser/base/moz.build
|
--- a/browser/base/moz.build
|
||||||
+++ b/browser/base/moz.build
|
+++ b/browser/base/moz.build
|
||||||
@@ -82,3 +82,5 @@ DEFINES["MOZ_APP_VERSION_DISPLAY"] = CONFIG["MOZ_APP_VERSION_DISPLAY"]
|
@@ -78,3 +78,5 @@ DEFINES["MOZ_APP_VERSION_DISPLAY"] = CONFIG["MOZ_APP_VERSION_DISPLAY"]
|
||||||
DEFINES["APP_LICENSE_BLOCK"] = "%s/content/overrides/app-license.html" % SRCDIR
|
DEFINES["APP_LICENSE_BLOCK"] = "%s/content/overrides/app-license.html" % SRCDIR
|
||||||
|
|
||||||
JAR_MANIFESTS += ["jar.mn"]
|
JAR_MANIFESTS += ["jar.mn"]
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/BrowserContentHandler.sys.mjs b/browser/components/BrowserContentHandler.sys.mjs
|
diff --git a/browser/components/BrowserContentHandler.sys.mjs b/browser/components/BrowserContentHandler.sys.mjs
|
||||||
index 2152327b42c884456785ef065422e3ca6cc8c50b..932150495d23c0a63987abf14b3dc8a12eb42d6c 100644
|
index 430c6877c81824d8ab318cacc997d4eda4cb6a11..e8a195e1fe09952b90a0d73d13c6c15da2006bd4 100644
|
||||||
--- a/browser/components/BrowserContentHandler.sys.mjs
|
--- a/browser/components/BrowserContentHandler.sys.mjs
|
||||||
+++ b/browser/components/BrowserContentHandler.sys.mjs
|
+++ b/browser/components/BrowserContentHandler.sys.mjs
|
||||||
@@ -603,6 +603,28 @@ nsBrowserContentHandler.prototype = {
|
@@ -603,6 +603,28 @@ nsBrowserContentHandler.prototype = {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
|
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
|
||||||
index 75cdab491d35dc30be6c0a4ec6ab88e6fb4239aa..9c26fb1d6032bdecd6c552bd25694f45e3822d50 100644
|
index af635211046f9f1b2d473a14e8170837cd0d93cd..f07514a7e3ab55aa3321f0a7c0c092e91c2961ce 100644
|
||||||
--- a/browser/components/BrowserGlue.sys.mjs
|
--- a/browser/components/BrowserGlue.sys.mjs
|
||||||
+++ b/browser/components/BrowserGlue.sys.mjs
|
+++ b/browser/components/BrowserGlue.sys.mjs
|
||||||
@@ -8,6 +8,7 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
@@ -8,6 +8,7 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||||
@@ -10,7 +10,7 @@ index 75cdab491d35dc30be6c0a4ec6ab88e6fb4239aa..9c26fb1d6032bdecd6c552bd25694f45
|
|||||||
AboutHomeStartupCache: "resource:///modules/AboutHomeStartupCache.sys.mjs",
|
AboutHomeStartupCache: "resource:///modules/AboutHomeStartupCache.sys.mjs",
|
||||||
AWToolbarButton: "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs",
|
AWToolbarButton: "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs",
|
||||||
ASRouter: "resource:///modules/asrouter/ASRouter.sys.mjs",
|
ASRouter: "resource:///modules/asrouter/ASRouter.sys.mjs",
|
||||||
@@ -1457,7 +1458,7 @@ BrowserGlue.prototype = {
|
@@ -1458,7 +1459,7 @@ BrowserGlue.prototype = {
|
||||||
windowcount++;
|
windowcount++;
|
||||||
let tabbrowser = win.gBrowser;
|
let tabbrowser = win.gBrowser;
|
||||||
if (tabbrowser) {
|
if (tabbrowser) {
|
||||||
@@ -19,7 +19,7 @@ index 75cdab491d35dc30be6c0a4ec6ab88e6fb4239aa..9c26fb1d6032bdecd6c552bd25694f45
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1622,6 +1623,8 @@ BrowserGlue.prototype = {
|
@@ -1623,6 +1624,8 @@ BrowserGlue.prototype = {
|
||||||
} else if (profileDataVersion < APP_DATA_VERSION) {
|
} else if (profileDataVersion < APP_DATA_VERSION) {
|
||||||
lazy.ProfileDataUpgrader.upgrade(profileDataVersion, APP_DATA_VERSION);
|
lazy.ProfileDataUpgrader.upgrade(profileDataVersion, APP_DATA_VERSION);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/aboutwelcome/content/aboutwelcome.css b/browser/components/aboutwelcome/content/aboutwelcome.css
|
diff --git a/browser/components/aboutwelcome/content/aboutwelcome.css b/browser/components/aboutwelcome/content/aboutwelcome.css
|
||||||
index e5bbb4c217ae7b05a2da79b332d72cc5429f061f..ea44d83dd0825a3bc950f6005025498644c7fc67 100644
|
index 98497769b135efd3200607ee2cf50e82d06ed3fd..68e0778cfc4dc70935a3d48e79542b4133b293d2 100644
|
||||||
--- a/browser/components/aboutwelcome/content/aboutwelcome.css
|
--- a/browser/components/aboutwelcome/content/aboutwelcome.css
|
||||||
+++ b/browser/components/aboutwelcome/content/aboutwelcome.css
|
+++ b/browser/components/aboutwelcome/content/aboutwelcome.css
|
||||||
@@ -331,6 +331,11 @@ panel#feature-callout {
|
@@ -330,6 +330,11 @@ panel#feature-callout {
|
||||||
--panel-shadow-margin: 6px;
|
--panel-shadow-margin: 6px;
|
||||||
--panel-arrow-space: calc(var(--panel-shadow-margin) + var(--arrow-visible-height) - 1.5px);
|
--panel-arrow-space: calc(var(--panel-shadow-margin) + var(--arrow-visible-height) - 1.5px);
|
||||||
--panel-margin-offset: calc(-1 * (var(--panel-shadow-margin) + var(--arrow-corner-distance) + (var(--arrow-width) / 2)));
|
--panel-margin-offset: calc(-1 * (var(--panel-shadow-margin) + var(--arrow-corner-distance) + (var(--arrow-width) / 2)));
|
||||||
@@ -14,7 +14,7 @@ index e5bbb4c217ae7b05a2da79b332d72cc5429f061f..ea44d83dd0825a3bc950f60050254986
|
|||||||
}
|
}
|
||||||
|
|
||||||
panel#feature-callout::part(content) {
|
panel#feature-callout::part(content) {
|
||||||
@@ -518,6 +523,12 @@ div#feature-callout.hidden {
|
@@ -517,6 +522,12 @@ div#feature-callout.hidden {
|
||||||
width: 25em;
|
width: 25em;
|
||||||
gap: 16px;
|
gap: 16px;
|
||||||
background: var(--fc-background);
|
background: var(--fc-background);
|
||||||
@@ -27,7 +27,7 @@ index e5bbb4c217ae7b05a2da79b332d72cc5429f061f..ea44d83dd0825a3bc950f60050254986
|
|||||||
}
|
}
|
||||||
#feature-callout .screen[pos=callout] .section-main .main-content .main-content-inner {
|
#feature-callout .screen[pos=callout] .section-main .main-content .main-content-inner {
|
||||||
gap: 12px;
|
gap: 12px;
|
||||||
@@ -850,6 +861,10 @@ panel#feature-callout::part(content) {
|
@@ -933,6 +944,10 @@ panel#feature-callout::part(content) {
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
transform: rotate(45deg);
|
transform: rotate(45deg);
|
||||||
transform-style: preserve-3d;
|
transform-style: preserve-3d;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs b/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs
|
diff --git a/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs b/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs
|
||||||
index 4081f59d041e91291d5e6b6b8c9ad96db5b6b2dc..d420a2fe4ca552b7f24ce9fbefc5f7302d7f2c8e 100644
|
index 97710ab0570a1a477ef4ed74a78c16448dfb7674..7d8ba5b1f2f330175fb57b906bb572fd7e1d36c8 100644
|
||||||
--- a/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs
|
--- a/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs
|
||||||
+++ b/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs
|
+++ b/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs
|
||||||
@@ -269,6 +269,7 @@ export const AIWindow = {
|
@@ -277,6 +277,7 @@ export const AIWindow = {
|
||||||
},
|
},
|
||||||
|
|
||||||
_updateToolbarButtonPositions(win, { isToggling = false } = {}) {
|
_updateToolbarButtonPositions(win, { isToggling = false } = {}) {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
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 db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f535e9d9e 100644
|
index 5905271a3343efa04b45f5d1a63bfca3de342755..af76922c1ba0b35a0072ec044f7d0860f9295d9d 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
|
||||||
@@ -14,6 +14,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
|
@@ -13,6 +13,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
|
||||||
BrowserUsageTelemetry: "resource:///modules/BrowserUsageTelemetry.sys.mjs",
|
BrowserUsageTelemetry: "resource:///modules/BrowserUsageTelemetry.sys.mjs",
|
||||||
CustomizableWidgets:
|
CustomizableWidgets:
|
||||||
"moz-src:///browser/components/customizableui/CustomizableWidgets.sys.mjs",
|
"moz-src:///browser/components/customizableui/CustomizableWidgets.sys.mjs",
|
||||||
@@ -10,7 +10,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
HomePage: "resource:///modules/HomePage.sys.mjs",
|
HomePage: "resource:///modules/HomePage.sys.mjs",
|
||||||
PanelMultiView:
|
PanelMultiView:
|
||||||
"moz-src:///browser/components/customizableui/PanelMultiView.sys.mjs",
|
"moz-src:///browser/components/customizableui/PanelMultiView.sys.mjs",
|
||||||
@@ -348,7 +349,7 @@ var CustomizableUIInternal = {
|
@@ -347,7 +348,7 @@ var CustomizableUIInternal = {
|
||||||
{
|
{
|
||||||
type: CustomizableUI.TYPE_PANEL,
|
type: CustomizableUI.TYPE_PANEL,
|
||||||
defaultPlacements: [],
|
defaultPlacements: [],
|
||||||
@@ -19,7 +19,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
},
|
},
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
@@ -358,20 +359,15 @@ var CustomizableUIInternal = {
|
@@ -357,20 +358,15 @@ var CustomizableUIInternal = {
|
||||||
"back-button",
|
"back-button",
|
||||||
"forward-button",
|
"forward-button",
|
||||||
"stop-reload-button",
|
"stop-reload-button",
|
||||||
@@ -41,7 +41,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
this.registerArea(
|
this.registerArea(
|
||||||
CustomizableUI.AREA_NAVBAR,
|
CustomizableUI.AREA_NAVBAR,
|
||||||
{
|
{
|
||||||
@@ -379,8 +375,6 @@ var CustomizableUIInternal = {
|
@@ -378,8 +374,6 @@ var CustomizableUIInternal = {
|
||||||
overflowable: true,
|
overflowable: true,
|
||||||
defaultPlacements: navbarPlacements,
|
defaultPlacements: navbarPlacements,
|
||||||
verticalTabsDefaultPlacements: [
|
verticalTabsDefaultPlacements: [
|
||||||
@@ -50,7 +50,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
],
|
],
|
||||||
defaultCollapsed: false,
|
defaultCollapsed: false,
|
||||||
},
|
},
|
||||||
@@ -404,10 +398,7 @@ var CustomizableUIInternal = {
|
@@ -403,10 +397,7 @@ var CustomizableUIInternal = {
|
||||||
{
|
{
|
||||||
type: CustomizableUI.TYPE_TOOLBAR,
|
type: CustomizableUI.TYPE_TOOLBAR,
|
||||||
defaultPlacements: [
|
defaultPlacements: [
|
||||||
@@ -61,7 +61,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
],
|
],
|
||||||
verticalTabsDefaultPlacements: [],
|
verticalTabsDefaultPlacements: [],
|
||||||
defaultCollapsed: null,
|
defaultCollapsed: null,
|
||||||
@@ -489,6 +480,7 @@ var CustomizableUIInternal = {
|
@@ -486,6 +477,7 @@ var CustomizableUIInternal = {
|
||||||
CustomizableUI.AREA_NAVBAR,
|
CustomizableUI.AREA_NAVBAR,
|
||||||
CustomizableUI.AREA_BOOKMARKS,
|
CustomizableUI.AREA_BOOKMARKS,
|
||||||
CustomizableUI.AREA_TABSTRIP,
|
CustomizableUI.AREA_TABSTRIP,
|
||||||
@@ -69,7 +69,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
]);
|
]);
|
||||||
if (AppConstants.platform != "macosx") {
|
if (AppConstants.platform != "macosx") {
|
||||||
toolbars.add(CustomizableUI.AREA_MENUBAR);
|
toolbars.add(CustomizableUI.AREA_MENUBAR);
|
||||||
@@ -1265,6 +1257,9 @@ var CustomizableUIInternal = {
|
@@ -1262,6 +1254,9 @@ var CustomizableUIInternal = {
|
||||||
placements = gPlacements.get(area);
|
placements = gPlacements.get(area);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
// For toolbars that need it, mark as dirty.
|
// For toolbars that need it, mark as dirty.
|
||||||
let defaultPlacements = areaProperties.get("defaultPlacements");
|
let defaultPlacements = areaProperties.get("defaultPlacements");
|
||||||
if (
|
if (
|
||||||
@@ -1772,7 +1767,6 @@ var CustomizableUIInternal = {
|
@@ -1769,7 +1764,6 @@ var CustomizableUIInternal = {
|
||||||
lazy.log.info(
|
lazy.log.info(
|
||||||
"Widget " + aWidgetId + " not found, unable to remove from " + aArea
|
"Widget " + aWidgetId + " not found, unable to remove from " + aArea
|
||||||
);
|
);
|
||||||
@@ -87,7 +87,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.notifyDOMChange(widgetNode, null, container, true, () => {
|
this.notifyDOMChange(widgetNode, null, container, true, () => {
|
||||||
@@ -1782,7 +1776,7 @@ var CustomizableUIInternal = {
|
@@ -1779,7 +1773,7 @@ var CustomizableUIInternal = {
|
||||||
// We also need to remove the panel context menu if it's there:
|
// We also need to remove the panel context menu if it's there:
|
||||||
this.ensureButtonContextMenu(widgetNode);
|
this.ensureButtonContextMenu(widgetNode);
|
||||||
if (gPalette.has(aWidgetId) || this.isSpecialWidget(aWidgetId)) {
|
if (gPalette.has(aWidgetId) || this.isSpecialWidget(aWidgetId)) {
|
||||||
@@ -96,7 +96,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
} else {
|
} else {
|
||||||
window.gNavToolbox.palette.appendChild(widgetNode);
|
window.gNavToolbox.palette.appendChild(widgetNode);
|
||||||
}
|
}
|
||||||
@@ -1950,16 +1944,16 @@ var CustomizableUIInternal = {
|
@@ -1947,16 +1941,16 @@ var CustomizableUIInternal = {
|
||||||
elem.setAttribute("skipintoolbarset", "true");
|
elem.setAttribute("skipintoolbarset", "true");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -116,7 +116,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
// Handle initial state of vertical tabs.
|
// Handle initial state of vertical tabs.
|
||||||
if (isVerticalTabs) {
|
if (isVerticalTabs) {
|
||||||
// Show the vertical tabs toolbar
|
// Show the vertical tabs toolbar
|
||||||
@@ -2201,6 +2195,10 @@ var CustomizableUIInternal = {
|
@@ -2198,6 +2192,10 @@ var CustomizableUIInternal = {
|
||||||
* The identifier string of the area that aNode is being inserted into.
|
* The identifier string of the area that aNode is being inserted into.
|
||||||
*/
|
*/
|
||||||
insertWidgetBefore(aNode, aNextNode, aContainer, aAreaId) {
|
insertWidgetBefore(aNode, aNextNode, aContainer, aAreaId) {
|
||||||
@@ -127,7 +127,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
this.notifyDOMChange(aNode, aNextNode, aContainer, false, () => {
|
this.notifyDOMChange(aNode, aNextNode, aContainer, false, () => {
|
||||||
this.setLocationAttributes(aNode, aAreaId);
|
this.setLocationAttributes(aNode, aAreaId);
|
||||||
aContainer.insertBefore(aNode, aNextNode);
|
aContainer.insertBefore(aNode, aNextNode);
|
||||||
@@ -4565,7 +4563,7 @@ var CustomizableUIInternal = {
|
@@ -4562,7 +4560,7 @@ var CustomizableUIInternal = {
|
||||||
* For all registered areas, builds those areas to reflect the current
|
* For all registered areas, builds those areas to reflect the current
|
||||||
* placement state of all widgets.
|
* placement state of all widgets.
|
||||||
*/
|
*/
|
||||||
@@ -136,7 +136,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
for (let [areaId, areaNodes] of gBuildAreas) {
|
for (let [areaId, areaNodes] of gBuildAreas) {
|
||||||
let placements = gPlacements.get(areaId);
|
let placements = gPlacements.get(areaId);
|
||||||
let isFirstChangedToolbar = true;
|
let isFirstChangedToolbar = true;
|
||||||
@@ -4576,7 +4574,7 @@ var CustomizableUIInternal = {
|
@@ -4573,7 +4571,7 @@ var CustomizableUIInternal = {
|
||||||
if (area.get("type") == CustomizableUI.TYPE_TOOLBAR) {
|
if (area.get("type") == CustomizableUI.TYPE_TOOLBAR) {
|
||||||
let defaultCollapsed = area.get("defaultCollapsed");
|
let defaultCollapsed = area.get("defaultCollapsed");
|
||||||
let win = areaNode.ownerGlobal;
|
let win = areaNode.ownerGlobal;
|
||||||
@@ -145,7 +145,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
win.setToolbarVisibility(
|
win.setToolbarVisibility(
|
||||||
areaNode,
|
areaNode,
|
||||||
typeof defaultCollapsed == "string"
|
typeof defaultCollapsed == "string"
|
||||||
@@ -5867,6 +5865,7 @@ export var CustomizableUI = {
|
@@ -5864,6 +5862,7 @@ export var CustomizableUI = {
|
||||||
unregisterArea(aName, aDestroyPlacements) {
|
unregisterArea(aName, aDestroyPlacements) {
|
||||||
CustomizableUIInternal.unregisterArea(aName, aDestroyPlacements);
|
CustomizableUIInternal.unregisterArea(aName, aDestroyPlacements);
|
||||||
},
|
},
|
||||||
@@ -153,7 +153,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
/**
|
/**
|
||||||
* Add a widget to an area.
|
* Add a widget to an area.
|
||||||
* If the area to which you try to add is not known to CustomizableUI,
|
* If the area to which you try to add is not known to CustomizableUI,
|
||||||
@@ -7830,7 +7829,9 @@ class OverflowableToolbar {
|
@@ -7827,7 +7826,9 @@ class OverflowableToolbar {
|
||||||
);
|
);
|
||||||
|
|
||||||
if (webExtList && CustomizableUI.isWebExtensionWidget(child.id)) {
|
if (webExtList && CustomizableUI.isWebExtensionWidget(child.id)) {
|
||||||
@@ -163,7 +163,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
webExtList.insertBefore(child, webExtList.firstElementChild);
|
webExtList.insertBefore(child, webExtList.firstElementChild);
|
||||||
} else {
|
} else {
|
||||||
child.setAttribute("cui-anchorid", this.#defaultListButton.id);
|
child.setAttribute("cui-anchorid", this.#defaultListButton.id);
|
||||||
@@ -7890,7 +7891,7 @@ class OverflowableToolbar {
|
@@ -7887,7 +7888,7 @@ class OverflowableToolbar {
|
||||||
) {
|
) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -172,7 +172,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
if (child != aExceptChild) {
|
if (child != aExceptChild) {
|
||||||
sum += getInlineSize(child);
|
sum += getInlineSize(child);
|
||||||
}
|
}
|
||||||
@@ -7914,11 +7915,11 @@ class OverflowableToolbar {
|
@@ -7911,11 +7912,11 @@ class OverflowableToolbar {
|
||||||
parseFloat(style.paddingLeft) -
|
parseFloat(style.paddingLeft) -
|
||||||
parseFloat(style.paddingRight) -
|
parseFloat(style.paddingRight) -
|
||||||
toolbarChildrenWidth;
|
toolbarChildrenWidth;
|
||||||
@@ -186,11 +186,34 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
});
|
});
|
||||||
|
|
||||||
lazy.log.debug(
|
lazy.log.debug(
|
||||||
@@ -7933,7 +7934,14 @@ class OverflowableToolbar {
|
@@ -7930,7 +7931,37 @@ class OverflowableToolbar {
|
||||||
Math.max(targetWidth, targetChildrenWidth)
|
Math.max(targetWidth, targetChildrenWidth)
|
||||||
);
|
);
|
||||||
totalAvailWidth = Math.ceil(totalAvailWidth);
|
totalAvailWidth = Math.ceil(totalAvailWidth);
|
||||||
- let isOverflowing = targetContentWidth > totalAvailWidth;
|
- let isOverflowing = targetContentWidth > totalAvailWidth;
|
||||||
|
+ if (this.#target.id == 'nav-bar-customization-target' &&
|
||||||
|
+ win.gZenVerticalTabsManager._hasSetSingleToolbar &&
|
||||||
|
+ Services.prefs.getBoolPref("zen.view.overflow-webext-toolbar", true) &&
|
||||||
|
+ !win.gURLBar.hasAttribute("breakout-extend")) {
|
||||||
|
+ const availSelectors = ":is(#page-action-buttons, #zen-copy-url-button, .unified-extensions-item)";
|
||||||
|
+ const width = [
|
||||||
|
+ ...win.gURLBar._inputContainer.querySelectorAll(availSelectors),
|
||||||
|
+ ...win.document.getElementById("zen-overflow-extensions-list").querySelectorAll(availSelectors)
|
||||||
|
+ ].length * 26;
|
||||||
|
+ const urlbarWidth = win.document.getElementById("urlbar-container").getBoundingClientRect().width;
|
||||||
|
+ let overflowing = width > urlbarWidth * (Services.prefs.getIntPref("zen.view.overflow-webext-toolbar-threshold", 60) / 100);
|
||||||
|
+ let wasOverflowing = win.gURLBar._isOverflowingItems;
|
||||||
|
+ win.gURLBar._isOverflowingItems = overflowing;
|
||||||
|
+ if (wasOverflowing !== overflowing) {
|
||||||
|
+ const items = gPlacements.get("nav-bar");
|
||||||
|
+ for (let item of items) {
|
||||||
|
+ let [, node] = CustomizableUIInternal.getWidgetNode(item, win);
|
||||||
|
+ if (node?.hasAttribute("data-extensionid")) {
|
||||||
|
+ win.gZenVerticalTabsManager.appendCustomizableItem(win.document.getElementById("zen-sidebar-top-buttons-customization-target"), node);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
+ if (win.gZenVerticalTabsManager._hasSetSingleToolbar && this.#toolbar.id == 'nav-bar') return { isOverflowing: false, targetContentWidth, totalAvailWidth };
|
+ if (win.gZenVerticalTabsManager._hasSetSingleToolbar && this.#toolbar.id == 'nav-bar') return { isOverflowing: false, targetContentWidth, totalAvailWidth };
|
||||||
+ let isOverflowing = targetContentWidth + (win.gZenVerticalTabsManager._hasSetSingleToolbar ? 0.1 : 0) > totalAvailWidth;
|
+ let isOverflowing = targetContentWidth + (win.gZenVerticalTabsManager._hasSetSingleToolbar ? 0.1 : 0) > totalAvailWidth;
|
||||||
+ if (win.gZenVerticalTabsManager._hasSetSingleToolbar &&
|
+ if (win.gZenVerticalTabsManager._hasSetSingleToolbar &&
|
||||||
@@ -202,7 +225,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
return { isOverflowing, targetContentWidth, totalAvailWidth };
|
return { isOverflowing, targetContentWidth, totalAvailWidth };
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7994,7 +8002,11 @@ class OverflowableToolbar {
|
@@ -7991,7 +8022,11 @@ class OverflowableToolbar {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -215,7 +238,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
lazy.log.debug(
|
lazy.log.debug(
|
||||||
`Need ${minSize} but width is ${totalAvailWidth} so bailing`
|
`Need ${minSize} but width is ${totalAvailWidth} so bailing`
|
||||||
);
|
);
|
||||||
@@ -8027,7 +8039,7 @@ class OverflowableToolbar {
|
@@ -8024,7 +8059,7 @@ class OverflowableToolbar {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!inserted) {
|
if (!inserted) {
|
||||||
@@ -224,7 +247,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
}
|
}
|
||||||
child.removeAttribute("cui-anchorid");
|
child.removeAttribute("cui-anchorid");
|
||||||
child.removeAttribute("overflowedItem");
|
child.removeAttribute("overflowedItem");
|
||||||
@@ -8153,6 +8165,9 @@ class OverflowableToolbar {
|
@@ -8150,6 +8185,9 @@ class OverflowableToolbar {
|
||||||
* if no such list exists.
|
* if no such list exists.
|
||||||
*/
|
*/
|
||||||
get #webExtList() {
|
get #webExtList() {
|
||||||
@@ -234,7 +257,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
if (!this.#webExtListRef) {
|
if (!this.#webExtListRef) {
|
||||||
let targetID = this.#toolbar.getAttribute("addon-webext-overflowtarget");
|
let targetID = this.#toolbar.getAttribute("addon-webext-overflowtarget");
|
||||||
if (!targetID) {
|
if (!targetID) {
|
||||||
@@ -8164,6 +8179,9 @@ class OverflowableToolbar {
|
@@ -8161,6 +8199,9 @@ class OverflowableToolbar {
|
||||||
let win = this.#toolbar.ownerGlobal;
|
let win = this.#toolbar.ownerGlobal;
|
||||||
let { panel } = win.gUnifiedExtensions;
|
let { panel } = win.gUnifiedExtensions;
|
||||||
this.#webExtListRef = panel.querySelector(`#${targetID}`);
|
this.#webExtListRef = panel.querySelector(`#${targetID}`);
|
||||||
@@ -244,7 +267,7 @@ index db617c65b89643015d91b0f6a20eab7d7a1b598f..9acef640800bdc75f477a8e14e73f08f
|
|||||||
}
|
}
|
||||||
return this.#webExtListRef;
|
return this.#webExtListRef;
|
||||||
}
|
}
|
||||||
@@ -8372,7 +8390,7 @@ class OverflowableToolbar {
|
@@ -8369,7 +8410,7 @@ class OverflowableToolbar {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "mousedown": {
|
case "mousedown": {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/customizableui/content/panelUI.js b/browser/components/customizableui/content/panelUI.js
|
diff --git a/browser/components/customizableui/content/panelUI.js b/browser/components/customizableui/content/panelUI.js
|
||||||
index 5056ff7fba62f8340c58cbaa30833aad12b4fc70..32dbd206cbc8576ec5a5f958f43670fa90c050b8 100644
|
index 5a469ce153dada011144fb4b66747c41e778ff1e..83bedb74df5b4064e8a0580f8b2ee9c0c27f81a8 100644
|
||||||
--- a/browser/components/customizableui/content/panelUI.js
|
--- a/browser/components/customizableui/content/panelUI.js
|
||||||
+++ b/browser/components/customizableui/content/panelUI.js
|
+++ b/browser/components/customizableui/content/panelUI.js
|
||||||
@@ -647,10 +647,12 @@ const PanelUI = {
|
@@ -666,10 +666,12 @@ const PanelUI = {
|
||||||
if (hasKids && !this.navbar.hasAttribute("nonemptyoverflow")) {
|
if (hasKids && !this.navbar.hasAttribute("nonemptyoverflow")) {
|
||||||
this.navbar.setAttribute("nonemptyoverflow", "true");
|
this.navbar.setAttribute("nonemptyoverflow", "true");
|
||||||
this.overflowPanel.setAttribute("hasfixeditems", "true");
|
this.overflowPanel.setAttribute("hasfixeditems", "true");
|
||||||
@@ -15,7 +15,7 @@ index 5056ff7fba62f8340c58cbaa30833aad12b4fc70..32dbd206cbc8576ec5a5f958f43670fa
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -998,7 +1000,7 @@ const PanelUI = {
|
@@ -1017,7 +1019,7 @@ const PanelUI = {
|
||||||
el.removeAttribute("data-lazy-l10n-id");
|
el.removeAttribute("data-lazy-l10n-id");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js
|
diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js
|
||||||
index 3ce6ae3271bb0b3873118a94363a9552877559f8..9e62181986d039cc171dfe87de1d95c1f5aacd8c 100644
|
index d1209bc2c828a19ade8cc027cdea6f42007f0de6..0a2def2f3c32618304cd8a263906b0c6e040dcbc 100644
|
||||||
--- a/browser/components/extensions/parent/ext-browser.js
|
--- a/browser/components/extensions/parent/ext-browser.js
|
||||||
+++ b/browser/components/extensions/parent/ext-browser.js
|
+++ b/browser/components/extensions/parent/ext-browser.js
|
||||||
@@ -354,6 +354,7 @@ class TabTracker extends TabTrackerBase {
|
@@ -352,6 +352,7 @@ class TabTracker extends TabTrackerBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
getId(nativeTab) {
|
getId(nativeTab) {
|
||||||
@@ -10,7 +10,7 @@ index 3ce6ae3271bb0b3873118a94363a9552877559f8..9e62181986d039cc171dfe87de1d95c1
|
|||||||
let id = this._tabs.get(nativeTab);
|
let id = this._tabs.get(nativeTab);
|
||||||
if (id) {
|
if (id) {
|
||||||
return id;
|
return id;
|
||||||
@@ -388,6 +389,7 @@ class TabTracker extends TabTrackerBase {
|
@@ -386,6 +387,7 @@ class TabTracker extends TabTrackerBase {
|
||||||
if (nativeTab.ownerGlobal.closed) {
|
if (nativeTab.ownerGlobal.closed) {
|
||||||
throw new Error("Cannot attach ID to a tab in a closed window.");
|
throw new Error("Cannot attach ID to a tab in a closed window.");
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,7 @@ index 3ce6ae3271bb0b3873118a94363a9552877559f8..9e62181986d039cc171dfe87de1d95c1
|
|||||||
|
|
||||||
this._tabs.set(nativeTab, id);
|
this._tabs.set(nativeTab, id);
|
||||||
if (nativeTab.linkedBrowser) {
|
if (nativeTab.linkedBrowser) {
|
||||||
@@ -1278,6 +1280,10 @@ class TabManager extends TabManagerBase {
|
@@ -1276,6 +1278,10 @@ class TabManager extends TabManagerBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
canAccessTab(nativeTab) {
|
canAccessTab(nativeTab) {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/extensions/parent/ext-tabs.js b/browser/components/extensions/parent/ext-tabs.js
|
diff --git a/browser/components/extensions/parent/ext-tabs.js b/browser/components/extensions/parent/ext-tabs.js
|
||||||
index ae004ad48e86aae9d13fc6aa5f77f3095763f829..1e3d14a5c6fcbebbc677e0e57ef2b2176a141a3c 100644
|
index 636e0f8cd1d489658833cf101152576e9fdb52af..e7578a059504b89a852061be037c323a107fe5ce 100644
|
||||||
--- a/browser/components/extensions/parent/ext-tabs.js
|
--- a/browser/components/extensions/parent/ext-tabs.js
|
||||||
+++ b/browser/components/extensions/parent/ext-tabs.js
|
+++ b/browser/components/extensions/parent/ext-tabs.js
|
||||||
@@ -516,6 +516,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
@@ -514,6 +514,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
||||||
}
|
}
|
||||||
|
|
||||||
let tab = tabManager.getWrapper(updatedTab);
|
let tab = tabManager.getWrapper(updatedTab);
|
||||||
@@ -10,7 +10,7 @@ index ae004ad48e86aae9d13fc6aa5f77f3095763f829..1e3d14a5c6fcbebbc677e0e57ef2b217
|
|||||||
|
|
||||||
let changeInfo = {};
|
let changeInfo = {};
|
||||||
for (let prop of needed) {
|
for (let prop of needed) {
|
||||||
@@ -881,6 +882,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
@@ -883,6 +884,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/places/PlacesUIUtils.sys.mjs b/browser/components/places/PlacesUIUtils.sys.mjs
|
diff --git a/browser/components/places/PlacesUIUtils.sys.mjs b/browser/components/places/PlacesUIUtils.sys.mjs
|
||||||
index 2db11dad245dccca246cc8429a7498af9f143d5f..980ec44d9e92639b249bc83f59ea3bfae40dd921 100644
|
index b21f7721dea2d485ccba1fd6fd7e65e17480e3d3..89048d9ea2b4edf2b0cab77f661c07f4d9453c3f 100644
|
||||||
--- a/browser/components/places/PlacesUIUtils.sys.mjs
|
--- a/browser/components/places/PlacesUIUtils.sys.mjs
|
||||||
+++ b/browser/components/places/PlacesUIUtils.sys.mjs
|
+++ b/browser/components/places/PlacesUIUtils.sys.mjs
|
||||||
@@ -61,6 +61,7 @@ class BookmarkState {
|
@@ -61,6 +61,7 @@ class BookmarkState {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/places/content/browserPlacesViews.js b/browser/components/places/content/browserPlacesViews.js
|
diff --git a/browser/components/places/content/browserPlacesViews.js b/browser/components/places/content/browserPlacesViews.js
|
||||||
index 384d599c58cefbf80f5a50489fc401df0c8de8a5..aa85972946c3ff7866fbea86b0372432fb02cd6f 100644
|
index 463913926c58e6c622e0fcc60534921f02814829..0143c48c48e132464226db810f4ea4d2720c3c49 100644
|
||||||
--- a/browser/components/places/content/browserPlacesViews.js
|
--- a/browser/components/places/content/browserPlacesViews.js
|
||||||
+++ b/browser/components/places/content/browserPlacesViews.js
|
+++ b/browser/components/places/content/browserPlacesViews.js
|
||||||
@@ -328,12 +328,23 @@ class PlacesViewBase {
|
@@ -328,12 +328,23 @@ class PlacesViewBase {
|
||||||
@@ -37,7 +37,7 @@ index 384d599c58cefbf80f5a50489fc401df0c8de8a5..aa85972946c3ff7866fbea86b0372432
|
|||||||
} else if (PlacesUtils.containerTypes.includes(type)) {
|
} else if (PlacesUtils.containerTypes.includes(type)) {
|
||||||
element = document.createXULElement("menu");
|
element = document.createXULElement("menu");
|
||||||
element.setAttribute("container", "true");
|
element.setAttribute("container", "true");
|
||||||
@@ -1015,25 +1027,33 @@ class PlacesToolbar extends PlacesViewBase {
|
@@ -1058,25 +1070,33 @@ class PlacesToolbar extends PlacesViewBase {
|
||||||
this._rootElt.firstChild.remove();
|
this._rootElt.firstChild.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ index 384d599c58cefbf80f5a50489fc401df0c8de8a5..aa85972946c3ff7866fbea86b0372432
|
|||||||
);
|
);
|
||||||
++startIndex;
|
++startIndex;
|
||||||
if (elt.localName != "toolbarseparator") {
|
if (elt.localName != "toolbarseparator") {
|
||||||
@@ -1041,15 +1061,12 @@ class PlacesToolbar extends PlacesViewBase {
|
@@ -1084,15 +1104,12 @@ class PlacesToolbar extends PlacesViewBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!elt) {
|
if (!elt) {
|
||||||
@@ -101,7 +101,7 @@ index 384d599c58cefbf80f5a50489fc401df0c8de8a5..aa85972946c3ff7866fbea86b0372432
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1059,7 +1076,7 @@ class PlacesToolbar extends PlacesViewBase {
|
@@ -1102,7 +1119,7 @@ class PlacesToolbar extends PlacesViewBase {
|
||||||
|
|
||||||
let fragment = document.createDocumentFragment();
|
let fragment = document.createDocumentFragment();
|
||||||
for (let i = startIndex; i < limit; ++i) {
|
for (let i = startIndex; i < limit; ++i) {
|
||||||
@@ -110,7 +110,7 @@ index 384d599c58cefbf80f5a50489fc401df0c8de8a5..aa85972946c3ff7866fbea86b0372432
|
|||||||
}
|
}
|
||||||
await new Promise(resolve => window.requestAnimationFrame(resolve));
|
await new Promise(resolve => window.requestAnimationFrame(resolve));
|
||||||
if (!this._isAlive) {
|
if (!this._isAlive) {
|
||||||
@@ -1122,6 +1139,8 @@ class PlacesToolbar extends PlacesViewBase {
|
@@ -1165,6 +1182,8 @@ class PlacesToolbar extends PlacesViewBase {
|
||||||
"scheme",
|
"scheme",
|
||||||
PlacesUIUtils.guessUrlSchemeForUI(aChild.uri)
|
PlacesUIUtils.guessUrlSchemeForUI(aChild.uri)
|
||||||
);
|
);
|
||||||
@@ -119,7 +119,7 @@ index 384d599c58cefbf80f5a50489fc401df0c8de8a5..aa85972946c3ff7866fbea86b0372432
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2314,7 +2333,7 @@ this.PlacesPanelview = class PlacesPanelview extends PlacesViewBase {
|
@@ -2359,7 +2378,7 @@ this.PlacesPanelview = class PlacesPanelview extends PlacesViewBase {
|
||||||
PlacesUIUtils.guessUrlSchemeForUI(placesNode.uri)
|
PlacesUIUtils.guessUrlSchemeForUI(placesNode.uri)
|
||||||
);
|
);
|
||||||
element.setAttribute("label", PlacesUIUtils.getBestTitle(placesNode));
|
element.setAttribute("label", PlacesUIUtils.getBestTitle(placesNode));
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/preferences/dialogs/syncChooseWhatToSync.xhtml b/browser/components/preferences/dialogs/syncChooseWhatToSync.xhtml
|
diff --git a/browser/components/preferences/dialogs/syncChooseWhatToSync.xhtml b/browser/components/preferences/dialogs/syncChooseWhatToSync.xhtml
|
||||||
index ef127a1bc2e3ea4221b641156c38a74edb3b44ae..acd39fe7f6dc7ec03ea50928e2d002791b834dcf 100644
|
index a893c5ec3d007820d98f5d92dd039640faa2c181..9cbd00102e44ccf98b37845474d92d57bac0842d 100644
|
||||||
--- a/browser/components/preferences/dialogs/syncChooseWhatToSync.xhtml
|
--- a/browser/components/preferences/dialogs/syncChooseWhatToSync.xhtml
|
||||||
+++ b/browser/components/preferences/dialogs/syncChooseWhatToSync.xhtml
|
+++ b/browser/components/preferences/dialogs/syncChooseWhatToSync.xhtml
|
||||||
@@ -27,6 +27,10 @@
|
@@ -26,6 +26,10 @@
|
||||||
rel="localization"
|
rel="localization"
|
||||||
href="browser/preferences/preferences.ftl"
|
href="browser/preferences/preferences.ftl"
|
||||||
/>
|
/>
|
||||||
@@ -13,7 +13,7 @@ index ef127a1bc2e3ea4221b641156c38a74edb3b44ae..acd39fe7f6dc7ec03ea50928e2d00279
|
|||||||
</linkset>
|
</linkset>
|
||||||
<script src="chrome://global/content/preferencesBindings.js" />
|
<script src="chrome://global/content/preferencesBindings.js" />
|
||||||
<script src="chrome://browser/content/preferences/dialogs/syncChooseWhatToSync.js" />
|
<script src="chrome://browser/content/preferences/dialogs/syncChooseWhatToSync.js" />
|
||||||
@@ -87,6 +91,12 @@
|
@@ -86,6 +90,12 @@
|
||||||
preference="services.sync.engine.prefs"
|
preference="services.sync.engine.prefs"
|
||||||
/>
|
/>
|
||||||
</html:div>
|
</html:div>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
|
diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
|
||||||
index b2d65603ec714b49249789d0e48b0b677c9eaea6..6cea34be90e2f181fd3e5770f7e2fd99c483b8d8 100644
|
index 78e38f98c1f69df31459fd4b6a119c93f6509c02..33abd46566146272da9f561e11ffa290d7000111 100644
|
||||||
--- a/browser/components/preferences/jar.mn
|
--- a/browser/components/preferences/jar.mn
|
||||||
+++ b/browser/components/preferences/jar.mn
|
+++ b/browser/components/preferences/jar.mn
|
||||||
@@ -51,3 +51,5 @@ browser.jar:
|
@@ -54,3 +54,5 @@ browser.jar:
|
||||||
content/browser/preferences/widgets/sync-device-name.mjs (widgets/sync-device-name/sync-device-name.mjs)
|
content/browser/preferences/widgets/sync-device-name.mjs (widgets/sync-device-name/sync-device-name.mjs)
|
||||||
content/browser/preferences/widgets/sync-engines-list.mjs (widgets/sync-engine-list/sync-engines-list.mjs)
|
content/browser/preferences/widgets/sync-engines-list.mjs (widgets/sync-engine-list/sync-engines-list.mjs)
|
||||||
content/browser/preferences/widgets/sync-engines-list.css (widgets/sync-engine-list/sync-engines-list.css)
|
content/browser/preferences/widgets/sync-engines-list.css (widgets/sync-engine-list/sync-engines-list.css)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/preferences/main.inc.xhtml b/browser/components/preferences/main.inc.xhtml
|
diff --git a/browser/components/preferences/main.inc.xhtml b/browser/components/preferences/main.inc.xhtml
|
||||||
index 7d6bbc54d21bf149dd1b99a38ca803654e6908eb..4da0e5fc921bb0ee24ace443c0c119fdd2707fc9 100644
|
index 6b96ff01e43087f8c609df17204441616b7013f3..df85ec789c54146b3a702169f33adf36c11b85da 100644
|
||||||
--- a/browser/components/preferences/main.inc.xhtml
|
--- a/browser/components/preferences/main.inc.xhtml
|
||||||
+++ b/browser/components/preferences/main.inc.xhtml
|
+++ b/browser/components/preferences/main.inc.xhtml
|
||||||
@@ -96,6 +96,7 @@
|
@@ -96,6 +96,7 @@
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
|
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
|
||||||
index 8f8da3c4cabb4a05b50431b1feeff8f1f1abcf6e..e57102247eb739ed431bd838a3004b353342defb 100644
|
index 6f4cb34d1639ac76a6d4ca40f0d33ae6fb6bf565..1f336a09d6f2e367effdf26e8baf58b5686d252d 100644
|
||||||
--- a/browser/components/preferences/main.js
|
--- a/browser/components/preferences/main.js
|
||||||
+++ b/browser/components/preferences/main.js
|
+++ b/browser/components/preferences/main.js
|
||||||
@@ -2658,6 +2658,11 @@ function createStartupConfig(hidden = false) {
|
@@ -2537,6 +2537,11 @@ function createStartupConfig(hidden = false) {
|
||||||
id: "browserRestoreSession",
|
id: "browserRestoreSession",
|
||||||
l10nId: "startup-restore-windows-and-tabs",
|
l10nId: "startup-restore-windows-and-tabs",
|
||||||
},
|
},
|
||||||
@@ -14,16 +14,16 @@ index 8f8da3c4cabb4a05b50431b1feeff8f1f1abcf6e..e57102247eb739ed431bd838a3004b35
|
|||||||
{
|
{
|
||||||
id: "windowsLaunchOnLogin",
|
id: "windowsLaunchOnLogin",
|
||||||
l10nId: "windows-launch-on-login",
|
l10nId: "windows-launch-on-login",
|
||||||
@@ -2755,7 +2760,7 @@ SettingGroupManager.registerGroups({
|
@@ -2578,7 +2583,7 @@ function createStartupConfig(hidden = false) {
|
||||||
},
|
SettingGroupManager.registerGroups({
|
||||||
defaultBrowser: createDefaultBrowserConfig(),
|
defaultBrowser: createDefaultBrowserConfig(),
|
||||||
startup: createStartupConfig(
|
startup: createStartupConfig(
|
||||||
- Services.prefs.getBoolPref("browser.settings-redesign.enabled", false)
|
- Services.prefs.getBoolPref("browser.settings-redesign.enabled", false)
|
||||||
+ false
|
+ false
|
||||||
),
|
),
|
||||||
importBrowserData: {
|
zoom: {
|
||||||
l10nId: "preferences-data-migration-group",
|
l10nId: "preferences-zoom-header2",
|
||||||
@@ -5174,7 +5179,7 @@ function getBundleForLocales(newLocales) {
|
@@ -3393,7 +3398,7 @@ function getBundleForLocales(newLocales) {
|
||||||
])
|
])
|
||||||
);
|
);
|
||||||
return new Localization(
|
return new Localization(
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
|
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
|
||||||
index 2d6cba7fac0c7de6d7c4a819f2c7ad20ce10bb33..15434dac6b501cf6f7a6968c6363c59288043c3e 100644
|
index 9d13733318e7a147adee1e44f96570c94f4948df..fb625d8da021dc0cebd7a14ca47446a0632e8e7a 100644
|
||||||
--- a/browser/components/preferences/preferences.js
|
--- a/browser/components/preferences/preferences.js
|
||||||
+++ b/browser/components/preferences/preferences.js
|
+++ b/browser/components/preferences/preferences.js
|
||||||
@@ -121,6 +121,7 @@ ChromeUtils.defineLazyGetter(this, "gSubDialog", function () {
|
@@ -121,6 +121,7 @@ ChromeUtils.defineLazyGetter(this, "gSubDialog", function () {
|
||||||
@@ -10,7 +10,7 @@ index 2d6cba7fac0c7de6d7c4a819f2c7ad20ce10bb33..15434dac6b501cf6f7a6968c6363c592
|
|||||||
],
|
],
|
||||||
resizeCallback: async ({ title, frame }) => {
|
resizeCallback: async ({ title, frame }) => {
|
||||||
// Search within main document and highlight matched keyword.
|
// Search within main document and highlight matched keyword.
|
||||||
@@ -324,6 +325,10 @@ function init_all() {
|
@@ -398,6 +399,10 @@ function init_all() {
|
||||||
register_module("paneSearch", gSearchPane);
|
register_module("paneSearch", gSearchPane);
|
||||||
register_module("panePrivacy", gPrivacyPane);
|
register_module("panePrivacy", gPrivacyPane);
|
||||||
register_module("paneContainers", gContainersPane);
|
register_module("paneContainers", gContainersPane);
|
||||||
@@ -19,5 +19,5 @@ index 2d6cba7fac0c7de6d7c4a819f2c7ad20ce10bb33..15434dac6b501cf6f7a6968c6363c592
|
|||||||
+ register_module("paneZenCKS", gZenCKSSettings);
|
+ register_module("paneZenCKS", gZenCKSSettings);
|
||||||
+ register_module("paneZenMarketplace", gZenMarketplaceManager);
|
+ register_module("paneZenMarketplace", gZenMarketplaceManager);
|
||||||
|
|
||||||
let redesignEnabled = Services.prefs.getBoolPref(
|
if (ExperimentAPI.labsEnabled) {
|
||||||
"browser.settings-redesign.enabled"
|
// Set hidden based on previous load's hidden value or if Nimbus is
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
|
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
|
||||||
index b006d5e5e64c418fbf930c010401e4ea3a3647a3..ed75c48a2cdf47dd957b0598282fb211ca2fb1b5 100644
|
index 3c4b3225c672bcb172e7f946bc5f98d424e21e84..d10824470c564b6631333f197de897c21ccc19f5 100644
|
||||||
--- a/browser/components/preferences/preferences.xhtml
|
--- a/browser/components/preferences/preferences.xhtml
|
||||||
+++ b/browser/components/preferences/preferences.xhtml
|
+++ b/browser/components/preferences/preferences.xhtml
|
||||||
@@ -42,6 +42,8 @@
|
@@ -42,6 +42,8 @@
|
||||||
@@ -11,58 +11,34 @@ index b006d5e5e64c418fbf930c010401e4ea3a3647a3..ed75c48a2cdf47dd957b0598282fb211
|
|||||||
<link rel="localization" href="branding/brand.ftl"/>
|
<link rel="localization" href="branding/brand.ftl"/>
|
||||||
<link rel="localization" href="browser/browser.ftl"/>
|
<link rel="localization" href="browser/browser.ftl"/>
|
||||||
<!-- Used by fontbuilder.js -->
|
<!-- Used by fontbuilder.js -->
|
||||||
@@ -124,6 +126,50 @@
|
@@ -126,6 +128,26 @@
|
||||||
<label class="category-name" flex="1" data-l10n-id="pane-general-title"></label>
|
iconsrc="chrome://browser/skin/preferences/category-general.svg"
|
||||||
</richlistitem>
|
data-l10n-id="pane-general-title">
|
||||||
|
</html:moz-page-nav-button>
|
||||||
+ <richlistitem id="category-zen-looks"
|
+ <html:moz-page-nav-button id="category-zen-looks"
|
||||||
+ class="category"
|
+ view="paneZenLooks"
|
||||||
+ value="paneZenLooks"
|
+ iconsrc="chrome://browser/skin/customize.svg"
|
||||||
+ helpTopic="prefs-main"
|
+ data-l10n-id="pane-zen-looks-title">
|
||||||
+ data-l10n-id="category-zen-looks"
|
+ </html:moz-page-nav-button>
|
||||||
+ data-l10n-attrs="tooltiptext"
|
+ <html:moz-page-nav-button id="category-zen-tabs-management"
|
||||||
+ align="center">
|
+ view="paneZenTabManagement"
|
||||||
+ <image class="category-icon"/>
|
+ iconsrc="chrome://browser/skin/window.svg"
|
||||||
+ <label class="category-name" flex="1" data-l10n-id="pane-zen-looks-title"></label>
|
+ data-l10n-id="pane-zen-tabs-title">
|
||||||
+ </richlistitem>
|
+ </html:moz-page-nav-button>
|
||||||
+
|
+ <html:moz-page-nav-button id="category-zen-CKS"
|
||||||
+ <richlistitem id="category-zen-tabs-management"
|
+ view="paneZenCKS"
|
||||||
+ class="category"
|
+ iconsrc="chrome://browser/skin/quickactions.svg"
|
||||||
+ value="paneZenTabManagement"
|
+ data-l10n-id="pane-zen-CKS-title">
|
||||||
+ helpTopic="prefs-main"
|
+ </html:moz-page-nav-button>
|
||||||
+ data-l10n-id="category-zen-workspaces"
|
+ <html:moz-page-nav-button id="category-zen-marketplace"
|
||||||
+ data-l10n-attrs="tooltiptext"
|
+ view="paneZenMarketplace"
|
||||||
+ align="center">
|
+ iconsrc="chrome://mozapps/skin/extensions/category-themes.svg"
|
||||||
+ <image class="category-icon"/>
|
+ data-l10n-id="pane-zen-marketplace-title">
|
||||||
+ <label class="category-name" flex="1" data-l10n-id="pane-zen-tabs-title"></label>
|
+ </html:moz-page-nav-button>
|
||||||
+ </richlistitem>
|
<html:moz-page-nav-button id="category-home"
|
||||||
+
|
view="paneHome"
|
||||||
+ <richlistitem id="category-zen-CKS"
|
iconsrc="chrome://browser/skin/home.svg"
|
||||||
+ class="category"
|
@@ -218,6 +240,10 @@
|
||||||
+ value="paneZenCKS"
|
|
||||||
+ helpTopic="prefs-main"
|
|
||||||
+ data-l10n-id="category-zen-CKS"
|
|
||||||
+ data-l10n-attrs="tooltiptext"
|
|
||||||
+ align="center">
|
|
||||||
+ <image class="category-icon"/>
|
|
||||||
+ <label class="category-name" flex="1" data-l10n-id="pane-zen-CKS-title"></label>
|
|
||||||
+ </richlistitem>
|
|
||||||
+
|
|
||||||
+ <richlistitem id="category-zen-marketplace"
|
|
||||||
+ class="category"
|
|
||||||
+ value="paneZenMarketplace"
|
|
||||||
+ helpTopic="prefs-main"
|
|
||||||
+ data-l10n-id="category-zen-marketplace"
|
|
||||||
+ data-l10n-attrs="tooltiptext"
|
|
||||||
+ align="center">
|
|
||||||
+ <image class="category-icon"/>
|
|
||||||
+ <label class="category-name" flex="1" data-l10n-id="pane-zen-marketplace-title"></label>
|
|
||||||
+ </richlistitem>
|
|
||||||
+
|
|
||||||
<richlistitem id="category-home"
|
|
||||||
class="category"
|
|
||||||
value="paneHome"
|
|
||||||
@@ -266,6 +312,10 @@
|
|
||||||
#include sync.inc.xhtml
|
#include sync.inc.xhtml
|
||||||
#include experimental.inc.xhtml
|
#include experimental.inc.xhtml
|
||||||
#include moreFromMozilla.inc.xhtml
|
#include moreFromMozilla.inc.xhtml
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/preferences/sync.inc.xhtml b/browser/components/preferences/sync.inc.xhtml
|
diff --git a/browser/components/preferences/sync.inc.xhtml b/browser/components/preferences/sync.inc.xhtml
|
||||||
index b889d42301de3c4f845105bf09d19b052dca9eae..015b751bd46f2499a93e328c903475ce2d60d079 100644
|
index c379e1a5f82692406a92d9fcd3bca2769dfac5b2..af037dd3d995813d966524ac44a3795d0c227071 100644
|
||||||
--- a/browser/components/preferences/sync.inc.xhtml
|
--- a/browser/components/preferences/sync.inc.xhtml
|
||||||
+++ b/browser/components/preferences/sync.inc.xhtml
|
+++ b/browser/components/preferences/sync.inc.xhtml
|
||||||
@@ -223,6 +223,10 @@
|
@@ -224,6 +224,10 @@
|
||||||
<image class="sync-engine-image sync-engine-prefs" alt=""/>
|
<image class="sync-engine-image sync-engine-prefs" alt=""/>
|
||||||
<label data-l10n-id="sync-currently-syncing-settings"/>
|
<label data-l10n-id="sync-currently-syncing-settings"/>
|
||||||
</html:div>
|
</html:div>
|
||||||
|
|||||||
@@ -1124,7 +1124,7 @@ var gZenCKSSettings = {
|
|||||||
this._hasSafed = false;
|
this._hasSafed = false;
|
||||||
input.classList.remove(`${ZEN_CKS_INPUT_FIELD_CLASS}-invalid`);
|
input.classList.remove(`${ZEN_CKS_INPUT_FIELD_CLASS}-invalid`);
|
||||||
input.classList.remove(`${ZEN_CKS_INPUT_FIELD_CLASS}-not-set`);
|
input.classList.remove(`${ZEN_CKS_INPUT_FIELD_CLASS}-not-set`);
|
||||||
input.value = modifiers.toDisplayString() + shortcut;
|
input.value = modifiers.toDisplayString() + gZenKeyboardShortcutsManager.getKeyDisplay(shortcut);
|
||||||
this._latestValidKey = shortcut;
|
this._latestValidKey = shortcut;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
|
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
index 71921cec2b6aa0f103856c31254fd6c4affefccb..ed13d7e2aa5ff1199872fedbc26494aae463ace4 100644
|
index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea30f7d70a 100644
|
||||||
--- a/browser/components/sessionstore/SessionStore.sys.mjs
|
--- a/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
|
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
@@ -129,6 +129,9 @@ const TAB_EVENTS = [
|
@@ -129,6 +129,9 @@ const TAB_EVENTS = [
|
||||||
@@ -358,7 +358,7 @@ index 71921cec2b6aa0f103856c31254fd6c4affefccb..ed13d7e2aa5ff1199872fedbc26494aa
|
|||||||
Glean.sessionRestore.shutdownFlushAllOutcomes.timed_out.add(1);
|
Glean.sessionRestore.shutdownFlushAllOutcomes.timed_out.add(1);
|
||||||
deferred.resolve();
|
deferred.resolve();
|
||||||
}
|
}
|
||||||
@@ -8552,6 +8614,7 @@ var SessionStoreInternal = {
|
@@ -8554,6 +8616,7 @@ var SessionStoreInternal = {
|
||||||
if (
|
if (
|
||||||
!savedTabGroupState.tabs.length ||
|
!savedTabGroupState.tabs.length ||
|
||||||
this.getSavedTabGroup(savedTabGroupState.id)
|
this.getSavedTabGroup(savedTabGroupState.id)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
|
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
|
||||||
index ae85009ad8f0a1cc6d3f3a890b27178df99e5ece..a432f7ee5d3f92bf623ff6d00d5b68ab7a6ecbe7 100644
|
index 2c13f19ec4f962ce3ecaface0ae5d00c50ca913f..eb696819a1af4cfae6352fc5696fd95590bed342 100644
|
||||||
--- a/browser/components/sidebar/browser-sidebar.js
|
--- a/browser/components/sidebar/browser-sidebar.js
|
||||||
+++ b/browser/components/sidebar/browser-sidebar.js
|
+++ b/browser/components/sidebar/browser-sidebar.js
|
||||||
@@ -807,7 +807,7 @@ var SidebarController = {
|
@@ -834,7 +834,7 @@ var SidebarController = {
|
||||||
setPosition() {
|
setPosition() {
|
||||||
// First reset all ordinals to match DOM ordering.
|
// First reset all ordinals to match DOM ordering.
|
||||||
let contentArea = document.getElementById("tabbrowser-tabbox");
|
let contentArea = document.getElementById("tabbrowser-tabbox");
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs b/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
|
diff --git a/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs b/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
|
||||||
index 9c5e92fbd555d328ce09c0cf0ff8078584f68478..2af7a428bc830d8c12b3d3c0af375c97e6942994 100644
|
index eebff0f59df42d3ef075f3eea1bd9269c47ba80d..6ab43a810f4cb61eedc02bb42026f6b5e282e785 100644
|
||||||
--- a/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
|
--- a/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
|
||||||
+++ b/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
|
+++ b/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
|
||||||
@@ -939,6 +939,7 @@ export class AsyncTabSwitcher {
|
@@ -938,6 +938,7 @@ export class AsyncTabSwitcher {
|
||||||
this.tabbrowser._printPreviewBrowsers.has(browser) ||
|
this.tabbrowser._printPreviewBrowsers.has(browser) ||
|
||||||
this.tabbrowser.splitViewBrowsers.includes(browser) ||
|
this.tabbrowser.splitViewBrowsers.includes(browser) ||
|
||||||
lazy.PictureInPicture.isOriginatingBrowser(browser)
|
lazy.PictureInPicture.isOriginatingBrowser(browser)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/tabbrowser/TabUnloader.sys.mjs b/browser/components/tabbrowser/TabUnloader.sys.mjs
|
diff --git a/browser/components/tabbrowser/TabUnloader.sys.mjs b/browser/components/tabbrowser/TabUnloader.sys.mjs
|
||||||
index aefccef39f0b81176a5710a794e8a5e2650d6507..53c838b3bc322cadee4ef9b411d02fc0af8c35e5 100644
|
index a6d6c5405f98c839b7c0f2007e053e874bb7ce07..9d8c6066ce917e15fbf9e19284a3db50aa5a3815 100644
|
||||||
--- a/browser/components/tabbrowser/TabUnloader.sys.mjs
|
--- a/browser/components/tabbrowser/TabUnloader.sys.mjs
|
||||||
+++ b/browser/components/tabbrowser/TabUnloader.sys.mjs
|
+++ b/browser/components/tabbrowser/TabUnloader.sys.mjs
|
||||||
@@ -52,7 +52,7 @@ let CRITERIA_WEIGHT = 1;
|
@@ -51,7 +51,7 @@ let CRITERIA_WEIGHT = 1;
|
||||||
*/
|
*/
|
||||||
let DefaultTabUnloaderMethods = {
|
let DefaultTabUnloaderMethods = {
|
||||||
isNonDiscardable(tab, weight) {
|
isNonDiscardable(tab, weight) {
|
||||||
@@ -11,7 +11,7 @@ index aefccef39f0b81176a5710a794e8a5e2650d6507..53c838b3bc322cadee4ef9b411d02fc0
|
|||||||
return weight;
|
return weight;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ let DefaultTabUnloaderMethods = {
|
@@ -105,7 +105,7 @@ let DefaultTabUnloaderMethods = {
|
||||||
|
|
||||||
*iterateTabs() {
|
*iterateTabs() {
|
||||||
for (let win of Services.wm.getEnumerator("navigator:browser")) {
|
for (let win of Services.wm.getEnumerator("navigator:browser")) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/browser-ctrlTab.js b/browser/components/tabbrowser/content/browser-ctrlTab.js
|
diff --git a/browser/components/tabbrowser/content/browser-ctrlTab.js b/browser/components/tabbrowser/content/browser-ctrlTab.js
|
||||||
index b435917892ac77fb433ea709f2524db2f2347a1d..fcbfeb92f3ae4effbfd3333514ed4d412e3063c6 100644
|
index 727e21f1754b0842080d8f3e29060baad445df66..ee9df3a311fc72954e064a2cbc56b716d116314a 100644
|
||||||
--- a/browser/components/tabbrowser/content/browser-ctrlTab.js
|
--- a/browser/components/tabbrowser/content/browser-ctrlTab.js
|
||||||
+++ b/browser/components/tabbrowser/content/browser-ctrlTab.js
|
+++ b/browser/components/tabbrowser/content/browser-ctrlTab.js
|
||||||
@@ -252,7 +252,8 @@ var ctrlTab = {
|
@@ -252,7 +252,8 @@ var ctrlTab = {
|
||||||
@@ -30,7 +30,7 @@ index b435917892ac77fb433ea709f2524db2f2347a1d..fcbfeb92f3ae4effbfd3333514ed4d41
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -751,7 +752,7 @@ var ctrlTab = {
|
@@ -759,7 +760,7 @@ var ctrlTab = {
|
||||||
_initRecentlyUsedTabs() {
|
_initRecentlyUsedTabs() {
|
||||||
this._recentlyUsedTabs = Array.prototype.filter.call(
|
this._recentlyUsedTabs = Array.prototype.filter.call(
|
||||||
gBrowser.tabs,
|
gBrowser.tabs,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/drag-and-drop.js b/browser/components/tabbrowser/content/drag-and-drop.js
|
diff --git a/browser/components/tabbrowser/content/drag-and-drop.js b/browser/components/tabbrowser/content/drag-and-drop.js
|
||||||
index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad3229ebdc2d2 100644
|
index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c85280e74993 100644
|
||||||
--- a/browser/components/tabbrowser/content/drag-and-drop.js
|
--- a/browser/components/tabbrowser/content/drag-and-drop.js
|
||||||
+++ b/browser/components/tabbrowser/content/drag-and-drop.js
|
+++ b/browser/components/tabbrowser/content/drag-and-drop.js
|
||||||
@@ -35,6 +35,9 @@
|
@@ -35,6 +35,9 @@
|
||||||
@@ -47,7 +47,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
+ if (draggedTab && dropEffect == "move") {
|
+ if (draggedTab && dropEffect == "move") {
|
||||||
+ this.handle_drop_transition?.(draggedTab._dragData.dropElement, draggedTab, movingTabs, draggedTab._dragData.dropBefore);
|
+ this.handle_drop_transition?.(draggedTab._dragData.dropElement, draggedTab, movingTabs, draggedTab._dragData.dropBefore);
|
||||||
+ gZenPinnedTabManager.moveToAnotherTabContainerIfNecessary(event, draggedTab, movingTabs, this._getDropIndex(event));
|
+ [draggedTab, movingTabs] = gZenPinnedTabManager.moveToAnotherTabContainerIfNecessary(event, draggedTab, movingTabs, this._getDropIndex(event));
|
||||||
+ }
|
+ }
|
||||||
if (draggedTab && dropEffect == "copy") {
|
if (draggedTab && dropEffect == "copy") {
|
||||||
let duplicatedDraggedTab;
|
let duplicatedDraggedTab;
|
||||||
@@ -73,7 +73,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
|
|
||||||
if (this._tabbrowserTabs.isContainerVerticalPinnedGrid(draggedTab)) {
|
if (this._tabbrowserTabs.isContainerVerticalPinnedGrid(draggedTab)) {
|
||||||
// Update both translate axis for pinned vertical expanded tabs
|
// Update both translate axis for pinned vertical expanded tabs
|
||||||
@@ -390,11 +401,13 @@
|
@@ -392,11 +403,13 @@
|
||||||
this._dragToPinPromoCard,
|
this._dragToPinPromoCard,
|
||||||
];
|
];
|
||||||
let shouldPin =
|
let shouldPin =
|
||||||
@@ -87,7 +87,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
isTab(draggedTab) &&
|
isTab(draggedTab) &&
|
||||||
draggedTab.pinned &&
|
draggedTab.pinned &&
|
||||||
this._tabbrowserTabs.arrowScrollbox.contains(event.target);
|
this._tabbrowserTabs.arrowScrollbox.contains(event.target);
|
||||||
@@ -458,6 +471,7 @@
|
@@ -466,6 +479,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,7 +95,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
if (shouldTranslate) {
|
if (shouldTranslate) {
|
||||||
let translationPromises = [];
|
let translationPromises = [];
|
||||||
for (let item of movingTabs) {
|
for (let item of movingTabs) {
|
||||||
@@ -469,7 +483,7 @@
|
@@ -477,7 +491,7 @@
|
||||||
item.removeAttribute("tabdrop-samewindow");
|
item.removeAttribute("tabdrop-samewindow");
|
||||||
resolve();
|
resolve();
|
||||||
};
|
};
|
||||||
@@ -104,7 +104,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
postTransitionCleanup();
|
postTransitionCleanup();
|
||||||
} else {
|
} else {
|
||||||
let onTransitionEnd = transitionendEvent => {
|
let onTransitionEnd = transitionendEvent => {
|
||||||
@@ -544,7 +558,7 @@
|
@@ -552,7 +566,7 @@
|
||||||
if (tab.selected) {
|
if (tab.selected) {
|
||||||
selectedTab = tab;
|
selectedTab = tab;
|
||||||
indexForSelectedTab = newIndex;
|
indexForSelectedTab = newIndex;
|
||||||
@@ -113,7 +113,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
const droppedIntoPinnedArea = dropIndex < gBrowser.pinnedTabCount;
|
const droppedIntoPinnedArea = dropIndex < gBrowser.pinnedTabCount;
|
||||||
const newSplitView = gBrowser.adoptSplitView(tab, {
|
const newSplitView = gBrowser.adoptSplitView(tab, {
|
||||||
elementIndex: droppedIntoPinnedArea
|
elementIndex: droppedIntoPinnedArea
|
||||||
@@ -569,7 +583,7 @@
|
@@ -577,7 +591,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -122,7 +122,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
const newTab = gBrowser.adoptTab(selectedTab, {
|
const newTab = gBrowser.adoptTab(selectedTab, {
|
||||||
elementIndex: indexForSelectedTab,
|
elementIndex: indexForSelectedTab,
|
||||||
selectTab: selectedTab == draggedTab,
|
selectTab: selectedTab == draggedTab,
|
||||||
@@ -603,10 +617,6 @@
|
@@ -611,10 +625,6 @@
|
||||||
this._tabbrowserTabs.dragAndDropElements[
|
this._tabbrowserTabs.dragAndDropElements[
|
||||||
gBrowser.pinnedTabCount + unpinnedSplitViews.length - 1
|
gBrowser.pinnedTabCount + unpinnedSplitViews.length - 1
|
||||||
];
|
];
|
||||||
@@ -133,7 +133,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -655,6 +665,7 @@
|
@@ -664,6 +674,7 @@
|
||||||
|
|
||||||
let nextItem = this._tabbrowserTabs.dragAndDropElements[newIndex];
|
let nextItem = this._tabbrowserTabs.dragAndDropElements[newIndex];
|
||||||
let tabGroup = isTab(nextItem) && nextItem.group;
|
let tabGroup = isTab(nextItem) && nextItem.group;
|
||||||
@@ -141,7 +141,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
gBrowser.loadTabs(urls, {
|
gBrowser.loadTabs(urls, {
|
||||||
inBackground,
|
inBackground,
|
||||||
replace,
|
replace,
|
||||||
@@ -696,7 +707,16 @@
|
@@ -705,7 +716,16 @@
|
||||||
this._expandGroupOnDrop(draggedTab);
|
this._expandGroupOnDrop(draggedTab);
|
||||||
}
|
}
|
||||||
this._resetTabsAfterDrop(draggedTab.ownerDocument);
|
this._resetTabsAfterDrop(draggedTab.ownerDocument);
|
||||||
@@ -159,7 +159,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
if (
|
if (
|
||||||
dt.mozUserCancelled ||
|
dt.mozUserCancelled ||
|
||||||
dt.dropEffect != "none" ||
|
dt.dropEffect != "none" ||
|
||||||
@@ -909,11 +929,10 @@
|
@@ -918,11 +938,10 @@
|
||||||
return this.#getHorizontalScrollboxDragTarget(event, ignoreSides);
|
return this.#getHorizontalScrollboxDragTarget(event, ignoreSides);
|
||||||
}
|
}
|
||||||
while (target) {
|
while (target) {
|
||||||
@@ -175,7 +175,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
target = target.parentNode;
|
target = target.parentNode;
|
||||||
@@ -943,6 +962,9 @@
|
@@ -952,6 +971,9 @@
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -185,7 +185,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
return target;
|
return target;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1002,7 +1024,8 @@
|
@@ -1011,7 +1033,8 @@
|
||||||
isTabGroupLabel(draggedTab) &&
|
isTabGroupLabel(draggedTab) &&
|
||||||
draggedTab._dragData?.expandGroupOnDrop
|
draggedTab._dragData?.expandGroupOnDrop
|
||||||
) {
|
) {
|
||||||
@@ -195,7 +195,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1186,7 +1209,6 @@
|
@@ -1195,7 +1218,6 @@
|
||||||
// using updateDragImage. On Linux, we can use a panel.
|
// using updateDragImage. On Linux, we can use a panel.
|
||||||
if (platform == "win" || platform == "macosx") {
|
if (platform == "win" || platform == "macosx") {
|
||||||
captureListener = function () {
|
captureListener = function () {
|
||||||
@@ -203,7 +203,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
// Create a panel to use it in setDragImage
|
// Create a panel to use it in setDragImage
|
||||||
@@ -1224,7 +1246,6 @@
|
@@ -1233,7 +1255,6 @@
|
||||||
);
|
);
|
||||||
dragImageOffset = dragImageOffset * scale;
|
dragImageOffset = dragImageOffset * scale;
|
||||||
}
|
}
|
||||||
@@ -211,7 +211,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
|
|
||||||
// _dragData.offsetX/Y give the coordinates that the mouse should be
|
// _dragData.offsetX/Y give the coordinates that the mouse should be
|
||||||
// positioned relative to the corner of the new window created upon
|
// positioned relative to the corner of the new window created upon
|
||||||
@@ -1243,7 +1264,7 @@
|
@@ -1252,7 +1273,7 @@
|
||||||
let dropEffect = this.getDropEffectForTabDrag(event);
|
let dropEffect = this.getDropEffectForTabDrag(event);
|
||||||
let isMovingInTabStrip = !fromTabList && dropEffect == "move";
|
let isMovingInTabStrip = !fromTabList && dropEffect == "move";
|
||||||
let collapseTabGroupDuringDrag =
|
let collapseTabGroupDuringDrag =
|
||||||
@@ -220,7 +220,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
|
|
||||||
tab._dragData = {
|
tab._dragData = {
|
||||||
offsetX: this._tabbrowserTabs.verticalMode
|
offsetX: this._tabbrowserTabs.verticalMode
|
||||||
@@ -1253,7 +1274,7 @@
|
@@ -1262,7 +1283,7 @@
|
||||||
? event.screenY - window.screenY - tabOffset
|
? event.screenY - window.screenY - tabOffset
|
||||||
: event.screenY - window.screenY,
|
: event.screenY - window.screenY,
|
||||||
scrollPos:
|
scrollPos:
|
||||||
@@ -229,7 +229,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
? this._tabbrowserTabs.pinnedTabsContainer.scrollPosition
|
? this._tabbrowserTabs.pinnedTabsContainer.scrollPosition
|
||||||
: this._tabbrowserTabs.arrowScrollbox.scrollPosition,
|
: this._tabbrowserTabs.arrowScrollbox.scrollPosition,
|
||||||
screenX: event.screenX,
|
screenX: event.screenX,
|
||||||
@@ -1300,6 +1321,7 @@
|
@@ -1309,6 +1330,7 @@
|
||||||
if (tabStripItemElement.hasAttribute("dragtarget")) {
|
if (tabStripItemElement.hasAttribute("dragtarget")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -237,7 +237,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
let isPinned = tab.pinned;
|
let isPinned = tab.pinned;
|
||||||
let dragAndDropElements = this._tabbrowserTabs.dragAndDropElements;
|
let dragAndDropElements = this._tabbrowserTabs.dragAndDropElements;
|
||||||
let isGrid = this._tabbrowserTabs.isContainerVerticalPinnedGrid(tab);
|
let isGrid = this._tabbrowserTabs.isContainerVerticalPinnedGrid(tab);
|
||||||
@@ -1666,23 +1688,6 @@
|
@@ -1675,23 +1697,6 @@
|
||||||
|
|
||||||
// Slide the relevant tabs to their new position.
|
// Slide the relevant tabs to their new position.
|
||||||
// non-moving tabs adjust for RTL
|
// non-moving tabs adjust for RTL
|
||||||
@@ -261,7 +261,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
// moving tabs don't adjust for RTL
|
// moving tabs don't adjust for RTL
|
||||||
for (let item of selectedElements) {
|
for (let item of selectedElements) {
|
||||||
if (
|
if (
|
||||||
@@ -1731,7 +1736,6 @@
|
@@ -1740,7 +1745,6 @@
|
||||||
for (let item of this._tabbrowserTabs.dragAndDropElements) {
|
for (let item of this._tabbrowserTabs.dragAndDropElements) {
|
||||||
delete item._moveTogetherSelectedTabsData;
|
delete item._moveTogetherSelectedTabsData;
|
||||||
item = elementToMove(item);
|
item = elementToMove(item);
|
||||||
@@ -269,7 +269,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
item.removeAttribute("multiselected-move-together");
|
item.removeAttribute("multiselected-move-together");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2578,7 +2582,6 @@
|
@@ -2587,7 +2591,6 @@
|
||||||
tab.style.top = "";
|
tab.style.top = "";
|
||||||
tab.style.maxWidth = "";
|
tab.style.maxWidth = "";
|
||||||
tab.style.pointerEvents = "";
|
tab.style.pointerEvents = "";
|
||||||
@@ -277,7 +277,7 @@ index b93a8fcc8b76ed888524959cbe7d6865fe830f2f..fa192837d06e28bb847acbbd462ad322
|
|||||||
tab.removeAttribute("small-stack");
|
tab.removeAttribute("small-stack");
|
||||||
tab.removeAttribute("big-stack");
|
tab.removeAttribute("big-stack");
|
||||||
}
|
}
|
||||||
@@ -2587,11 +2590,9 @@
|
@@ -2596,11 +2599,9 @@
|
||||||
)) {
|
)) {
|
||||||
label.style.width = "";
|
label.style.width = "";
|
||||||
label.style.maxWidth = "";
|
label.style.maxWidth = "";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
|
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
|
||||||
index 2e02bad1a7c89b4c3b5aee1e14c13bb953a64eb6..3ac8d2facb224ae39d2199f2c5ec08b77e0c1dfd 100644
|
index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d645641cd 100644
|
||||||
--- a/browser/components/tabbrowser/content/tab.js
|
--- a/browser/components/tabbrowser/content/tab.js
|
||||||
+++ b/browser/components/tabbrowser/content/tab.js
|
+++ b/browser/components/tabbrowser/content/tab.js
|
||||||
@@ -21,6 +21,7 @@
|
@@ -21,6 +21,7 @@
|
||||||
@@ -140,7 +140,16 @@ index 2e02bad1a7c89b4c3b5aee1e14c13bb953a64eb6..3ac8d2facb224ae39d2199f2c5ec08b7
|
|||||||
event.target.classList.contains("tab-icon-overlay") ||
|
event.target.classList.contains("tab-icon-overlay") ||
|
||||||
event.target.classList.contains("tab-audio-button")
|
event.target.classList.contains("tab-audio-button")
|
||||||
) {
|
) {
|
||||||
@@ -594,6 +629,10 @@
|
@@ -572,7 +607,7 @@
|
||||||
|
}
|
||||||
|
} else if (
|
||||||
|
event.altKey &&
|
||||||
|
- Services.prefs.getBoolPref("browser.tabs.splitView.enabled", false)
|
||||||
|
+ true
|
||||||
|
) {
|
||||||
|
eventMaySelectTab = false;
|
||||||
|
} else if (!this.selected && this.multiselected) {
|
||||||
|
@@ -597,6 +632,10 @@
|
||||||
this.style.MozUserFocus = "";
|
this.style.MozUserFocus = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,7 +160,7 @@ index 2e02bad1a7c89b4c3b5aee1e14c13bb953a64eb6..3ac8d2facb224ae39d2199f2c5ec08b7
|
|||||||
on_click(event) {
|
on_click(event) {
|
||||||
if (event.button != 0) {
|
if (event.button != 0) {
|
||||||
return;
|
return;
|
||||||
@@ -617,14 +656,23 @@
|
@@ -620,14 +659,31 @@
|
||||||
trigger: "alt_click",
|
trigger: "alt_click",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -159,9 +168,17 @@ index 2e02bad1a7c89b4c3b5aee1e14c13bb953a64eb6..3ac8d2facb224ae39d2199f2c5ec08b7
|
|||||||
+ !event.target.classList.contains("tab-close-button") &&
|
+ !event.target.classList.contains("tab-close-button") &&
|
||||||
+ !event.target.classList.contains("tab-icon-overlay") &&
|
+ !event.target.classList.contains("tab-icon-overlay") &&
|
||||||
+ !event.target.classList.contains("tab-audio-button") &&
|
+ !event.target.classList.contains("tab-audio-button") &&
|
||||||
+ !this.splitView
|
+ Services.prefs.getBoolPref("zen.splitView.enable-tab-click-split", false)
|
||||||
+ ) {
|
+ ) {
|
||||||
+ gZenViewSplitter.contextSplitTabs(this);
|
+ if (!this.splitView) {
|
||||||
|
+ gZenViewSplitter.contextSplitTabs(this);
|
||||||
|
+ } else {
|
||||||
|
+ gBrowser.selectedTab = this;
|
||||||
|
+ gZenViewSplitter.removeTabFromGroup(this, undefined, {
|
||||||
|
+ forUnsplit: true,
|
||||||
|
+ changeTab: false
|
||||||
|
+ });
|
||||||
|
+ }
|
||||||
+ }
|
+ }
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -176,7 +193,7 @@ index 2e02bad1a7c89b4c3b5aee1e14c13bb953a64eb6..3ac8d2facb224ae39d2199f2c5ec08b7
|
|||||||
gBrowser.multiSelectedTabsCount > 0 &&
|
gBrowser.multiSelectedTabsCount > 0 &&
|
||||||
!event.target.classList.contains("tab-close-button") &&
|
!event.target.classList.contains("tab-close-button") &&
|
||||||
!event.target.classList.contains("tab-icon-overlay") &&
|
!event.target.classList.contains("tab-icon-overlay") &&
|
||||||
@@ -636,8 +684,9 @@
|
@@ -639,8 +695,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
@@ -188,7 +205,7 @@ index 2e02bad1a7c89b4c3b5aee1e14c13bb953a64eb6..3ac8d2facb224ae39d2199f2c5ec08b7
|
|||||||
) {
|
) {
|
||||||
if (this.activeMediaBlocked) {
|
if (this.activeMediaBlocked) {
|
||||||
if (this.multiselected) {
|
if (this.multiselected) {
|
||||||
@@ -655,7 +704,7 @@
|
@@ -658,7 +715,7 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,7 +214,7 @@ index 2e02bad1a7c89b4c3b5aee1e14c13bb953a64eb6..3ac8d2facb224ae39d2199f2c5ec08b7
|
|||||||
if (this.multiselected) {
|
if (this.multiselected) {
|
||||||
gBrowser.removeMultiSelectedTabs(
|
gBrowser.removeMultiSelectedTabs(
|
||||||
lazy.TabMetrics.userTriggeredContext(
|
lazy.TabMetrics.userTriggeredContext(
|
||||||
@@ -675,6 +724,14 @@
|
@@ -678,6 +735,14 @@
|
||||||
// (see tabbrowser-tabs 'click' handler).
|
// (see tabbrowser-tabs 'click' handler).
|
||||||
gBrowser.tabContainer._blockDblClick = true;
|
gBrowser.tabContainer._blockDblClick = true;
|
||||||
}
|
}
|
||||||
@@ -212,7 +229,7 @@ index 2e02bad1a7c89b4c3b5aee1e14c13bb953a64eb6..3ac8d2facb224ae39d2199f2c5ec08b7
|
|||||||
}
|
}
|
||||||
|
|
||||||
on_dblclick(event) {
|
on_dblclick(event) {
|
||||||
@@ -698,6 +755,8 @@
|
@@ -701,6 +766,8 @@
|
||||||
animate: true,
|
animate: true,
|
||||||
triggeringEvent: event,
|
triggeringEvent: event,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff606d98f1e 100644
|
index 43fb79a3060e20f671ae6ffc26350c7abf497702..146b1559b8430773bd4ec173a8f4fe88f4eec282 100644
|
||||||
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
@@ -413,6 +413,7 @@
|
@@ -502,6 +502,7 @@
|
||||||
* @type {MozBrowser[]}
|
* @type {MozBrowser[]}
|
||||||
*/
|
*/
|
||||||
get splitViewBrowsers() {
|
get splitViewBrowsers() {
|
||||||
@@ -10,7 +10,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
const browsers = [];
|
const browsers = [];
|
||||||
if (this.#activeSplitView) {
|
if (this.#activeSplitView) {
|
||||||
for (const tab of this.#activeSplitView.tabs) {
|
for (const tab of this.#activeSplitView.tabs) {
|
||||||
@@ -486,15 +487,66 @@
|
@@ -575,15 +576,66 @@
|
||||||
return this.tabContainer.visibleTabs;
|
return this.tabContainer.visibleTabs;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
set selectedTab(val) {
|
set selectedTab(val) {
|
||||||
if (
|
if (
|
||||||
gSharedTabWarning.willShowSharedTabWarning(val) ||
|
gSharedTabWarning.willShowSharedTabWarning(val) ||
|
||||||
@@ -570,6 +622,10 @@
|
@@ -659,6 +711,10 @@
|
||||||
userContextId = parseInt(tabArgument.getAttribute("usercontextid"), 10);
|
userContextId = parseInt(tabArgument.getAttribute("usercontextid"), 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
if (tabArgument && tabArgument.linkedBrowser) {
|
if (tabArgument && tabArgument.linkedBrowser) {
|
||||||
remoteType = tabArgument.linkedBrowser.remoteType;
|
remoteType = tabArgument.linkedBrowser.remoteType;
|
||||||
initialBrowsingContextGroupId =
|
initialBrowsingContextGroupId =
|
||||||
@@ -662,6 +718,8 @@
|
@@ -751,6 +807,8 @@
|
||||||
this.tabpanels.appendChild(panel);
|
this.tabpanels.appendChild(panel);
|
||||||
|
|
||||||
let tab = this.tabs[0];
|
let tab = this.tabs[0];
|
||||||
@@ -99,7 +99,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
tab.linkedPanel = uniqueId;
|
tab.linkedPanel = uniqueId;
|
||||||
this._selectedTab = tab;
|
this._selectedTab = tab;
|
||||||
this._selectedBrowser = browser;
|
this._selectedBrowser = browser;
|
||||||
@@ -1032,13 +1090,18 @@
|
@@ -1121,13 +1179,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
this.showTab(aTab);
|
this.showTab(aTab);
|
||||||
@@ -119,7 +119,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
|
|
||||||
aTab.setAttribute("pinned", "true");
|
aTab.setAttribute("pinned", "true");
|
||||||
this._updateTabBarForPinnedTabs();
|
this._updateTabBarForPinnedTabs();
|
||||||
@@ -1051,11 +1114,19 @@
|
@@ -1140,11 +1203,19 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
this.#handleTabMove(aTab, () => {
|
this.#handleTabMove(aTab, () => {
|
||||||
@@ -140,7 +140,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
});
|
});
|
||||||
|
|
||||||
aTab.style.marginInlineStart = "";
|
aTab.style.marginInlineStart = "";
|
||||||
@@ -1232,6 +1303,9 @@
|
@@ -1321,6 +1392,9 @@
|
||||||
|
|
||||||
let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"];
|
let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"];
|
||||||
|
|
||||||
@@ -150,7 +150,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
if (
|
if (
|
||||||
aIconURL &&
|
aIconURL &&
|
||||||
!LOCAL_PROTOCOLS.some(protocol => aIconURL.startsWith(protocol))
|
!LOCAL_PROTOCOLS.some(protocol => aIconURL.startsWith(protocol))
|
||||||
@@ -1241,6 +1315,9 @@
|
@@ -1330,6 +1404,9 @@
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -160,7 +160,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
|
|
||||||
let browser = this.getBrowserForTab(aTab);
|
let browser = this.getBrowserForTab(aTab);
|
||||||
browser.mIconURL = aIconURL;
|
browser.mIconURL = aIconURL;
|
||||||
@@ -1563,7 +1640,6 @@
|
@@ -1652,7 +1729,6 @@
|
||||||
|
|
||||||
// Preview mode should not reset the owner
|
// Preview mode should not reset the owner
|
||||||
if (!this._previewMode && !oldTab.selected) {
|
if (!this._previewMode && !oldTab.selected) {
|
||||||
@@ -168,7 +168,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}
|
}
|
||||||
|
|
||||||
let lastRelatedTab = this._lastRelatedTabMap.get(oldTab);
|
let lastRelatedTab = this._lastRelatedTabMap.get(oldTab);
|
||||||
@@ -1654,6 +1730,7 @@
|
@@ -1743,6 +1819,7 @@
|
||||||
if (!this._previewMode) {
|
if (!this._previewMode) {
|
||||||
newTab.recordTimeFromUnloadToReload();
|
newTab.recordTimeFromUnloadToReload();
|
||||||
newTab.updateLastAccessed();
|
newTab.updateLastAccessed();
|
||||||
@@ -176,7 +176,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
oldTab.updateLastAccessed();
|
oldTab.updateLastAccessed();
|
||||||
// if this is the foreground window, update the last-seen timestamps.
|
// if this is the foreground window, update the last-seen timestamps.
|
||||||
if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) {
|
if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) {
|
||||||
@@ -1868,6 +1945,9 @@
|
@@ -1957,6 +2034,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
let activeEl = document.activeElement;
|
let activeEl = document.activeElement;
|
||||||
@@ -186,7 +186,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
// If focus is on the old tab, move it to the new tab.
|
// If focus is on the old tab, move it to the new tab.
|
||||||
if (activeEl == oldTab) {
|
if (activeEl == oldTab) {
|
||||||
newTab.focus();
|
newTab.focus();
|
||||||
@@ -1906,7 +1986,7 @@
|
@@ -1995,7 +2075,7 @@
|
||||||
// Focus the location bar if it was previously focused for that tab.
|
// Focus the location bar if it was previously focused for that tab.
|
||||||
// In full screen mode, only bother making the location bar visible
|
// In full screen mode, only bother making the location bar visible
|
||||||
// if the tab is a blank one.
|
// if the tab is a blank one.
|
||||||
@@ -195,7 +195,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
let selectURL = () => {
|
let selectURL = () => {
|
||||||
if (this._asyncTabSwitching) {
|
if (this._asyncTabSwitching) {
|
||||||
// Set _awaitingSetURI flag to suppress popup notification
|
// Set _awaitingSetURI flag to suppress popup notification
|
||||||
@@ -2194,7 +2274,12 @@
|
@@ -2283,7 +2363,12 @@
|
||||||
return this._setTabLabel(aTab, aLabel);
|
return this._setTabLabel(aTab, aLabel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,10 +206,10 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
+ }
|
+ }
|
||||||
+ aLabel = (typeof aTab.zenStaticLabel === "string" && aTab.zenStaticLabel) ? aTab.zenStaticLabel : aLabel;
|
+ aLabel = (typeof aTab.zenStaticLabel === "string" && aTab.zenStaticLabel) ? aTab.zenStaticLabel : aLabel;
|
||||||
+ gZenPinnedTabManager.onTabLabelChanged(aTab);
|
+ gZenPinnedTabManager.onTabLabelChanged(aTab);
|
||||||
if (!aLabel || aLabel.includes("about:reader?")) {
|
if (!aLabel || (isURL && /^about:reader\?url=/.test(aLabel))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -2319,7 +2404,7 @@
|
@@ -2408,7 +2493,7 @@
|
||||||
newIndex = this.selectedTab._tPos + 1;
|
newIndex = this.selectedTab._tPos + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -218,7 +218,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
if (this.isTabGroupLabel(targetTab)) {
|
if (this.isTabGroupLabel(targetTab)) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"Replacing a tab group label with a tab is not supported"
|
"Replacing a tab group label with a tab is not supported"
|
||||||
@@ -2599,6 +2684,7 @@
|
@@ -2685,6 +2770,7 @@
|
||||||
uriIsAboutBlank,
|
uriIsAboutBlank,
|
||||||
userContextId,
|
userContextId,
|
||||||
skipLoad,
|
skipLoad,
|
||||||
@@ -226,7 +226,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
} = {}) {
|
} = {}) {
|
||||||
let b = document.createXULElement("browser");
|
let b = document.createXULElement("browser");
|
||||||
// Use the JSM global to create the permanentKey, so that if the
|
// Use the JSM global to create the permanentKey, so that if the
|
||||||
@@ -2672,8 +2758,7 @@
|
@@ -2758,8 +2844,7 @@
|
||||||
// we use a different attribute name for this?
|
// we use a different attribute name for this?
|
||||||
b.setAttribute("name", name);
|
b.setAttribute("name", name);
|
||||||
}
|
}
|
||||||
@@ -236,7 +236,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
b.setAttribute("transparent", "true");
|
b.setAttribute("transparent", "true");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2843,7 +2928,7 @@
|
@@ -2929,7 +3014,7 @@
|
||||||
|
|
||||||
let panel = this.getPanel(browser);
|
let panel = this.getPanel(browser);
|
||||||
let uniqueId = this._generateUniquePanelID();
|
let uniqueId = this._generateUniquePanelID();
|
||||||
@@ -245,7 +245,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
aTab.linkedPanel = uniqueId;
|
aTab.linkedPanel = uniqueId;
|
||||||
|
|
||||||
// Inject the <browser> into the DOM if necessary.
|
// Inject the <browser> into the DOM if necessary.
|
||||||
@@ -2903,8 +2988,8 @@
|
@@ -2989,8 +3074,8 @@
|
||||||
// If we transitioned from one browser to two browsers, we need to set
|
// If we transitioned from one browser to two browsers, we need to set
|
||||||
// hasSiblings=false on both the existing browser and the new browser.
|
// hasSiblings=false on both the existing browser and the new browser.
|
||||||
if (this.tabs.length == 2) {
|
if (this.tabs.length == 2) {
|
||||||
@@ -256,7 +256,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
} else {
|
} else {
|
||||||
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
||||||
}
|
}
|
||||||
@@ -3089,7 +3174,6 @@
|
@@ -3175,7 +3260,6 @@
|
||||||
this.selectedTab = this.addTrustedTab(BROWSER_NEW_TAB_URL, {
|
this.selectedTab = this.addTrustedTab(BROWSER_NEW_TAB_URL, {
|
||||||
tabIndex: tab._tPos + 1,
|
tabIndex: tab._tPos + 1,
|
||||||
userContextId: tab.userContextId,
|
userContextId: tab.userContextId,
|
||||||
@@ -264,7 +264,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
focusUrlBar: true,
|
focusUrlBar: true,
|
||||||
});
|
});
|
||||||
resolve(this.selectedBrowser);
|
resolve(this.selectedBrowser);
|
||||||
@@ -3199,6 +3283,9 @@
|
@@ -3285,6 +3369,9 @@
|
||||||
schemelessInput,
|
schemelessInput,
|
||||||
hasValidUserGestureActivation = false,
|
hasValidUserGestureActivation = false,
|
||||||
textDirectiveUserActivation = false,
|
textDirectiveUserActivation = false,
|
||||||
@@ -274,7 +274,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
} = {}
|
} = {}
|
||||||
) {
|
) {
|
||||||
// all callers of addTab that pass a params object need to pass
|
// all callers of addTab that pass a params object need to pass
|
||||||
@@ -3209,10 +3296,17 @@
|
@@ -3295,10 +3382,17 @@
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -292,7 +292,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
// If we're opening a foreground tab, set the owner by default.
|
// If we're opening a foreground tab, set the owner by default.
|
||||||
ownerTab ??= inBackground ? null : this.selectedTab;
|
ownerTab ??= inBackground ? null : this.selectedTab;
|
||||||
|
|
||||||
@@ -3220,6 +3314,7 @@
|
@@ -3306,6 +3400,7 @@
|
||||||
if (this.selectedTab.owner) {
|
if (this.selectedTab.owner) {
|
||||||
this.selectedTab.owner = null;
|
this.selectedTab.owner = null;
|
||||||
}
|
}
|
||||||
@@ -300,7 +300,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
|
|
||||||
// Find the tab that opened this one, if any. This is used for
|
// Find the tab that opened this one, if any. This is used for
|
||||||
// determining positioning, and inherited attributes such as the
|
// determining positioning, and inherited attributes such as the
|
||||||
@@ -3272,6 +3367,22 @@
|
@@ -3358,6 +3453,22 @@
|
||||||
noInitialLabel,
|
noInitialLabel,
|
||||||
skipBackgroundNotify,
|
skipBackgroundNotify,
|
||||||
});
|
});
|
||||||
@@ -323,7 +323,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
if (insertTab) {
|
if (insertTab) {
|
||||||
// Insert the tab into the tab container in the correct position.
|
// Insert the tab into the tab container in the correct position.
|
||||||
this.#insertTabAtIndex(t, {
|
this.#insertTabAtIndex(t, {
|
||||||
@@ -3280,6 +3391,7 @@
|
@@ -3366,6 +3477,7 @@
|
||||||
ownerTab,
|
ownerTab,
|
||||||
openerTab,
|
openerTab,
|
||||||
pinned,
|
pinned,
|
||||||
@@ -331,7 +331,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
bulkOrderedOpen,
|
bulkOrderedOpen,
|
||||||
tabGroup: tabGroup ?? openerTab?.group,
|
tabGroup: tabGroup ?? openerTab?.group,
|
||||||
});
|
});
|
||||||
@@ -3298,6 +3410,7 @@
|
@@ -3384,6 +3496,7 @@
|
||||||
openWindowInfo,
|
openWindowInfo,
|
||||||
skipLoad,
|
skipLoad,
|
||||||
triggeringRemoteType,
|
triggeringRemoteType,
|
||||||
@@ -339,7 +339,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
if (focusUrlBar) {
|
if (focusUrlBar) {
|
||||||
@@ -3422,6 +3535,12 @@
|
@@ -3508,6 +3621,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -352,7 +352,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
// Additionally send pinned tab events
|
// Additionally send pinned tab events
|
||||||
if (pinned) {
|
if (pinned) {
|
||||||
this.#notifyPinnedStatus(t);
|
this.#notifyPinnedStatus(t);
|
||||||
@@ -3729,6 +3848,7 @@
|
@@ -3750,6 +3869,7 @@
|
||||||
isAdoptingGroup = false,
|
isAdoptingGroup = false,
|
||||||
isUserTriggered = false,
|
isUserTriggered = false,
|
||||||
telemetryUserCreateSource = "unknown",
|
telemetryUserCreateSource = "unknown",
|
||||||
@@ -360,7 +360,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
} = {}
|
} = {}
|
||||||
) {
|
) {
|
||||||
if (
|
if (
|
||||||
@@ -3739,9 +3859,6 @@
|
@@ -3760,9 +3880,6 @@
|
||||||
!this.isSplitViewWrapper(tabOrSplitView)
|
!this.isSplitViewWrapper(tabOrSplitView)
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
@@ -370,7 +370,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!color) {
|
if (!color) {
|
||||||
@@ -3762,9 +3879,14 @@
|
@@ -3783,9 +3900,14 @@
|
||||||
label,
|
label,
|
||||||
isAdoptingGroup
|
isAdoptingGroup
|
||||||
);
|
);
|
||||||
@@ -387,7 +387,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
);
|
);
|
||||||
group.addTabs(tabsAndSplitViews);
|
group.addTabs(tabsAndSplitViews);
|
||||||
|
|
||||||
@@ -3885,7 +4007,7 @@
|
@@ -3906,7 +4028,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
this.#handleTabMove(tab, () =>
|
this.#handleTabMove(tab, () =>
|
||||||
@@ -396,7 +396,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3969,6 +4091,7 @@
|
@@ -3990,6 +4112,7 @@
|
||||||
color: group.color,
|
color: group.color,
|
||||||
insertBefore: newTabs[0],
|
insertBefore: newTabs[0],
|
||||||
isAdoptingGroup: true,
|
isAdoptingGroup: true,
|
||||||
@@ -404,7 +404,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4179,6 +4302,7 @@
|
@@ -4200,6 +4323,7 @@
|
||||||
openWindowInfo,
|
openWindowInfo,
|
||||||
skipLoad,
|
skipLoad,
|
||||||
triggeringRemoteType,
|
triggeringRemoteType,
|
||||||
@@ -412,7 +412,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
|
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
|
||||||
@@ -4248,6 +4372,7 @@
|
@@ -4269,6 +4393,7 @@
|
||||||
openWindowInfo,
|
openWindowInfo,
|
||||||
name,
|
name,
|
||||||
skipLoad,
|
skipLoad,
|
||||||
@@ -420,7 +420,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4461,9 +4586,9 @@
|
@@ -4482,9 +4607,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add a new tab if needed.
|
// Add a new tab if needed.
|
||||||
@@ -432,7 +432,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
|
|
||||||
let url = "about:blank";
|
let url = "about:blank";
|
||||||
if (tabData.entries?.length) {
|
if (tabData.entries?.length) {
|
||||||
@@ -4500,8 +4625,10 @@
|
@@ -4521,8 +4646,10 @@
|
||||||
insertTab: false,
|
insertTab: false,
|
||||||
skipLoad: true,
|
skipLoad: true,
|
||||||
preferredRemoteType,
|
preferredRemoteType,
|
||||||
@@ -444,7 +444,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
if (select) {
|
if (select) {
|
||||||
tabToSelect = tab;
|
tabToSelect = tab;
|
||||||
}
|
}
|
||||||
@@ -4523,7 +4650,8 @@
|
@@ -4544,7 +4671,8 @@
|
||||||
this.pinTab(tab);
|
this.pinTab(tab);
|
||||||
// Then ensure all the tab open/pinning information is sent.
|
// Then ensure all the tab open/pinning information is sent.
|
||||||
this._fireTabOpen(tab, {});
|
this._fireTabOpen(tab, {});
|
||||||
@@ -454,7 +454,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
let { groupId } = tabData;
|
let { groupId } = tabData;
|
||||||
const tabGroup = tabGroupWorkingData.get(groupId);
|
const tabGroup = tabGroupWorkingData.get(groupId);
|
||||||
// if a tab refers to a tab group we don't know, skip any group
|
// if a tab refers to a tab group we don't know, skip any group
|
||||||
@@ -4543,7 +4671,10 @@
|
@@ -4564,7 +4692,10 @@
|
||||||
tabGroup.stateData.id,
|
tabGroup.stateData.id,
|
||||||
tabGroup.stateData.color,
|
tabGroup.stateData.color,
|
||||||
tabGroup.stateData.collapsed,
|
tabGroup.stateData.collapsed,
|
||||||
@@ -466,7 +466,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
);
|
);
|
||||||
tabsFragment.appendChild(tabGroup.node);
|
tabsFragment.appendChild(tabGroup.node);
|
||||||
}
|
}
|
||||||
@@ -4598,9 +4729,23 @@
|
@@ -4619,9 +4750,21 @@
|
||||||
// to remove the old selected tab.
|
// to remove the old selected tab.
|
||||||
if (tabToSelect) {
|
if (tabToSelect) {
|
||||||
let leftoverTab = this.selectedTab;
|
let leftoverTab = this.selectedTab;
|
||||||
@@ -482,15 +482,13 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
+ gZenWorkspaces._initialTab._shouldRemove = true;
|
+ gZenWorkspaces._initialTab._shouldRemove = true;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ } else {
|
|
||||||
+ gZenWorkspaces._keepSelectedTab = !window.__isNewZenWindow;
|
|
||||||
}
|
}
|
||||||
+ delete window.__isNewZenWindow;
|
+ delete window.__isNewZenWindow;
|
||||||
+ this._hasAlreadyInitializedZenSessionStore = true;
|
+ this._hasAlreadyInitializedZenSessionStore = true;
|
||||||
|
|
||||||
if (tabs.length > 1 || !tabs[0].selected) {
|
if (tabs.length > 1 || !tabs[0].selected) {
|
||||||
this._updateTabsAfterInsert();
|
this._updateTabsAfterInsert();
|
||||||
@@ -4791,11 +4936,14 @@
|
@@ -4812,11 +4955,14 @@
|
||||||
if (ownerTab) {
|
if (ownerTab) {
|
||||||
tab.owner = ownerTab;
|
tab.owner = ownerTab;
|
||||||
}
|
}
|
||||||
@@ -506,7 +504,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
if (
|
if (
|
||||||
!bulkOrderedOpen &&
|
!bulkOrderedOpen &&
|
||||||
((openerTab &&
|
((openerTab &&
|
||||||
@@ -4807,7 +4955,7 @@
|
@@ -4828,7 +4974,7 @@
|
||||||
let lastRelatedTab =
|
let lastRelatedTab =
|
||||||
openerTab && this._lastRelatedTabMap.get(openerTab);
|
openerTab && this._lastRelatedTabMap.get(openerTab);
|
||||||
let previousTab = lastRelatedTab || openerTab || this.selectedTab;
|
let previousTab = lastRelatedTab || openerTab || this.selectedTab;
|
||||||
@@ -515,7 +513,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
tabGroup = previousTab.group;
|
tabGroup = previousTab.group;
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
@@ -4823,7 +4971,7 @@
|
@@ -4844,7 +4990,7 @@
|
||||||
previousTab.splitview
|
previousTab.splitview
|
||||||
) + 1;
|
) + 1;
|
||||||
} else if (previousTab.visible) {
|
} else if (previousTab.visible) {
|
||||||
@@ -524,7 +522,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
} else if (previousTab == FirefoxViewHandler.tab) {
|
} else if (previousTab == FirefoxViewHandler.tab) {
|
||||||
elementIndex = 0;
|
elementIndex = 0;
|
||||||
}
|
}
|
||||||
@@ -4851,14 +4999,14 @@
|
@@ -4872,14 +5018,14 @@
|
||||||
}
|
}
|
||||||
// Ensure index is within bounds.
|
// Ensure index is within bounds.
|
||||||
if (tab.pinned) {
|
if (tab.pinned) {
|
||||||
@@ -543,7 +541,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
|
|
||||||
if (pinned && !itemAfter?.pinned) {
|
if (pinned && !itemAfter?.pinned) {
|
||||||
itemAfter = null;
|
itemAfter = null;
|
||||||
@@ -4875,7 +5023,7 @@
|
@@ -4896,7 +5042,7 @@
|
||||||
|
|
||||||
this.tabContainer._invalidateCachedTabs();
|
this.tabContainer._invalidateCachedTabs();
|
||||||
|
|
||||||
@@ -552,7 +550,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
if (
|
if (
|
||||||
(this.isTab(itemAfter) && itemAfter.group == tabGroup) ||
|
(this.isTab(itemAfter) && itemAfter.group == tabGroup) ||
|
||||||
this.isSplitViewWrapper(itemAfter)
|
this.isSplitViewWrapper(itemAfter)
|
||||||
@@ -4906,7 +5054,11 @@
|
@@ -4927,7 +5073,11 @@
|
||||||
const tabContainer = pinned
|
const tabContainer = pinned
|
||||||
? this.tabContainer.pinnedTabsContainer
|
? this.tabContainer.pinnedTabsContainer
|
||||||
: this.tabContainer;
|
: this.tabContainer;
|
||||||
@@ -564,7 +562,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (tab.group?.collapsed) {
|
if (tab.group?.collapsed) {
|
||||||
@@ -4921,6 +5073,7 @@
|
@@ -4942,6 +5092,7 @@
|
||||||
if (pinned) {
|
if (pinned) {
|
||||||
this._updateTabBarForPinnedTabs();
|
this._updateTabBarForPinnedTabs();
|
||||||
}
|
}
|
||||||
@@ -572,7 +570,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
|
|
||||||
TabBarVisibility.update();
|
TabBarVisibility.update();
|
||||||
}
|
}
|
||||||
@@ -5469,6 +5622,7 @@
|
@@ -5490,6 +5641,7 @@
|
||||||
telemetrySource,
|
telemetrySource,
|
||||||
} = {}
|
} = {}
|
||||||
) {
|
) {
|
||||||
@@ -580,7 +578,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs
|
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs
|
||||||
// can be considered equivalent to closing the window.
|
// can be considered equivalent to closing the window.
|
||||||
if (
|
if (
|
||||||
@@ -5558,6 +5712,7 @@
|
@@ -5579,6 +5731,7 @@
|
||||||
if (lastToClose) {
|
if (lastToClose) {
|
||||||
this.removeTab(lastToClose, aParams);
|
this.removeTab(lastToClose, aParams);
|
||||||
}
|
}
|
||||||
@@ -588,7 +586,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
}
|
}
|
||||||
@@ -5603,6 +5758,14 @@
|
@@ -5624,6 +5777,14 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -603,7 +601,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
let isVisibleTab = aTab.visible;
|
let isVisibleTab = aTab.visible;
|
||||||
// We have to sample the tab width now, since _beginRemoveTab might
|
// We have to sample the tab width now, since _beginRemoveTab might
|
||||||
// end up modifying the DOM in such a way that aTab gets a new
|
// end up modifying the DOM in such a way that aTab gets a new
|
||||||
@@ -5610,6 +5773,9 @@
|
@@ -5631,6 +5792,9 @@
|
||||||
// state).
|
// state).
|
||||||
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
|
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
|
||||||
let isLastTab = this.#isLastTabInWindow(aTab);
|
let isLastTab = this.#isLastTabInWindow(aTab);
|
||||||
@@ -613,7 +611,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
if (
|
if (
|
||||||
!this._beginRemoveTab(aTab, {
|
!this._beginRemoveTab(aTab, {
|
||||||
closeWindowFastpath: true,
|
closeWindowFastpath: true,
|
||||||
@@ -5621,13 +5787,14 @@
|
@@ -5642,13 +5806,14 @@
|
||||||
telemetrySource,
|
telemetrySource,
|
||||||
})
|
})
|
||||||
) {
|
) {
|
||||||
@@ -629,7 +627,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
let lockTabSizing =
|
let lockTabSizing =
|
||||||
!this.tabContainer.verticalMode &&
|
!this.tabContainer.verticalMode &&
|
||||||
!aTab.pinned &&
|
!aTab.pinned &&
|
||||||
@@ -5658,7 +5825,13 @@
|
@@ -5679,7 +5844,13 @@
|
||||||
// We're not animating, so we can cancel the animation stopwatch.
|
// We're not animating, so we can cancel the animation stopwatch.
|
||||||
Glean.browserTabclose.timeAnim.cancel(aTab._closeTimeAnimTimerId);
|
Glean.browserTabclose.timeAnim.cancel(aTab._closeTimeAnimTimerId);
|
||||||
aTab._closeTimeAnimTimerId = null;
|
aTab._closeTimeAnimTimerId = null;
|
||||||
@@ -644,7 +642,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5792,7 +5965,7 @@
|
@@ -5813,7 +5984,7 @@
|
||||||
closeWindowWithLastTab != null
|
closeWindowWithLastTab != null
|
||||||
? closeWindowWithLastTab
|
? closeWindowWithLastTab
|
||||||
: !window.toolbar.visible ||
|
: !window.toolbar.visible ||
|
||||||
@@ -653,7 +651,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
|
|
||||||
if (closeWindow) {
|
if (closeWindow) {
|
||||||
// We've already called beforeunload on all the relevant tabs if we get here,
|
// We've already called beforeunload on all the relevant tabs if we get here,
|
||||||
@@ -5816,6 +5989,7 @@
|
@@ -5837,6 +6008,7 @@
|
||||||
|
|
||||||
newTab = true;
|
newTab = true;
|
||||||
}
|
}
|
||||||
@@ -661,7 +659,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
aTab._endRemoveArgs = [closeWindow, newTab];
|
aTab._endRemoveArgs = [closeWindow, newTab];
|
||||||
|
|
||||||
// swapBrowsersAndCloseOther will take care of closing the window without animation.
|
// swapBrowsersAndCloseOther will take care of closing the window without animation.
|
||||||
@@ -5856,13 +6030,7 @@
|
@@ -5877,13 +6049,7 @@
|
||||||
aTab._mouseleave();
|
aTab._mouseleave();
|
||||||
|
|
||||||
if (newTab) {
|
if (newTab) {
|
||||||
@@ -676,7 +674,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
} else {
|
} else {
|
||||||
TabBarVisibility.update();
|
TabBarVisibility.update();
|
||||||
}
|
}
|
||||||
@@ -5995,6 +6163,7 @@
|
@@ -6016,6 +6182,7 @@
|
||||||
this.tabs[i]._tPos = i;
|
this.tabs[i]._tPos = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -684,7 +682,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
if (!this._windowIsClosing) {
|
if (!this._windowIsClosing) {
|
||||||
// update tab close buttons state
|
// update tab close buttons state
|
||||||
this.tabContainer._updateCloseButtons();
|
this.tabContainer._updateCloseButtons();
|
||||||
@@ -6180,6 +6349,7 @@
|
@@ -6201,6 +6368,7 @@
|
||||||
memory_after: await getTotalMemoryUsage(),
|
memory_after: await getTotalMemoryUsage(),
|
||||||
time_to_unload_in_ms: timeElapsed,
|
time_to_unload_in_ms: timeElapsed,
|
||||||
});
|
});
|
||||||
@@ -692,7 +690,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -6225,6 +6395,7 @@
|
@@ -6246,6 +6414,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
let excludeTabs = new Set(aExcludeTabs);
|
let excludeTabs = new Set(aExcludeTabs);
|
||||||
@@ -700,7 +698,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
|
|
||||||
// If this tab has a successor, it should be selectable, since
|
// If this tab has a successor, it should be selectable, since
|
||||||
// hiding or closing a tab removes that tab as a successor.
|
// hiding or closing a tab removes that tab as a successor.
|
||||||
@@ -6237,15 +6408,22 @@
|
@@ -6258,15 +6427,22 @@
|
||||||
!excludeTabs.has(aTab.owner) &&
|
!excludeTabs.has(aTab.owner) &&
|
||||||
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
|
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
|
||||||
) {
|
) {
|
||||||
@@ -725,7 +723,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
let tab = this.tabContainer.findNextTab(aTab, {
|
let tab = this.tabContainer.findNextTab(aTab, {
|
||||||
direction: 1,
|
direction: 1,
|
||||||
filter: _tab => remainingTabs.includes(_tab),
|
filter: _tab => remainingTabs.includes(_tab),
|
||||||
@@ -6259,7 +6437,7 @@
|
@@ -6280,7 +6456,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tab) {
|
if (tab) {
|
||||||
@@ -734,7 +732,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If no qualifying visible tab was found, see if there is a tab in
|
// If no qualifying visible tab was found, see if there is a tab in
|
||||||
@@ -6280,7 +6458,7 @@
|
@@ -6301,7 +6477,7 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -743,7 +741,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}
|
}
|
||||||
|
|
||||||
_blurTab(aTab) {
|
_blurTab(aTab) {
|
||||||
@@ -6291,7 +6469,7 @@
|
@@ -6312,7 +6488,7 @@
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
* False if swapping isn't permitted, true otherwise.
|
* False if swapping isn't permitted, true otherwise.
|
||||||
*/
|
*/
|
||||||
@@ -752,7 +750,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
// Do not allow transfering a private tab to a non-private window
|
// Do not allow transfering a private tab to a non-private window
|
||||||
// and vice versa.
|
// and vice versa.
|
||||||
if (
|
if (
|
||||||
@@ -6345,6 +6523,7 @@
|
@@ -6366,6 +6542,7 @@
|
||||||
// fire the beforeunload event in the process. Close the other
|
// fire the beforeunload event in the process. Close the other
|
||||||
// window if this was its last tab.
|
// window if this was its last tab.
|
||||||
if (
|
if (
|
||||||
@@ -760,7 +758,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
!remoteBrowser._beginRemoveTab(aOtherTab, {
|
!remoteBrowser._beginRemoveTab(aOtherTab, {
|
||||||
adoptedByTab: aOurTab,
|
adoptedByTab: aOurTab,
|
||||||
closeWindowWithLastTab: true,
|
closeWindowWithLastTab: true,
|
||||||
@@ -6356,7 +6535,7 @@
|
@@ -6377,7 +6554,7 @@
|
||||||
// If this is the last tab of the window, hide the window
|
// If this is the last tab of the window, hide the window
|
||||||
// immediately without animation before the docshell swap, to avoid
|
// immediately without animation before the docshell swap, to avoid
|
||||||
// about:blank being painted.
|
// about:blank being painted.
|
||||||
@@ -769,7 +767,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
if (closeWindow) {
|
if (closeWindow) {
|
||||||
let win = aOtherTab.ownerGlobal;
|
let win = aOtherTab.ownerGlobal;
|
||||||
win.windowUtils.suppressAnimation(true);
|
win.windowUtils.suppressAnimation(true);
|
||||||
@@ -6484,11 +6663,13 @@
|
@@ -6511,11 +6688,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// Finish tearing down the tab that's going away.
|
// Finish tearing down the tab that's going away.
|
||||||
@@ -783,7 +781,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
|
|
||||||
this.setTabTitle(aOurTab);
|
this.setTabTitle(aOurTab);
|
||||||
|
|
||||||
@@ -6690,10 +6871,10 @@
|
@@ -6717,10 +6896,10 @@
|
||||||
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -796,7 +794,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
aTab.selected ||
|
aTab.selected ||
|
||||||
aTab.closing ||
|
aTab.closing ||
|
||||||
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
||||||
@@ -6753,7 +6934,8 @@
|
@@ -6780,7 +6959,8 @@
|
||||||
* @param {object} [aOptions={}]
|
* @param {object} [aOptions={}]
|
||||||
* Key-value pairs that will be serialized into the features string.
|
* Key-value pairs that will be serialized into the features string.
|
||||||
*/
|
*/
|
||||||
@@ -806,7 +804,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
if (this.tabs.length == 1) {
|
if (this.tabs.length == 1) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -6770,7 +6952,7 @@
|
@@ -6797,7 +6977,7 @@
|
||||||
// tell a new window to take the "dropped" tab
|
// tell a new window to take the "dropped" tab
|
||||||
let args = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray);
|
let args = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray);
|
||||||
args.appendElement(aTab.splitview ?? aTab);
|
args.appendElement(aTab.splitview ?? aTab);
|
||||||
@@ -815,7 +813,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
private: PrivateBrowsingUtils.isWindowPrivate(window),
|
private: PrivateBrowsingUtils.isWindowPrivate(window),
|
||||||
features: Object.entries(aOptions)
|
features: Object.entries(aOptions)
|
||||||
.map(([key, value]) => `${key}=${value}`)
|
.map(([key, value]) => `${key}=${value}`)
|
||||||
@@ -6778,6 +6960,8 @@
|
@@ -6805,6 +6985,8 @@
|
||||||
openerWindow: window,
|
openerWindow: window,
|
||||||
args,
|
args,
|
||||||
});
|
});
|
||||||
@@ -824,7 +822,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -6890,7 +7074,7 @@
|
@@ -6917,7 +7099,7 @@
|
||||||
* `true` if element is a `<tab-group>`
|
* `true` if element is a `<tab-group>`
|
||||||
*/
|
*/
|
||||||
isTabGroup(element) {
|
isTabGroup(element) {
|
||||||
@@ -833,7 +831,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -6975,8 +7159,8 @@
|
@@ -7002,8 +7184,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// Don't allow mixing pinned and unpinned tabs.
|
// Don't allow mixing pinned and unpinned tabs.
|
||||||
@@ -844,7 +842,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
} else {
|
} else {
|
||||||
tabIndex = Math.max(tabIndex, this.pinnedTabCount);
|
tabIndex = Math.max(tabIndex, this.pinnedTabCount);
|
||||||
}
|
}
|
||||||
@@ -7005,13 +7189,19 @@
|
@@ -7049,8 +7231,8 @@
|
||||||
this.#handleTabMove(
|
this.#handleTabMove(
|
||||||
element,
|
element,
|
||||||
() => {
|
() => {
|
||||||
@@ -855,7 +853,9 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
neighbor = neighbor.group;
|
neighbor = neighbor.group;
|
||||||
}
|
}
|
||||||
if (neighbor?.splitview) {
|
if (neighbor?.splitview) {
|
||||||
neighbor = neighbor.splitview;
|
@@ -7061,6 +7243,12 @@
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+ if (element.group?.hasAttribute("split-view-group")) {
|
+ if (element.group?.hasAttribute("split-view-group")) {
|
||||||
+ element = element.group;
|
+ element = element.group;
|
||||||
@@ -863,10 +863,10 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
+ if (element.group?.hasAttribute("split-view-group") && neighbor == element.group) {
|
+ if (element.group?.hasAttribute("split-view-group") && neighbor == element.group) {
|
||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
let useAfter = false;
|
|
||||||
if (this.isTab(element)) {
|
if (movingForwards && neighbor) {
|
||||||
useAfter = neighbor && tabIndex > element._tPos;
|
neighbor.after(element);
|
||||||
@@ -7076,23 +7266,31 @@
|
@@ -7119,23 +7307,31 @@
|
||||||
#moveTabNextTo(element, targetElement, moveBefore = false, metricsContext) {
|
#moveTabNextTo(element, targetElement, moveBefore = false, metricsContext) {
|
||||||
if (this.isTabGroupLabel(targetElement)) {
|
if (this.isTabGroupLabel(targetElement)) {
|
||||||
targetElement = targetElement.group;
|
targetElement = targetElement.group;
|
||||||
@@ -904,7 +904,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
} else if (!element.pinned && targetElement && targetElement.pinned) {
|
} else if (!element.pinned && targetElement && targetElement.pinned) {
|
||||||
// If the caller asks to move an unpinned element next to a pinned
|
// If the caller asks to move an unpinned element next to a pinned
|
||||||
// tab, move the unpinned element to be the first unpinned element
|
// tab, move the unpinned element to be the first unpinned element
|
||||||
@@ -7105,12 +7303,35 @@
|
@@ -7148,12 +7344,35 @@
|
||||||
// move the tab group right before the first unpinned tab.
|
// move the tab group right before the first unpinned tab.
|
||||||
// 4. Moving a tab group and the first unpinned tab is grouped:
|
// 4. Moving a tab group and the first unpinned tab is grouped:
|
||||||
// move the tab group right before the first unpinned tab's tab group.
|
// move the tab group right before the first unpinned tab's tab group.
|
||||||
@@ -941,7 +941,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
|
|
||||||
// We want to include the splitview wrapper if it's the targetElement, but
|
// We want to include the splitview wrapper if it's the targetElement, but
|
||||||
// not in the case where we want to reverse tabs within the same splitview.
|
// not in the case where we want to reverse tabs within the same splitview.
|
||||||
@@ -7119,6 +7340,7 @@
|
@@ -7162,6 +7381,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
let getContainer = () =>
|
let getContainer = () =>
|
||||||
@@ -949,7 +949,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
element.pinned
|
element.pinned
|
||||||
? this.tabContainer.pinnedTabsContainer
|
? this.tabContainer.pinnedTabsContainer
|
||||||
: this.tabContainer;
|
: this.tabContainer;
|
||||||
@@ -7127,11 +7349,15 @@
|
@@ -7170,11 +7390,15 @@
|
||||||
element,
|
element,
|
||||||
() => {
|
() => {
|
||||||
if (moveBefore) {
|
if (moveBefore) {
|
||||||
@@ -966,7 +966,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
metricsContext
|
metricsContext
|
||||||
@@ -7205,11 +7431,15 @@
|
@@ -7248,11 +7472,15 @@
|
||||||
* @param {TabMetricsContext} [metricsContext]
|
* @param {TabMetricsContext} [metricsContext]
|
||||||
*/
|
*/
|
||||||
moveTabToExistingGroup(aTab, aGroup, metricsContext) {
|
moveTabToExistingGroup(aTab, aGroup, metricsContext) {
|
||||||
@@ -985,7 +985,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}
|
}
|
||||||
if (aTab.group && aTab.group.id === aGroup.id) {
|
if (aTab.group && aTab.group.id === aGroup.id) {
|
||||||
return;
|
return;
|
||||||
@@ -7281,6 +7511,7 @@
|
@@ -7324,6 +7552,7 @@
|
||||||
|
|
||||||
let state = {
|
let state = {
|
||||||
tabIndex: tab._tPos,
|
tabIndex: tab._tPos,
|
||||||
@@ -993,7 +993,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
};
|
};
|
||||||
if (tab.visible) {
|
if (tab.visible) {
|
||||||
state.elementIndex = tab.elementIndex;
|
state.elementIndex = tab.elementIndex;
|
||||||
@@ -7312,7 +7543,7 @@
|
@@ -7355,7 +7584,7 @@
|
||||||
let changedSplitView =
|
let changedSplitView =
|
||||||
previousTabState.splitViewId != currentTabState.splitViewId;
|
previousTabState.splitViewId != currentTabState.splitViewId;
|
||||||
|
|
||||||
@@ -1002,7 +1002,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
tab.dispatchEvent(
|
tab.dispatchEvent(
|
||||||
new CustomEvent("TabMove", {
|
new CustomEvent("TabMove", {
|
||||||
bubbles: true,
|
bubbles: true,
|
||||||
@@ -7354,6 +7585,10 @@
|
@@ -7402,6 +7631,10 @@
|
||||||
|
|
||||||
moveActionCallback();
|
moveActionCallback();
|
||||||
|
|
||||||
@@ -1013,7 +1013,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
// Clear tabs cache after moving nodes because the order of tabs may have
|
// Clear tabs cache after moving nodes because the order of tabs may have
|
||||||
// changed.
|
// changed.
|
||||||
this.tabContainer._invalidateCachedTabs();
|
this.tabContainer._invalidateCachedTabs();
|
||||||
@@ -7404,7 +7639,22 @@
|
@@ -7452,7 +7685,22 @@
|
||||||
* @returns {object}
|
* @returns {object}
|
||||||
* The new tab in the current window, null if the tab couldn't be adopted.
|
* The new tab in the current window, null if the tab couldn't be adopted.
|
||||||
*/
|
*/
|
||||||
@@ -1037,7 +1037,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
// Swap the dropped tab with a new one we create and then close
|
// Swap the dropped tab with a new one we create and then close
|
||||||
// it in the other window (making it seem to have moved between
|
// it in the other window (making it seem to have moved between
|
||||||
// windows). We also ensure that the tab we create to swap into has
|
// windows). We also ensure that the tab we create to swap into has
|
||||||
@@ -7447,6 +7697,8 @@
|
@@ -7495,6 +7743,8 @@
|
||||||
}
|
}
|
||||||
params.skipLoad = true;
|
params.skipLoad = true;
|
||||||
let newTab = this.addWebTab("about:blank", params);
|
let newTab = this.addWebTab("about:blank", params);
|
||||||
@@ -1046,7 +1046,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
|
|
||||||
aTab.container.tabDragAndDrop.finishAnimateTabMove();
|
aTab.container.tabDragAndDrop.finishAnimateTabMove();
|
||||||
|
|
||||||
@@ -8149,7 +8401,7 @@
|
@@ -8205,7 +8455,7 @@
|
||||||
// preventDefault(). It will still raise the window if appropriate.
|
// preventDefault(). It will still raise the window if appropriate.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1055,7 +1055,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
window.focus();
|
window.focus();
|
||||||
aEvent.preventDefault();
|
aEvent.preventDefault();
|
||||||
}
|
}
|
||||||
@@ -8166,7 +8418,6 @@
|
@@ -8222,7 +8472,6 @@
|
||||||
|
|
||||||
on_TabGroupCollapse(aEvent) {
|
on_TabGroupCollapse(aEvent) {
|
||||||
aEvent.target.tabs.forEach(tab => {
|
aEvent.target.tabs.forEach(tab => {
|
||||||
@@ -1063,7 +1063,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8500,7 +8751,9 @@
|
@@ -8556,7 +8805,9 @@
|
||||||
|
|
||||||
let filter = this._tabFilters.get(tab);
|
let filter = this._tabFilters.get(tab);
|
||||||
if (filter) {
|
if (filter) {
|
||||||
@@ -1073,7 +1073,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
|
|
||||||
let listener = this._tabListeners.get(tab);
|
let listener = this._tabListeners.get(tab);
|
||||||
if (listener) {
|
if (listener) {
|
||||||
@@ -9306,6 +9559,7 @@
|
@@ -9359,6 +9610,7 @@
|
||||||
aWebProgress.isTopLevel
|
aWebProgress.isTopLevel
|
||||||
) {
|
) {
|
||||||
this.mTab.setAttribute("busy", "true");
|
this.mTab.setAttribute("busy", "true");
|
||||||
@@ -1081,7 +1081,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
||||||
this.mTab._notselectedsinceload = !this.mTab.selected;
|
this.mTab._notselectedsinceload = !this.mTab.selected;
|
||||||
}
|
}
|
||||||
@@ -9386,6 +9640,7 @@
|
@@ -9439,6 +9691,7 @@
|
||||||
// known defaults. Note we use the original URL since about:newtab
|
// known defaults. Note we use the original URL since about:newtab
|
||||||
// redirects to a prerendered page.
|
// redirects to a prerendered page.
|
||||||
const shouldRemoveFavicon =
|
const shouldRemoveFavicon =
|
||||||
@@ -1089,7 +1089,7 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
!this.mBrowser.mIconURL &&
|
!this.mBrowser.mIconURL &&
|
||||||
!ignoreBlank &&
|
!ignoreBlank &&
|
||||||
!(originalLocation.spec in FAVICON_DEFAULTS);
|
!(originalLocation.spec in FAVICON_DEFAULTS);
|
||||||
@@ -9560,13 +9815,6 @@
|
@@ -9613,13 +9866,6 @@
|
||||||
this.mBrowser.originalURI = aRequest.originalURI;
|
this.mBrowser.originalURI = aRequest.originalURI;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1103,11 +1103,12 @@ index 2643e1a2aa14ba5cb4a64a92e1c2dfa5f07d242f..d16fe62c8a67913dd1499b2665a22ff6
|
|||||||
}
|
}
|
||||||
|
|
||||||
let userContextId = this.mBrowser.getAttribute("usercontextid") || 0;
|
let userContextId = this.mBrowser.getAttribute("usercontextid") || 0;
|
||||||
@@ -10450,7 +10698,7 @@ var TabContextMenu = {
|
@@ -10507,7 +10753,8 @@ var TabContextMenu = {
|
||||||
);
|
);
|
||||||
contextUnpinSelectedTabs.hidden =
|
contextUnpinSelectedTabs.hidden =
|
||||||
!this.contextTab.pinned || !this.multiselected;
|
!this.contextTab.pinned || !this.multiselected;
|
||||||
-
|
-
|
||||||
|
+ gZenViewSplitter.updateContextMenuItems();
|
||||||
+ gZenPinnedTabManager.updatePinnedTabContextMenu(this.contextTab);
|
+ gZenPinnedTabManager.updatePinnedTabContextMenu(this.contextTab);
|
||||||
// Build Ask Chat items
|
// Build Ask Chat items
|
||||||
TabContextMenu.GenAI.buildTabMenu(
|
TabContextMenu.GenAI.buildTabMenu(
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tabgroup.js b/browser/components/tabbrowser/content/tabgroup.js
|
diff --git a/browser/components/tabbrowser/content/tabgroup.js b/browser/components/tabbrowser/content/tabgroup.js
|
||||||
index 65c89aab0902cb33ad33fc523d3e0b954618778e..b42298457fdd2f8df6ff202c804122ffc999d409 100644
|
index d1be14df27d76a191eaff05502c030fd68c46738..e9b5e90e39b594a6119081c8d707fb4a064fea9b 100644
|
||||||
--- a/browser/components/tabbrowser/content/tabgroup.js
|
--- a/browser/components/tabbrowser/content/tabgroup.js
|
||||||
+++ b/browser/components/tabbrowser/content/tabgroup.js
|
+++ b/browser/components/tabbrowser/content/tabgroup.js
|
||||||
@@ -14,11 +14,11 @@
|
@@ -14,11 +14,11 @@
|
||||||
@@ -147,7 +147,7 @@ index 65c89aab0902cb33ad33fc523d3e0b954618778e..b42298457fdd2f8df6ff202c804122ff
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -478,13 +511,65 @@
|
@@ -478,13 +511,68 @@
|
||||||
* @returns {MozTabbrowserTab[]}
|
* @returns {MozTabbrowserTab[]}
|
||||||
*/
|
*/
|
||||||
get tabs() {
|
get tabs() {
|
||||||
@@ -162,8 +162,9 @@ index 65c89aab0902cb33ad33fc523d3e0b954618778e..b42298457fdd2f8df6ff202c804122ff
|
|||||||
+ tabsCollect.push(item);
|
+ tabsCollect.push(item);
|
||||||
+ if (gBrowser.isTabGroup(item)) {
|
+ if (gBrowser.isTabGroup(item)) {
|
||||||
+ tabsCollect.push(...item.tabs);
|
+ tabsCollect.push(...item.tabs);
|
||||||
+ }
|
}
|
||||||
+ }
|
}
|
||||||
|
- return childrenArray.filter(node => node.matches("tab"));
|
||||||
+ return tabsCollect.filter(node => node.matches("tab"));
|
+ return tabsCollect.filter(node => node.matches("tab"));
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -189,9 +190,8 @@ index 65c89aab0902cb33ad33fc523d3e0b954618778e..b42298457fdd2f8df6ff202c804122ff
|
|||||||
+ result.push(labelContainer);
|
+ result.push(labelContainer);
|
||||||
+ }
|
+ }
|
||||||
+ result.push(...item.childGroupsAndTabs);
|
+ result.push(...item.childGroupsAndTabs);
|
||||||
}
|
+ }
|
||||||
}
|
+ }
|
||||||
- return childrenArray.filter(node => node.matches("tab"));
|
|
||||||
+ return result;
|
+ return result;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -210,6 +210,9 @@ index 65c89aab0902cb33ad33fc523d3e0b954618778e..b42298457fdd2f8df6ff202c804122ff
|
|||||||
+ return false;
|
+ return false;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
|
+ if (this.pinned && gZenWorkspaces.activeWorkspaceElement?.hasCollapsedPinnedTabs) {
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
+ return true;
|
+ return true;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -218,7 +221,7 @@ index 65c89aab0902cb33ad33fc523d3e0b954618778e..b42298457fdd2f8df6ff202c804122ff
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -592,7 +677,6 @@
|
@@ -592,7 +680,6 @@
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
if (tabOrSplitView.pinned) {
|
if (tabOrSplitView.pinned) {
|
||||||
@@ -226,7 +229,7 @@ index 65c89aab0902cb33ad33fc523d3e0b954618778e..b42298457fdd2f8df6ff202c804122ff
|
|||||||
}
|
}
|
||||||
let tabToMove =
|
let tabToMove =
|
||||||
this.ownerGlobal === tabOrSplitView.ownerGlobal
|
this.ownerGlobal === tabOrSplitView.ownerGlobal
|
||||||
@@ -661,7 +745,7 @@
|
@@ -661,7 +748,7 @@
|
||||||
*/
|
*/
|
||||||
on_click(event) {
|
on_click(event) {
|
||||||
let isToggleElement =
|
let isToggleElement =
|
||||||
@@ -235,7 +238,7 @@ index 65c89aab0902cb33ad33fc523d3e0b954618778e..b42298457fdd2f8df6ff202c804122ff
|
|||||||
event.target === this.#overflowCountLabel;
|
event.target === this.#overflowCountLabel;
|
||||||
if (isToggleElement && event.button === 0) {
|
if (isToggleElement && event.button === 0) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
@@ -740,5 +824,6 @@
|
@@ -740,5 +827,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarController.sys.mjs b/browser/components/urlbar/UrlbarController.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarController.sys.mjs b/browser/components/urlbar/UrlbarController.sys.mjs
|
||||||
index da0a9c73118886d535d574810de8141cb96e54ba..104062e2c0142bd08a4498e7ca282fc46cda09be 100644
|
index bb0189fbfc91b3fc3b399b077a35f7b60a3f985f..c4dd60c6fb6d7eb2288a033708836f9983530e2c 100644
|
||||||
--- a/browser/components/urlbar/UrlbarController.sys.mjs
|
--- a/browser/components/urlbar/UrlbarController.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarController.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarController.sys.mjs
|
||||||
@@ -304,7 +304,6 @@ export class UrlbarController {
|
@@ -305,7 +305,6 @@ export class UrlbarController {
|
||||||
const isMac = AppConstants.platform == "macosx";
|
const isMac = AppConstants.platform == "macosx";
|
||||||
// Handle readline/emacs-style navigation bindings on Mac.
|
// Handle readline/emacs-style navigation bindings on Mac.
|
||||||
if (
|
if (
|
||||||
@@ -10,7 +10,7 @@ index da0a9c73118886d535d574810de8141cb96e54ba..104062e2c0142bd08a4498e7ca282fc4
|
|||||||
this.view.isOpen &&
|
this.view.isOpen &&
|
||||||
event.ctrlKey &&
|
event.ctrlKey &&
|
||||||
(event.key == "n" || event.key == "p")
|
(event.key == "n" || event.key == "p")
|
||||||
@@ -455,6 +454,8 @@ export class UrlbarController {
|
@@ -456,6 +455,8 @@ export class UrlbarController {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
|
||||||
index 136c66310f37bda3229b82eef32a4a22a716a0b0..4ca15850002cefda0484179839280e58eaf42cfa 100644
|
index 16041c10755adced9d665539796737a9f55712de..2232bdcc02e20dbb384ca0529a8bd8ce73dc6284 100644
|
||||||
--- a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
|
--- a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
|
||||||
@@ -837,11 +837,16 @@ class MuxerUnifiedComplete extends UrlbarMuxer {
|
@@ -837,11 +837,16 @@ class MuxerUnifiedComplete extends UrlbarMuxer {
|
||||||
@@ -19,7 +19,7 @@ index 136c66310f37bda3229b82eef32a4a22a716a0b0..4ca15850002cefda0484179839280e58
|
|||||||
// Discard the result if a tab-to-search result was added already.
|
// Discard the result if a tab-to-search result was added already.
|
||||||
if (!state.canAddTabToSearch) {
|
if (!state.canAddTabToSearch) {
|
||||||
return false;
|
return false;
|
||||||
@@ -1490,7 +1495,9 @@ class MuxerUnifiedComplete extends UrlbarMuxer {
|
@@ -1491,7 +1496,9 @@ class MuxerUnifiedComplete extends UrlbarMuxer {
|
||||||
usedLimits.maxResultCount++;
|
usedLimits.maxResultCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,21 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarPrefs.sys.mjs b/browser/components/urlbar/UrlbarPrefs.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarPrefs.sys.mjs b/browser/components/urlbar/UrlbarPrefs.sys.mjs
|
||||||
index 2d21248256c6c2bfb8dac958133c10e3251ef564..6645211ef09518b41cb737e3186fbd0162ecf700 100644
|
index 2d21248256c6c2bfb8dac958133c10e3251ef564..f788bd10ec2c08e4b27b77cd3bb0489fb04e8b7a 100644
|
||||||
--- a/browser/components/urlbar/UrlbarPrefs.sys.mjs
|
--- a/browser/components/urlbar/UrlbarPrefs.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarPrefs.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarPrefs.sys.mjs
|
||||||
@@ -799,6 +799,7 @@ function makeDefaultResultGroups({ showSearchSuggestionsFirst }) {
|
@@ -462,6 +462,7 @@ const PREF_URLBAR_DEFAULTS = /** @type {PreferenceDefinition[]} */ ([
|
||||||
|
["shortcuts.tabs", true],
|
||||||
|
["shortcuts.history", true],
|
||||||
|
["shortcuts.actions", true],
|
||||||
|
+ ["shortcuts.workspaces", true],
|
||||||
|
|
||||||
|
// Boolean to determine if the providers defined in `exposureResults`
|
||||||
|
// should be displayed in search results. This can be set by a
|
||||||
|
@@ -799,6 +800,8 @@ function makeDefaultResultGroups({ showSearchSuggestionsFirst }) {
|
||||||
*/
|
*/
|
||||||
let rootGroup = {
|
let rootGroup = {
|
||||||
children: [
|
children: [
|
||||||
+ { children: [{ group: lazy.UrlbarUtils.RESULT_GROUP.ZEN_ACTION }] },
|
+ { children: [{ group: lazy.UrlbarUtils.RESULT_GROUP.ZEN_ACTION }] },
|
||||||
|
+ { children: [{ group: lazy.UrlbarUtils.RESULT_GROUP.ZEN_WORKSPACE }] },
|
||||||
// heuristic
|
// heuristic
|
||||||
{
|
{
|
||||||
maxResultCount: 1,
|
maxResultCount: 1,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
|
||||||
index 08455d8d5da233639ccebc0e77c0810fb4f674c3..78d0e875978b568b79646489c28b125a44ea79fa 100644
|
index d9048a3b8b1f18745c01e40e12f529db3cfaa79e..1ba124a710fcf734ea11f7ccfd4f2f6ebe53e7d2 100644
|
||||||
--- a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
|
--- a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
|
||||||
@@ -913,6 +913,7 @@ export class Query {
|
@@ -913,6 +913,7 @@ export class Query {
|
||||||
@@ -10,3 +10,26 @@ index 08455d8d5da233639ccebc0e77c0810fb4f674c3..78d0e875978b568b79646489c28b125a
|
|||||||
(!this.context.trimmedSearchString ||
|
(!this.context.trimmedSearchString ||
|
||||||
(!this.context.searchMode.engineName && !result.autofill))
|
(!this.context.searchMode.engineName && !result.autofill))
|
||||||
) {
|
) {
|
||||||
|
@@ -1043,6 +1044,7 @@ function updateSourcesIfEmpty(context) {
|
||||||
|
lazy.UrlbarTokenizer.TYPE.RESTRICT_TITLE,
|
||||||
|
lazy.UrlbarTokenizer.TYPE.RESTRICT_URL,
|
||||||
|
lazy.UrlbarTokenizer.TYPE.RESTRICT_ACTION,
|
||||||
|
+ lazy.UrlbarTokenizer.TYPE.RESTRICT_WORKSPACE,
|
||||||
|
].includes(t.type)
|
||||||
|
);
|
||||||
|
|
||||||
|
@@ -1100,6 +1102,14 @@ function updateSourcesIfEmpty(context) {
|
||||||
|
acceptedSources.push(source);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
+ case lazy.UrlbarUtils.RESULT_SOURCE.WORKSPACES:
|
||||||
|
+ if (
|
||||||
|
+ restrictTokenType === lazy.UrlbarTokenizer.TYPE.RESTRICT_WORKSPACE ||
|
||||||
|
+ !restrictTokenType
|
||||||
|
+ ) {
|
||||||
|
+ acceptedSources.push(source);
|
||||||
|
+ }
|
||||||
|
+ break;
|
||||||
|
case lazy.UrlbarUtils.RESULT_SOURCE.OTHER_LOCAL:
|
||||||
|
case lazy.UrlbarUtils.RESULT_SOURCE.ADDON:
|
||||||
|
default:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarResult.sys.mjs b/browser/components/urlbar/UrlbarResult.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarResult.sys.mjs b/browser/components/urlbar/UrlbarResult.sys.mjs
|
||||||
index 65b8fb67b51c8959fe1d47b98efbb2bca591eafc..c52c50a87b37ca1c885c55b36e5beccc8dd7c5fb 100644
|
index 21f7938f76375e7230f9509e4932cafa4d0e57f2..ab96b160b6c65da3bf267d9fe2f1f35c7507466e 100644
|
||||||
--- a/browser/components/urlbar/UrlbarResult.sys.mjs
|
--- a/browser/components/urlbar/UrlbarResult.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarResult.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarResult.sys.mjs
|
||||||
@@ -181,6 +181,10 @@ export class UrlbarResult {
|
@@ -181,6 +181,10 @@ export class UrlbarResult {
|
||||||
|
|||||||
28
src/browser/components/urlbar/UrlbarTokenizer-sys-mjs.patch
Normal file
28
src/browser/components/urlbar/UrlbarTokenizer-sys-mjs.patch
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
diff --git a/browser/components/urlbar/UrlbarTokenizer.sys.mjs b/browser/components/urlbar/UrlbarTokenizer.sys.mjs
|
||||||
|
index d4af0ee5138a69139b94d898fb07e2345172f025..f750aae3f9f0a849ca009784510575b2b7119e6d 100644
|
||||||
|
--- a/browser/components/urlbar/UrlbarTokenizer.sys.mjs
|
||||||
|
+++ b/browser/components/urlbar/UrlbarTokenizer.sys.mjs
|
||||||
|
@@ -66,6 +66,7 @@ export var UrlbarTokenizer = {
|
||||||
|
// `looksLikeOrigin()` returned `LOOKS_LIKE_ORIGIN.OTHER` for this token. It
|
||||||
|
// may or may not be an origin.
|
||||||
|
POSSIBLE_ORIGIN_BUT_SEARCH_ALLOWED: 12,
|
||||||
|
+ RESTRICT_WORKSPACE: 13,
|
||||||
|
}),
|
||||||
|
|
||||||
|
// The special characters below can be typed into the urlbar to restrict
|
||||||
|
@@ -83,6 +84,7 @@ export var UrlbarTokenizer = {
|
||||||
|
TITLE: "#",
|
||||||
|
URL: "$",
|
||||||
|
ACTION: ">",
|
||||||
|
+ WORKSPACE: "`",
|
||||||
|
}),
|
||||||
|
|
||||||
|
// The keys of characters in RESTRICT that will enter search mode.
|
||||||
|
@@ -97,6 +99,7 @@ export var UrlbarTokenizer = {
|
||||||
|
if (lazy.UrlbarPrefs.get("scotchBonnet.enableOverride")) {
|
||||||
|
keys.push(this.RESTRICT.ACTION);
|
||||||
|
}
|
||||||
|
+ keys.push(this.RESTRICT.WORKSPACE);
|
||||||
|
return new Set(keys);
|
||||||
|
},
|
||||||
|
|
||||||
@@ -1,29 +1,50 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarUtils.sys.mjs b/browser/components/urlbar/UrlbarUtils.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarUtils.sys.mjs b/browser/components/urlbar/UrlbarUtils.sys.mjs
|
||||||
index 64afd613f454edd7786fcc1e2f307a582e4d5f51..b4af9cc2fbddba2c5229e8ffee7b9c0c06c3e1d0 100644
|
index 62367c5a77614e5973791abacd068b39e0f3ab34..c930943b5bfa8a2e6dee43f0ec7a10274a7c7638 100644
|
||||||
--- a/browser/components/urlbar/UrlbarUtils.sys.mjs
|
--- a/browser/components/urlbar/UrlbarUtils.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarUtils.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarUtils.sys.mjs
|
||||||
@@ -85,6 +85,7 @@ export var UrlbarUtils = {
|
@@ -109,6 +109,8 @@ export var UrlbarUtils = {
|
||||||
RESTRICT_SEARCH_KEYWORD: "restrictSearchKeyword",
|
RESTRICT_SEARCH_KEYWORD: "restrictSearchKeyword",
|
||||||
SUGGESTED_INDEX: "suggestedIndex",
|
SUGGESTED_INDEX: "suggestedIndex",
|
||||||
TAIL_SUGGESTION: "tailSuggestion",
|
TAIL_SUGGESTION: "tailSuggestion",
|
||||||
+ ZEN_ACTION: "zenAction",
|
+ ZEN_ACTION: "zenAction",
|
||||||
|
+ ZEN_WORKSPACE: "zenWorkspace",
|
||||||
}),
|
}),
|
||||||
|
|
||||||
// Defines provider types.
|
// Defines provider types.
|
||||||
@@ -146,6 +147,7 @@ export var UrlbarUtils = {
|
@@ -170,6 +172,8 @@ export var UrlbarUtils = {
|
||||||
OTHER_NETWORK: 6,
|
OTHER_NETWORK: 6,
|
||||||
ADDON: 7,
|
ADDON: 7,
|
||||||
ACTIONS: 8,
|
ACTIONS: 8,
|
||||||
+ ZEN_ACTIONS: 9,
|
+ ZEN_ACTIONS: 9,
|
||||||
|
+ WORKSPACES: 10,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
// Per-result exposure telemetry.
|
// Per-result exposure telemetry.
|
||||||
@@ -587,6 +589,8 @@ export var UrlbarUtils = {
|
@@ -319,6 +323,14 @@ export var UrlbarUtils = {
|
||||||
|
telemetryLabel: "actions",
|
||||||
|
uiLabel: "urlbar-searchmode-actions2",
|
||||||
|
},
|
||||||
|
+ {
|
||||||
|
+ source: this.RESULT_SOURCE.WORKSPACES,
|
||||||
|
+ restrict: lazy.UrlbarTokenizer.RESTRICT.WORKSPACE,
|
||||||
|
+ icon: "chrome://browser/skin/zen-icons/selectable/layers.svg",
|
||||||
|
+ pref: "shortcuts.workspaces",
|
||||||
|
+ telemetryLabel: "workspaces",
|
||||||
|
+ uiLabel: "urlbar-search-mode-workspaces",
|
||||||
|
+ },
|
||||||
|
]);
|
||||||
|
},
|
||||||
|
|
||||||
|
@@ -611,6 +623,12 @@ export var UrlbarUtils = {
|
||||||
return this.RESULT_GROUP.HEURISTIC_FALLBACK;
|
return this.RESULT_GROUP.HEURISTIC_FALLBACK;
|
||||||
case "UrlbarProviderHistoryUrlHeuristic":
|
case "UrlbarProviderHistoryUrlHeuristic":
|
||||||
return this.RESULT_GROUP.HEURISTIC_HISTORY_URL;
|
return this.RESULT_GROUP.HEURISTIC_HISTORY_URL;
|
||||||
+ case "ZenUrlbarProviderGlobalActions":
|
+ case "ZenUrlbarProviderGlobalActions":
|
||||||
+ return this.RESULT_GROUP.ZEN_ACTION;
|
+ if (result.source == this.RESULT_SOURCE.WORKSPACES) {
|
||||||
|
+ return this.RESULT_GROUP.ZEN_WORKSPACE;
|
||||||
|
+ } else {
|
||||||
|
+ return this.RESULT_GROUP.ZEN_ACTION;
|
||||||
|
+ }
|
||||||
case "UrlbarProviderOmnibox":
|
case "UrlbarProviderOmnibox":
|
||||||
return this.RESULT_GROUP.HEURISTIC_OMNIBOX;
|
return this.RESULT_GROUP.HEURISTIC_OMNIBOX;
|
||||||
case "UrlbarProviderRestrictKeywordsAutofill":
|
case "UrlbarProviderRestrictKeywordsAutofill":
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarValueFormatter.sys.mjs b/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarValueFormatter.sys.mjs b/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
|
||||||
index f28d277764158566bc9406ce0e6160d92d346a63..82dd5f8568ec1b12e87676e5c2b243824628b5af 100644
|
index 344a9a5b969e679040a650dad311c7413f52bbbd..24111cef5e476253f4e69c4d99f6f220bfd8cd7e 100644
|
||||||
--- a/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
|
--- a/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
|
||||||
@@ -77,7 +77,7 @@ export class UrlbarValueFormatter {
|
@@ -77,7 +77,7 @@ export class UrlbarValueFormatter {
|
||||||
@@ -11,7 +11,26 @@ index f28d277764158566bc9406ce0e6160d92d346a63..82dd5f8568ec1b12e87676e5c2b24382
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -371,7 +371,7 @@ export class UrlbarValueFormatter {
|
@@ -105,6 +105,18 @@ export class UrlbarValueFormatter {
|
||||||
|
}
|
||||||
|
|
||||||
|
#ensureFormattedHostVisible(urlMetaData) {
|
||||||
|
+ // Make sure the domain is visible even with long subdomains when the single sidebar is being used
|
||||||
|
+ if (
|
||||||
|
+ this.#window.gZenVerticalTabsManager?._hasSetSingleToolbar
|
||||||
|
+ && Services.prefs.getBoolPref("zen.urlbar.show-domain-only-in-sidebar")
|
||||||
|
+ ) {
|
||||||
|
+ // also compare the difference in width from this and the urlbar input, to avoid scrolling
|
||||||
|
+ // when urlbar buttons are showing.
|
||||||
|
+ const urlbarInputWidth = this.#window.windowUtils.getBoundsWithoutFlushing(this.#window.gURLBar).width;
|
||||||
|
+ const inputFieldWidth = this.#window.windowUtils.getBoundsWithoutFlushing(this.#inputField).width;
|
||||||
|
+ this.#inputField.scrollLeft = (this.#inputField.scrollLeftMax - (urlbarInputWidth - inputFieldWidth) );
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
// Make sure the host is always visible. Since it is aligned on
|
||||||
|
// the first strong directional character, we set scrollLeft
|
||||||
|
// appropriately to ensure the domain stays visible in case of an
|
||||||
|
@@ -371,7 +383,7 @@ export class UrlbarValueFormatter {
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
* True if formatting was applied and false if not.
|
* True if formatting was applied and false if not.
|
||||||
*/
|
*/
|
||||||
@@ -20,7 +39,7 @@ index f28d277764158566bc9406ce0e6160d92d346a63..82dd5f8568ec1b12e87676e5c2b24382
|
|||||||
let urlMetaData = this.#getUrlMetaData();
|
let urlMetaData = this.#getUrlMetaData();
|
||||||
if (!urlMetaData) {
|
if (!urlMetaData) {
|
||||||
return false;
|
return false;
|
||||||
@@ -640,6 +640,7 @@ export class UrlbarValueFormatter {
|
@@ -640,6 +652,7 @@ export class UrlbarValueFormatter {
|
||||||
this.#window.requestAnimationFrame(() => {
|
this.#window.requestAnimationFrame(() => {
|
||||||
if (instance == this.#resizeInstance) {
|
if (instance == this.#resizeInstance) {
|
||||||
this.#ensureFormattedHostVisible();
|
this.#ensureFormattedHostVisible();
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarView.sys.mjs b/browser/components/urlbar/UrlbarView.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarView.sys.mjs b/browser/components/urlbar/UrlbarView.sys.mjs
|
||||||
index b665adb1a1ce8bbae8df4cbea6c3248c3e4fb431..7a73907957d38caba5b650749abf80a01b51559d 100644
|
index b665adb1a1ce8bbae8df4cbea6c3248c3e4fb431..1de7f9461b8ccbd4680b917e6dd5ba3c02f69a94 100644
|
||||||
--- a/browser/components/urlbar/UrlbarView.sys.mjs
|
--- a/browser/components/urlbar/UrlbarView.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarView.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarView.sys.mjs
|
||||||
@@ -640,7 +640,7 @@ export class UrlbarView {
|
@@ -640,7 +640,7 @@ export class UrlbarView {
|
||||||
@@ -11,7 +11,18 @@ index b665adb1a1ce8bbae8df4cbea6c3248c3e4fb431..7a73907957d38caba5b650749abf80a0
|
|||||||
// Try to reuse the cached top-sites context. If it's not cached, then
|
// Try to reuse the cached top-sites context. If it's not cached, then
|
||||||
// there will be a gap of time between when the input is focused and
|
// there will be a gap of time between when the input is focused and
|
||||||
// when the view opens that can be perceived as flicker.
|
// when the view opens that can be perceived as flicker.
|
||||||
@@ -2988,6 +2988,8 @@ export class UrlbarView {
|
@@ -777,10 +777,6 @@ export class UrlbarView {
|
||||||
|
}
|
||||||
|
|
||||||
|
// If search mode isn't active, close the view.
|
||||||
|
- if (!this.input.searchMode) {
|
||||||
|
- this.close();
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
|
||||||
|
// Search mode is active. If the one-offs should be shown, make sure they
|
||||||
|
// are enabled and show the view.
|
||||||
|
@@ -2988,6 +2984,8 @@ export class UrlbarView {
|
||||||
if (row?.hasAttribute("row-selectable")) {
|
if (row?.hasAttribute("row-selectable")) {
|
||||||
row?.toggleAttribute("selected", true);
|
row?.toggleAttribute("selected", true);
|
||||||
}
|
}
|
||||||
@@ -20,7 +31,7 @@ index b665adb1a1ce8bbae8df4cbea6c3248c3e4fb431..7a73907957d38caba5b650749abf80a0
|
|||||||
if (element != row) {
|
if (element != row) {
|
||||||
row?.toggleAttribute("descendant-selected", true);
|
row?.toggleAttribute("descendant-selected", true);
|
||||||
}
|
}
|
||||||
@@ -3477,7 +3479,7 @@ export class UrlbarView {
|
@@ -3477,7 +3475,7 @@ export class UrlbarView {
|
||||||
}
|
}
|
||||||
|
|
||||||
#enableOrDisableRowWrap() {
|
#enableOrDisableRowWrap() {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/urlbar/content/UrlbarInput.mjs b/browser/components/urlbar/content/UrlbarInput.mjs
|
diff --git a/browser/components/urlbar/content/UrlbarInput.mjs b/browser/components/urlbar/content/UrlbarInput.mjs
|
||||||
index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f5c811a82 100644
|
index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..e1128b0d7f5accfd48af27f99e3b2e6463b45191 100644
|
||||||
--- a/browser/components/urlbar/content/UrlbarInput.mjs
|
--- a/browser/components/urlbar/content/UrlbarInput.mjs
|
||||||
+++ b/browser/components/urlbar/content/UrlbarInput.mjs
|
+++ b/browser/components/urlbar/content/UrlbarInput.mjs
|
||||||
@@ -90,6 +90,13 @@ const lazy = XPCOMUtils.declareLazy({
|
@@ -98,6 +98,13 @@ const lazy = XPCOMUtils.declareLazy({
|
||||||
logger: () => lazy.UrlbarUtils.getLogger({ prefix: "Input" }),
|
logger: () => lazy.UrlbarUtils.getLogger({ prefix: "Input" }),
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
const UNLIMITED_MAX_RESULTS = 99;
|
const UNLIMITED_MAX_RESULTS = 99;
|
||||||
|
|
||||||
let getBoundsWithoutFlushing = element =>
|
let getBoundsWithoutFlushing = element =>
|
||||||
@@ -708,7 +715,16 @@ export class UrlbarInput extends HTMLElement {
|
@@ -743,7 +750,16 @@ ${
|
||||||
// See _on_select(). HTMLInputElement.select() dispatches a "select"
|
// See _on_select(). HTMLInputElement.select() dispatches a "select"
|
||||||
// event but does not set the primary selection.
|
// event but does not set the primary selection.
|
||||||
this._suppressPrimaryAdjustment = true;
|
this._suppressPrimaryAdjustment = true;
|
||||||
@@ -33,7 +33,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
this._suppressPrimaryAdjustment = false;
|
this._suppressPrimaryAdjustment = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -782,6 +798,10 @@ export class UrlbarInput extends HTMLElement {
|
@@ -817,6 +833,10 @@ ${
|
||||||
hideSearchTerms = false,
|
hideSearchTerms = false,
|
||||||
isSameDocument = false,
|
isSameDocument = false,
|
||||||
} = {}) {
|
} = {}) {
|
||||||
@@ -44,7 +44,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
if (!this.#isAddressbar) {
|
if (!this.#isAddressbar) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"Cannot set URI for UrlbarInput that is not an address bar"
|
"Cannot set URI for UrlbarInput that is not an address bar"
|
||||||
@@ -1071,8 +1091,16 @@ export class UrlbarInput extends HTMLElement {
|
@@ -1106,8 +1126,16 @@ ${
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -62,7 +62,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1496,7 +1524,11 @@ export class UrlbarInput extends HTMLElement {
|
@@ -1551,7 +1579,11 @@ ${
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.#providesSearchMode(result)) {
|
if (!this.#providesSearchMode(result)) {
|
||||||
@@ -75,7 +75,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isCanonized) {
|
if (isCanonized) {
|
||||||
@@ -2696,6 +2728,42 @@ export class UrlbarInput extends HTMLElement {
|
@@ -2858,6 +2890,42 @@ ${
|
||||||
await this.#updateLayoutBreakoutDimensions();
|
await this.#updateLayoutBreakoutDimensions();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,7 +118,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
startLayoutExtend() {
|
startLayoutExtend() {
|
||||||
if (!this.#allowBreakout || this.hasAttribute("breakout-extend")) {
|
if (!this.#allowBreakout || this.hasAttribute("breakout-extend")) {
|
||||||
// Do not expand if the Urlbar does not support being expanded or it is
|
// Do not expand if the Urlbar does not support being expanded or it is
|
||||||
@@ -2710,6 +2778,13 @@ export class UrlbarInput extends HTMLElement {
|
@@ -2872,6 +2940,13 @@ ${
|
||||||
|
|
||||||
this.setAttribute("breakout-extend", "true");
|
this.setAttribute("breakout-extend", "true");
|
||||||
|
|
||||||
@@ -132,7 +132,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
// Enable the animation only after the first extend call to ensure it
|
// Enable the animation only after the first extend call to ensure it
|
||||||
// doesn't run when opening a new window.
|
// doesn't run when opening a new window.
|
||||||
if (!this.hasAttribute("breakout-extend-animate")) {
|
if (!this.hasAttribute("breakout-extend-animate")) {
|
||||||
@@ -2729,6 +2804,27 @@ export class UrlbarInput extends HTMLElement {
|
@@ -2891,6 +2966,27 @@ ${
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,7 +160,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
this.removeAttribute("breakout-extend");
|
this.removeAttribute("breakout-extend");
|
||||||
this.#updateTextboxPosition();
|
this.#updateTextboxPosition();
|
||||||
}
|
}
|
||||||
@@ -2759,7 +2855,7 @@ export class UrlbarInput extends HTMLElement {
|
@@ -2921,7 +3017,7 @@ ${
|
||||||
forceUnifiedSearchButtonAvailable = false
|
forceUnifiedSearchButtonAvailable = false
|
||||||
) {
|
) {
|
||||||
let prevState = this.getAttribute("pageproxystate");
|
let prevState = this.getAttribute("pageproxystate");
|
||||||
@@ -169,7 +169,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
this.setAttribute("pageproxystate", state);
|
this.setAttribute("pageproxystate", state);
|
||||||
this._inputContainer.setAttribute("pageproxystate", state);
|
this._inputContainer.setAttribute("pageproxystate", state);
|
||||||
this._identityBox?.setAttribute("pageproxystate", state);
|
this._identityBox?.setAttribute("pageproxystate", state);
|
||||||
@@ -3031,10 +3127,12 @@ export class UrlbarInput extends HTMLElement {
|
@@ -3198,10 +3294,12 @@ ${
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.style.top = px(
|
this.style.top = px(
|
||||||
@@ -182,7 +182,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3093,9 +3191,10 @@ export class UrlbarInput extends HTMLElement {
|
@@ -3260,9 +3358,10 @@ ${
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,7 +194,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
);
|
);
|
||||||
this.style.setProperty(
|
this.style.setProperty(
|
||||||
"--urlbar-height",
|
"--urlbar-height",
|
||||||
@@ -3597,6 +3696,7 @@ export class UrlbarInput extends HTMLElement {
|
@@ -3768,6 +3867,7 @@ ${
|
||||||
}
|
}
|
||||||
|
|
||||||
_toggleActionOverride(event) {
|
_toggleActionOverride(event) {
|
||||||
@@ -202,7 +202,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
if (
|
if (
|
||||||
event.keyCode == KeyEvent.DOM_VK_SHIFT ||
|
event.keyCode == KeyEvent.DOM_VK_SHIFT ||
|
||||||
event.keyCode == KeyEvent.DOM_VK_ALT ||
|
event.keyCode == KeyEvent.DOM_VK_ALT ||
|
||||||
@@ -3709,8 +3809,8 @@ export class UrlbarInput extends HTMLElement {
|
@@ -3880,8 +3980,8 @@ ${
|
||||||
if (!this.#isAddressbar) {
|
if (!this.#isAddressbar) {
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
@@ -213,7 +213,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
: val;
|
: val;
|
||||||
// Only trim value if the directionality doesn't change to RTL and we're not
|
// Only trim value if the directionality doesn't change to RTL and we're not
|
||||||
// showing a strikeout https protocol.
|
// showing a strikeout https protocol.
|
||||||
@@ -4006,6 +4106,7 @@ export class UrlbarInput extends HTMLElement {
|
@@ -4180,6 +4280,7 @@ ${
|
||||||
resultDetails = null,
|
resultDetails = null,
|
||||||
browser = this.window.gBrowser.selectedBrowser
|
browser = this.window.gBrowser.selectedBrowser
|
||||||
) {
|
) {
|
||||||
@@ -221,7 +221,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
if (this.#isAddressbar) {
|
if (this.#isAddressbar) {
|
||||||
this.#prepareAddressbarLoad(
|
this.#prepareAddressbarLoad(
|
||||||
url,
|
url,
|
||||||
@@ -4117,6 +4218,10 @@ export class UrlbarInput extends HTMLElement {
|
@@ -4291,6 +4392,10 @@ ${
|
||||||
}
|
}
|
||||||
reuseEmpty = true;
|
reuseEmpty = true;
|
||||||
}
|
}
|
||||||
@@ -232,7 +232,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
if (
|
if (
|
||||||
where == "tab" &&
|
where == "tab" &&
|
||||||
reuseEmpty &&
|
reuseEmpty &&
|
||||||
@@ -4124,6 +4229,9 @@ export class UrlbarInput extends HTMLElement {
|
@@ -4298,6 +4403,9 @@ ${
|
||||||
) {
|
) {
|
||||||
where = "current";
|
where = "current";
|
||||||
}
|
}
|
||||||
@@ -242,7 +242,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
return where;
|
return where;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4378,6 +4486,7 @@ export class UrlbarInput extends HTMLElement {
|
@@ -4552,6 +4660,7 @@ ${
|
||||||
this.setResultForCurrentValue(null);
|
this.setResultForCurrentValue(null);
|
||||||
this.handleCommand();
|
this.handleCommand();
|
||||||
this.controller.clearLastQueryContextCache();
|
this.controller.clearLastQueryContextCache();
|
||||||
@@ -250,7 +250,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
|
|
||||||
this._suppressStartQuery = false;
|
this._suppressStartQuery = false;
|
||||||
});
|
});
|
||||||
@@ -4385,7 +4494,6 @@ export class UrlbarInput extends HTMLElement {
|
@@ -4559,7 +4668,6 @@ ${
|
||||||
contextMenu.addEventListener("popupshowing", () => {
|
contextMenu.addEventListener("popupshowing", () => {
|
||||||
// Close the results pane when the input field contextual menu is open,
|
// Close the results pane when the input field contextual menu is open,
|
||||||
// because paste and go doesn't want a result selection.
|
// because paste and go doesn't want a result selection.
|
||||||
@@ -258,7 +258,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
|
|
||||||
let controller =
|
let controller =
|
||||||
this.document.commandDispatcher.getControllerForCommand("cmd_paste");
|
this.document.commandDispatcher.getControllerForCommand("cmd_paste");
|
||||||
@@ -4541,7 +4649,11 @@ export class UrlbarInput extends HTMLElement {
|
@@ -4715,7 +4823,11 @@ ${
|
||||||
if (!engineName && !source && !this.hasAttribute("searchmode")) {
|
if (!engineName && !source && !this.hasAttribute("searchmode")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -271,7 +271,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
if (this._searchModeIndicatorTitle) {
|
if (this._searchModeIndicatorTitle) {
|
||||||
this._searchModeIndicatorTitle.textContent = "";
|
this._searchModeIndicatorTitle.textContent = "";
|
||||||
this._searchModeIndicatorTitle.removeAttribute("data-l10n-id");
|
this._searchModeIndicatorTitle.removeAttribute("data-l10n-id");
|
||||||
@@ -4851,6 +4963,7 @@ export class UrlbarInput extends HTMLElement {
|
@@ -5031,6 +5143,7 @@ ${
|
||||||
|
|
||||||
this.document.l10n.setAttributes(
|
this.document.l10n.setAttributes(
|
||||||
this.inputField,
|
this.inputField,
|
||||||
@@ -279,7 +279,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
l10nId,
|
l10nId,
|
||||||
l10nId == "urlbar-placeholder-with-name"
|
l10nId == "urlbar-placeholder-with-name"
|
||||||
? { name: engineName }
|
? { name: engineName }
|
||||||
@@ -4964,6 +5077,11 @@ export class UrlbarInput extends HTMLElement {
|
@@ -5156,6 +5269,11 @@ ${
|
||||||
}
|
}
|
||||||
|
|
||||||
_on_click(event) {
|
_on_click(event) {
|
||||||
@@ -291,7 +291,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
switch (event.target) {
|
switch (event.target) {
|
||||||
case this.inputField:
|
case this.inputField:
|
||||||
case this._inputContainer:
|
case this._inputContainer:
|
||||||
@@ -5042,7 +5160,7 @@ export class UrlbarInput extends HTMLElement {
|
@@ -5242,7 +5360,7 @@ ${
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -300,7 +300,7 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
this.view.autoOpen({ event });
|
this.view.autoOpen({ event });
|
||||||
} else {
|
} else {
|
||||||
if (this._untrimOnFocusAfterKeydown) {
|
if (this._untrimOnFocusAfterKeydown) {
|
||||||
@@ -5082,9 +5200,16 @@ export class UrlbarInput extends HTMLElement {
|
@@ -5282,9 +5400,16 @@ ${
|
||||||
}
|
}
|
||||||
|
|
||||||
_on_mousedown(event) {
|
_on_mousedown(event) {
|
||||||
@@ -318,27 +318,27 @@ index b23244f9d3278918b016bb3fcab19687bc2e292a..ade1f031bbb68202a37e6c9d3071a73f
|
|||||||
if (
|
if (
|
||||||
event.composedTarget != this.inputField &&
|
event.composedTarget != this.inputField &&
|
||||||
event.composedTarget != this._inputContainer
|
event.composedTarget != this._inputContainer
|
||||||
@@ -5094,6 +5219,10 @@ export class UrlbarInput extends HTMLElement {
|
@@ -5294,6 +5419,10 @@ ${
|
||||||
|
|
||||||
this.focusedViaMousedown = !this.focused;
|
this.focusedViaMousedown = !this.focused;
|
||||||
this._preventClickSelectsAll = this.focused;
|
this.#preventClickSelectsAll = this.focused;
|
||||||
+ if (isProbablyFloating) {
|
+ if (isProbablyFloating) {
|
||||||
+ this.focusedViaMousedown = !this.hasAttribute("breakout-extend");
|
+ this.focusedViaMousedown = !this.hasAttribute("breakout-extend");
|
||||||
+ this._preventClickSelectsAll = this.hasAttribute("breakout-extend");
|
+ this.#preventClickSelectsAll = this.hasAttribute("breakout-extend");
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
// Keep the focus status, since the attribute may be changed
|
// Keep the focus status, since the attribute may be changed
|
||||||
// upon calling this.focus().
|
// upon calling this.focus().
|
||||||
@@ -5129,7 +5258,7 @@ export class UrlbarInput extends HTMLElement {
|
@@ -5329,7 +5458,7 @@ ${
|
||||||
}
|
}
|
||||||
// Don't close the view when clicking on a tab; we may want to keep the
|
// Don't close the view when clicking on a tab; we may want to keep the
|
||||||
// view open on tab switch, and the TabSelect event arrived earlier.
|
// view open on tab switch, and the TabSelect event arrived earlier.
|
||||||
- if (event.target.closest("tab")) {
|
- if (event.target.closest?.("tab")) {
|
||||||
+ if (event.target.closest("tab") || event.target.closest("#tabs-newtab-button")) {
|
+ if (event.target.closest?.("tab") || event.target.closest?.("#tabs-newtab-button")) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5411,7 +5540,7 @@ export class UrlbarInput extends HTMLElement {
|
@@ -5636,7 +5765,7 @@ ${
|
||||||
// When we are in actions search mode we can show more results so
|
// When we are in actions search mode we can show more results so
|
||||||
// increase the limit.
|
// increase the limit.
|
||||||
let maxResults =
|
let maxResults =
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
diff --git a/browser/components/urlbar/content/enUS-searchFeatures.ftl b/browser/components/urlbar/content/enUS-searchFeatures.ftl
|
||||||
|
index e405f0f8844eea7081e4302cc35ccd8d8124aa90..90baec46971c6bd3ec738a338834af0351872d14 100644
|
||||||
|
--- a/browser/components/urlbar/content/enUS-searchFeatures.ftl
|
||||||
|
+++ b/browser/components/urlbar/content/enUS-searchFeatures.ftl
|
||||||
|
@@ -2,6 +2,9 @@
|
||||||
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
+urlbar-search-mode-workspaces = Spaces
|
||||||
|
+urlbar-search-mode-workspaces-en = Spaces
|
||||||
|
+
|
||||||
|
### These strings are related to the Firefox Suggest feature. Firefox Suggest
|
||||||
|
### shows recommended and sponsored third-party results in the address bar
|
||||||
|
### panel. It also shows headings/labels above different groups of results. For
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/extensions/newtab/lib/ActivityStream.sys.mjs b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
diff --git a/browser/extensions/newtab/lib/ActivityStream.sys.mjs b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
||||||
index daf4e1dca839a6e882edf598bd82f13f1bf4eadd..ebb584e058c0a15f5a5fa0bd80bdce42636c9ba0 100644
|
index edb61ebece92f53d6edc8522c0dfea01159121dc..fd57751828254ebf9b05af13c26afa55ffa7ed00 100644
|
||||||
--- a/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
--- a/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
||||||
+++ b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
+++ b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
||||||
@@ -287,7 +287,7 @@ export const PREFS_CONFIG = new Map([
|
@@ -347,7 +347,7 @@ export const PREFS_CONFIG = new Map([
|
||||||
"showSponsoredTopSites",
|
"showSponsoredTopSites",
|
||||||
{
|
{
|
||||||
title: "Show sponsored top sites",
|
title: "Show sponsored top sites",
|
||||||
|
|||||||
@@ -1,17 +1,8 @@
|
|||||||
diff --git a/browser/installer/windows/nsis/defines.nsi.in b/browser/installer/windows/nsis/defines.nsi.in
|
diff --git a/browser/installer/windows/nsis/defines.nsi.in b/browser/installer/windows/nsis/defines.nsi.in
|
||||||
index c6bb41695d70d17e5691e0d1856b79f7111d5026..8a9393a79a60aca23f80fc989fe2ae333ba54e39 100644
|
index a9bf2d67ce522054442be664bda1434c63609ea1..16e03732d78207ce602066a4bccc0d2c2385ca91 100644
|
||||||
--- a/browser/installer/windows/nsis/defines.nsi.in
|
--- a/browser/installer/windows/nsis/defines.nsi.in
|
||||||
+++ b/browser/installer/windows/nsis/defines.nsi.in
|
+++ b/browser/installer/windows/nsis/defines.nsi.in
|
||||||
@@ -90,7 +90,7 @@
|
@@ -147,7 +147,7 @@ VIAddVersionKey "ProductVersion" "${AppVersion}"
|
||||||
!define BETA_UPDATE_CHANNEL
|
|
||||||
!endif
|
|
||||||
|
|
||||||
-!define BaseURLStubPing "http://download-stats.mozilla.org/stub"
|
|
||||||
+!define BaseURLStubPing ""
|
|
||||||
|
|
||||||
# ARCH is used when it is necessary to differentiate the x64 registry keys from
|
|
||||||
# the x86 registry keys (e.g. the uninstall registry key).
|
|
||||||
@@ -152,7 +152,7 @@ VIAddVersionKey "ProductVersion" "${AppVersion}"
|
|
||||||
!define APPROXIMATE_REQUIRED_SPACE_MB "145"
|
!define APPROXIMATE_REQUIRED_SPACE_MB "145"
|
||||||
|
|
||||||
# Constants for parts of the telemetry submission URL
|
# Constants for parts of the telemetry submission URL
|
||||||
|
|||||||
@@ -1,20 +1,20 @@
|
|||||||
diff --git a/browser/installer/windows/nsis/installer.nsi b/browser/installer/windows/nsis/installer.nsi
|
diff --git a/browser/installer/windows/nsis/installer.nsi b/browser/installer/windows/nsis/installer.nsi
|
||||||
index b3459f8233b2509744e27bfe33884c6a92164e36..76b71e0882381f8f6becaf88bc4e3cc56f8d8ad4 100755
|
index 36fbee18edd138036c23ee77806f47cd10efce55..f70893700c54bdbc6d6fc5b760fd9a3654eb39e7 100755
|
||||||
--- a/browser/installer/windows/nsis/installer.nsi
|
--- a/browser/installer/windows/nsis/installer.nsi
|
||||||
+++ b/browser/installer/windows/nsis/installer.nsi
|
+++ b/browser/installer/windows/nsis/installer.nsi
|
||||||
@@ -842,7 +842,7 @@ Section "-InstallEndCleanup"
|
@@ -845,7 +845,7 @@ Section "-InstallEndCleanup"
|
||||||
; When we're using the GUI, .onGUIEnd sends the ping, but of course that isn't
|
; When we're using the GUI, .onGUIEnd sends the ping, but of course that isn't
|
||||||
; invoked when we're running silently.
|
; invoked when we're running silently.
|
||||||
${If} ${Silent}
|
${If} ${Silent}
|
||||||
- Call SendPing
|
- Call SendPingIfApplicable
|
||||||
+ ; Call SendPing
|
+ ; Call SendPingIfApplicable
|
||||||
${EndIf}
|
${EndIf}
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
@@ -1978,5 +1978,5 @@ FunctionEnd
|
@@ -1800,5 +1800,5 @@ FunctionEnd
|
||||||
|
|
||||||
Function .onGUIEnd
|
Function .onGUIEnd
|
||||||
${OnEndCommon}
|
${OnEndCommon}
|
||||||
- Call SendPing
|
- Call SendPingIfApplicable
|
||||||
+ ; Call SendPing
|
+ ; Call SendPingIfApplicable
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
diff --git a/browser/installer/windows/nsis/uninstaller.nsi b/browser/installer/windows/nsis/uninstaller.nsi
|
diff --git a/browser/installer/windows/nsis/uninstaller.nsi b/browser/installer/windows/nsis/uninstaller.nsi
|
||||||
old mode 100755
|
old mode 100755
|
||||||
new mode 100644
|
new mode 100644
|
||||||
index a193a94e4893a8b07111d83ebdd2a6488a98be7a..ab7d84abbf6d9442cbc299194c4ffb74c5785723
|
index 0e2f7fa874b865b2a354c5ca612c5714f6ac5b69..0b1182279336972705bc3ff47e69353b997eb1bd
|
||||||
--- a/browser/installer/windows/nsis/uninstaller.nsi
|
--- a/browser/installer/windows/nsis/uninstaller.nsi
|
||||||
+++ b/browser/installer/windows/nsis/uninstaller.nsi
|
+++ b/browser/installer/windows/nsis/uninstaller.nsi
|
||||||
@@ -515,6 +515,7 @@ Section "Uninstall"
|
@@ -516,6 +516,7 @@ Section "Uninstall"
|
||||||
${un.RegCleanFileHandler} ".svg" "FirefoxHTML-$AppUserModelID"
|
${un.RegCleanFileHandler} ".svg" "FirefoxHTML-$AppUserModelID"
|
||||||
${un.RegCleanFileHandler} ".webp" "FirefoxHTML-$AppUserModelID"
|
${un.RegCleanFileHandler} ".webp" "FirefoxHTML-$AppUserModelID"
|
||||||
${un.RegCleanFileHandler} ".avif" "FirefoxHTML-$AppUserModelID"
|
${un.RegCleanFileHandler} ".avif" "FirefoxHTML-$AppUserModelID"
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/modules/BrowserDOMWindow.sys.mjs b/browser/modules/BrowserDOMWindow.sys.mjs
|
diff --git a/browser/modules/BrowserDOMWindow.sys.mjs b/browser/modules/BrowserDOMWindow.sys.mjs
|
||||||
index e951af5edb966718ee20422c8e46d868c177cd1c..cd41305a4da8e675417eca7df5cd4a1ecee90c3d 100644
|
index 29c5b1510696cfdd993388957115709b1a149d7c..6616edbc5f992ffdf3df65028cd26c17ef13f315 100644
|
||||||
--- a/browser/modules/BrowserDOMWindow.sys.mjs
|
--- a/browser/modules/BrowserDOMWindow.sys.mjs
|
||||||
+++ b/browser/modules/BrowserDOMWindow.sys.mjs
|
+++ b/browser/modules/BrowserDOMWindow.sys.mjs
|
||||||
@@ -437,7 +437,7 @@ export class BrowserDOMWindow {
|
@@ -436,7 +436,7 @@ export class BrowserDOMWindow {
|
||||||
// Passing a null-URI to only create the content window,
|
// Passing a null-URI to only create the content window,
|
||||||
// and pass true for aSkipLoad to prevent loading of
|
// and pass true for aSkipLoad to prevent loading of
|
||||||
// about:blank
|
// about:blank
|
||||||
@@ -11,7 +11,7 @@ index e951af5edb966718ee20422c8e46d868c177cd1c..cd41305a4da8e675417eca7df5cd4a1e
|
|||||||
null,
|
null,
|
||||||
aParams,
|
aParams,
|
||||||
aWhere,
|
aWhere,
|
||||||
@@ -445,6 +445,10 @@ export class BrowserDOMWindow {
|
@@ -444,6 +444,10 @@ export class BrowserDOMWindow {
|
||||||
aName,
|
aName,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/modules/URILoadingHelper.sys.mjs b/browser/modules/URILoadingHelper.sys.mjs
|
diff --git a/browser/modules/URILoadingHelper.sys.mjs b/browser/modules/URILoadingHelper.sys.mjs
|
||||||
index a005dbdf84609622ef8054f73f78c0c290e76125..d5bf6fb51c9af5e60f69a73612ee91598080730a 100644
|
index ed6b9fda700b2b4b35836a77a4da953377a72f4b..22acedcf1006f994ec8b6bf8991b4202e12a6f39 100644
|
||||||
--- a/browser/modules/URILoadingHelper.sys.mjs
|
--- a/browser/modules/URILoadingHelper.sys.mjs
|
||||||
+++ b/browser/modules/URILoadingHelper.sys.mjs
|
+++ b/browser/modules/URILoadingHelper.sys.mjs
|
||||||
@@ -224,6 +224,7 @@ function openInWindow(url, params, sourceWindow) {
|
@@ -224,6 +224,7 @@ function openInWindow(url, params, sourceWindow) {
|
||||||
@@ -28,8 +28,8 @@ index a005dbdf84609622ef8054f73f78c0c290e76125..d5bf6fb51c9af5e60f69a73612ee9159
|
|||||||
for (let i = 0; i < browsers.length; i++) {
|
for (let i = 0; i < browsers.length; i++) {
|
||||||
let browser = browsers[i];
|
let browser = browsers[i];
|
||||||
let browserCompare = cleanURL(
|
let browserCompare = cleanURL(
|
||||||
@@ -1030,7 +1031,7 @@ export const URILoadingHelper = {
|
@@ -1026,7 +1027,7 @@ export const URILoadingHelper = {
|
||||||
);
|
aSplitView.replaceTab(tabToReplace, tabToMove);
|
||||||
aSplitView.ownerGlobal.focus();
|
aSplitView.ownerGlobal.focus();
|
||||||
} else {
|
} else {
|
||||||
- aWindow.gBrowser.tabContainer.selectedIndex = i;
|
- aWindow.gBrowser.tabContainer.selectedIndex = i;
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css
|
diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css
|
||||||
index b82fa7229ad637a08563c06fa2c2abdf99998d7c..b5ee3aa9679244222a0e9eed4be54a41ec6a11f9 100644
|
index a99181fc249a7086e9886d86d85e8650595a0a0c..dd59739078080738d28bf59a1bb26fc0783bcac6 100644
|
||||||
--- a/browser/themes/linux/browser.css
|
--- a/browser/themes/linux/browser.css
|
||||||
+++ b/browser/themes/linux/browser.css
|
+++ b/browser/themes/linux/browser.css
|
||||||
@@ -14,7 +14,6 @@
|
@@ -14,7 +14,6 @@
|
||||||
@media (-moz-gtk-theme-family) {
|
@media (-moz-gtk-theme-family) {
|
||||||
--tabs-navbar-separator-style: none;
|
--tabs-navbar-separator-style: none;
|
||||||
@media (prefers-color-scheme: light) {
|
@media (prefers-color-scheme: light) {
|
||||||
- --urlbar-box-bgcolor: #fafafa;
|
- --urlbar-box-background-color: #fafafa;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/themes/osx/browser.css b/browser/themes/osx/browser.css
|
diff --git a/browser/themes/osx/browser.css b/browser/themes/osx/browser.css
|
||||||
index 8fe643be3f60da00760775c918ba3228fbd2b610..d634c09685065b4096a74a93e0373e4942fd2a29 100644
|
index 92162e2893f7c8aea92c354f3a12cccf48f7576e..3189d75c8e47f3f76ddc1227d3cffee6b09402eb 100644
|
||||||
--- a/browser/themes/osx/browser.css
|
--- a/browser/themes/osx/browser.css
|
||||||
+++ b/browser/themes/osx/browser.css
|
+++ b/browser/themes/osx/browser.css
|
||||||
@@ -37,7 +37,7 @@
|
@@ -37,7 +37,7 @@
|
||||||
|
|||||||
@@ -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 d1b11a65e527cf7c13f42b3f980f2f09592c5e53..44fb86b570c69f7d7003d3949e330e08722fbbb8 100644
|
index 70571d8f32d60d10e59e33cb83e38229de026fc6..8e420ed6f6838499553c55265a1e35f5c3801d35 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
|
||||||
@@ -250,13 +250,13 @@ body {
|
@@ -253,13 +253,13 @@ body {
|
||||||
|
|
||||||
@media (-moz-platform: macos) and (not (-moz-mac-rtl)) {
|
@media (-moz-platform: macos) and (not (-moz-mac-rtl)) {
|
||||||
&:-moz-locale-dir(ltr) {
|
&:-moz-locale-dir(ltr) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
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 c867b8602c5b3bdce335b932a3a1cd0c538e4ad6..2dc1cf17603bcdd9b8d81a6f46ed8b6ed75b2763 100644
|
index 72b6673094b80e9c109ae6f125cd25c3e00260ef..d116ab9671b02bbb05eddec8318e1f2835c29f32 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
|
||||||
@@ -7,7 +7,7 @@
|
@@ -7,7 +7,7 @@
|
||||||
@@ -17,7 +17,7 @@ index c867b8602c5b3bdce335b932a3a1cd0c538e4ad6..2dc1cf17603bcdd9b8d81a6f46ed8b6e
|
|||||||
|
|
||||||
-#identity-box[pageproxystate="valid"]:is(.notSecureText, .chromeUI, .extensionPage) > .identity-box-button,
|
-#identity-box[pageproxystate="valid"]:is(.notSecureText, .chromeUI, .extensionPage) > .identity-box-button,
|
||||||
-#urlbar-label-box {
|
-#urlbar-label-box {
|
||||||
- background-color: var(--urlbar-box-bgcolor);
|
- background-color: var(--urlbar-box-background-color);
|
||||||
- color: var(--urlbar-box-text-color);
|
- color: var(--urlbar-box-text-color);
|
||||||
- padding-inline: 8px;
|
- padding-inline: 8px;
|
||||||
- border-radius: var(--urlbar-inner-border-radius);
|
- border-radius: var(--urlbar-inner-border-radius);
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/themes/shared/jar.inc.mn b/browser/themes/shared/jar.inc.mn
|
diff --git a/browser/themes/shared/jar.inc.mn b/browser/themes/shared/jar.inc.mn
|
||||||
index 3a12a7a33c33cec463b3d38647bdf647827784f8..4844da4b56b3172b333f5c5eb31fcd74f43fd0b0 100644
|
index e59fb7f095161348e442626997bbb6dc4e1e999e..488c540b07e5ce73048cebec0d75dd33f9dcabd4 100644
|
||||||
--- a/browser/themes/shared/jar.inc.mn
|
--- a/browser/themes/shared/jar.inc.mn
|
||||||
+++ b/browser/themes/shared/jar.inc.mn
|
+++ b/browser/themes/shared/jar.inc.mn
|
||||||
@@ -334,3 +334,5 @@
|
@@ -343,3 +343,5 @@
|
||||||
|
|
||||||
skin/classic/browser/illustrations/market-opt-in.svg (../shared/illustrations/market-opt-in.svg)
|
skin/classic/browser/illustrations/market-opt-in.svg (../shared/illustrations/market-opt-in.svg)
|
||||||
skin/classic/browser/illustrations/yelpRealtime-opt-in.svg (../shared/illustrations/yelpRealtime-opt-in.svg)
|
skin/classic/browser/illustrations/yelpRealtime-opt-in.svg (../shared/illustrations/yelpRealtime-opt-in.svg)
|
||||||
|
|||||||
@@ -6,10 +6,6 @@
|
|||||||
|
|
||||||
@namespace html "http://www.w3.org/1999/xhtml";
|
@namespace html "http://www.w3.org/1999/xhtml";
|
||||||
|
|
||||||
:root {
|
|
||||||
--in-content-box-background: var(--zen-colors-tertiary) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pane-container {
|
.pane-container {
|
||||||
margin: auto;
|
margin: auto;
|
||||||
}
|
}
|
||||||
@@ -58,10 +54,6 @@ groupbox h2 {
|
|||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#categories {
|
|
||||||
margin: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#categories > .category {
|
#categories > .category {
|
||||||
margin-left: 0 !important;
|
margin-left: 0 !important;
|
||||||
min-height: 40px !important;
|
min-height: 40px !important;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/themes/shared/tabbrowser/content-area.css b/browser/themes/shared/tabbrowser/content-area.css
|
diff --git a/browser/themes/shared/tabbrowser/content-area.css b/browser/themes/shared/tabbrowser/content-area.css
|
||||||
index 13403bf438be18b5bcc9f3d497c94636b5fb5f6f..0505582a7efa212813cf39835c12d34d4d38eb4e 100644
|
index 05c1261f0085794e5e81dc8c1ef24fe1a9c5ec82..d0a1938b629338184bc462b4da1e10e1a4d6a4e7 100644
|
||||||
--- a/browser/themes/shared/tabbrowser/content-area.css
|
--- a/browser/themes/shared/tabbrowser/content-area.css
|
||||||
+++ b/browser/themes/shared/tabbrowser/content-area.css
|
+++ b/browser/themes/shared/tabbrowser/content-area.css
|
||||||
@@ -85,7 +85,6 @@
|
@@ -85,7 +85,6 @@
|
||||||
@@ -10,7 +10,7 @@ index 13403bf438be18b5bcc9f3d497c94636b5fb5f6f..0505582a7efa212813cf39835c12d34d
|
|||||||
|
|
||||||
/* stylelint-disable-next-line media-query-no-invalid */
|
/* stylelint-disable-next-line media-query-no-invalid */
|
||||||
@media -moz-pref("sidebar.revamp") {
|
@media -moz-pref("sidebar.revamp") {
|
||||||
@@ -141,7 +140,6 @@
|
@@ -146,7 +145,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
browser:is([blank], [pendingpaint]) {
|
browser:is([blank], [pendingpaint]) {
|
||||||
@@ -18,7 +18,7 @@ index 13403bf438be18b5bcc9f3d497c94636b5fb5f6f..0505582a7efa212813cf39835c12d34d
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Exclude browsers with smartwindow-content attribute which inherit
|
/* Exclude browsers with smartwindow-content attribute which inherit
|
||||||
@@ -427,7 +425,7 @@ split-view-footer {
|
@@ -440,7 +438,7 @@ split-view-footer {
|
||||||
|
|
||||||
.dialogStack {
|
.dialogStack {
|
||||||
z-index: var(--browser-stack-z-index-dialog-stack);
|
z-index: var(--browser-stack-z-index-dialog-stack);
|
||||||
@@ -27,7 +27,7 @@ index 13403bf438be18b5bcc9f3d497c94636b5fb5f6f..0505582a7efa212813cf39835c12d34d
|
|||||||
inset: 0;
|
inset: 0;
|
||||||
/* --browser-with-dialog set on browser[tabDialogShowing], we want to position the overlay
|
/* --browser-with-dialog set on browser[tabDialogShowing], we want to position the overlay
|
||||||
only on the top of the <browser> element so it doesn't overlap the DevTools toolbox */
|
only on the top of the <browser> element so it doesn't overlap the DevTools toolbox */
|
||||||
@@ -594,7 +592,7 @@ split-view-footer {
|
@@ -607,7 +605,7 @@ split-view-footer {
|
||||||
|
|
||||||
.dialogOverlay[topmost="true"],
|
.dialogOverlay[topmost="true"],
|
||||||
#window-modal-dialog::backdrop {
|
#window-modal-dialog::backdrop {
|
||||||
|
|||||||
@@ -1,29 +1,17 @@
|
|||||||
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
|
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
|
||||||
index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d1669f2e1a4 100644
|
index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22c000e105 100644
|
||||||
--- a/browser/themes/shared/tabbrowser/tabs.css
|
--- a/browser/themes/shared/tabbrowser/tabs.css
|
||||||
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
||||||
@@ -24,7 +24,7 @@
|
@@ -25,7 +25,7 @@
|
||||||
--tab-group-line-thickness: 2px;
|
--tab-group-line-thickness: 2px;
|
||||||
--tab-group-line-toolbar-border-distance: 1px;
|
--tab-group-line-toolbar-border-distance: 1px;
|
||||||
/* Collapsed tabs should be square, so set width to match the min height */
|
/* Collapsed tabs should be square, so set width to match the min height */
|
||||||
- --tab-collapsed-background-width: var(--tab-min-height);
|
- --tab-collapsed-background-width: var(--tab-min-height);
|
||||||
+ --tab-collapsed-background-width: 48px;
|
+ --tab-collapsed-background-width: 48px;
|
||||||
--tab-collapsed-width: calc(var(--tab-collapsed-background-width) + 2 * var(--tab-inner-inline-margin));
|
--tab-collapsed-width: calc(var(--tab-collapsed-background-width) + 2 * var(--tab-inner-inline-margin));
|
||||||
--tab-inner-inline-margin: var(--space-medium);
|
--tab-pinned-min-width-expanded: calc(var(--tab-pinned-expanded-background-width) + 2 * var(--tab-pinned-margin-inline-expanded));
|
||||||
--tab-inline-padding: 8px;
|
--tab-note-icon-end-margin: var(--dimension-4);
|
||||||
@@ -38,9 +38,9 @@
|
@@ -276,7 +276,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||||
--tab-block-margin: 4px;
|
|
||||||
--tab-icon-end-margin: 5.5px;
|
|
||||||
--tab-label-line-height: 1.7;
|
|
||||||
- --tab-loading-fill: #0a84ff;
|
|
||||||
+ --tab-loading-fill: var(--zen-primary-color);
|
|
||||||
--tab-hover-background-color: color-mix(in srgb, currentColor 11%, transparent);
|
|
||||||
- --tab-selected-textcolor: var(--toolbar-color);
|
|
||||||
+ --tab-selected-textcolor: currentColor;
|
|
||||||
--tab-selected-bgcolor: var(--toolbar-bgcolor);
|
|
||||||
--tab-selected-color-scheme: var(--toolbar-color-scheme);
|
|
||||||
&[lwt-tab-selected="light"] {
|
|
||||||
@@ -298,7 +298,6 @@ tab-split-view-wrapper[dragtarget] {
|
|
||||||
}
|
}
|
||||||
|
|
||||||
:root:not([uidensity="compact"], [sidebar-expand-on-hover]) &[pinned] {
|
:root:not([uidensity="compact"], [sidebar-expand-on-hover]) &[pinned] {
|
||||||
@@ -31,7 +19,7 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:is([selected], [multiselected]) {
|
&:is([selected], [multiselected]) {
|
||||||
@@ -312,6 +311,7 @@ tab-split-view-wrapper[dragtarget] {
|
@@ -290,6 +289,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||||
border-radius: inherit;
|
border-radius: inherit;
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@@ -39,7 +27,7 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -511,10 +511,6 @@ tab-split-view-wrapper[dragtarget] {
|
@@ -489,10 +489,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||||
/* stylelint-disable-next-line media-query-no-invalid */
|
/* stylelint-disable-next-line media-query-no-invalid */
|
||||||
@media -moz-pref("browser.tabs.fadeOutUnloadedTabs") {
|
@media -moz-pref("browser.tabs.fadeOutUnloadedTabs") {
|
||||||
&[pending] {
|
&[pending] {
|
||||||
@@ -50,7 +38,7 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
/* Fade the favicon out */
|
/* Fade the favicon out */
|
||||||
transition-property: filter, opacity;
|
transition-property: filter, opacity;
|
||||||
@@ -531,10 +527,6 @@ tab-split-view-wrapper[dragtarget] {
|
@@ -509,10 +505,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||||
/* stylelint-disable-next-line media-query-no-invalid */
|
/* stylelint-disable-next-line media-query-no-invalid */
|
||||||
@media -moz-pref("browser.tabs.fadeOutExplicitlyUnloadedTabs") {
|
@media -moz-pref("browser.tabs.fadeOutExplicitlyUnloadedTabs") {
|
||||||
&[pending][discarded] {
|
&[pending][discarded] {
|
||||||
@@ -61,7 +49,7 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
/* Fade the favicon out */
|
/* Fade the favicon out */
|
||||||
transition-property: filter, opacity;
|
transition-property: filter, opacity;
|
||||||
@@ -603,7 +595,7 @@ tab-split-view-wrapper[dragtarget] {
|
@@ -581,7 +573,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||||
z-index: 1; /* Overlay tab title */
|
z-index: 1; /* Overlay tab title */
|
||||||
|
|
||||||
#tabbrowser-tabs[orient="vertical"] & {
|
#tabbrowser-tabs[orient="vertical"] & {
|
||||||
@@ -70,7 +58,7 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
}
|
}
|
||||||
|
|
||||||
&[crashed] {
|
&[crashed] {
|
||||||
@@ -611,7 +603,7 @@ tab-split-view-wrapper[dragtarget] {
|
@@ -589,7 +581,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabs[orient="vertical"]:not([expanded]) &:not([crashed]),
|
#tabbrowser-tabs[orient="vertical"]:not([expanded]) &:not([crashed]),
|
||||||
@@ -79,7 +67,7 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
&[soundplaying] {
|
&[soundplaying] {
|
||||||
list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-playing-small.svg");
|
list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-playing-small.svg");
|
||||||
}
|
}
|
||||||
@@ -666,7 +658,7 @@ tab-split-view-wrapper[dragtarget] {
|
@@ -644,7 +636,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,7 +76,7 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
&[crashed] {
|
&[crashed] {
|
||||||
display: revert;
|
display: revert;
|
||||||
}
|
}
|
||||||
@@ -832,7 +824,7 @@ tab-split-view-wrapper[dragtarget] {
|
@@ -810,7 +802,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||||
has not been added to root. There are certain scenarios when that attribute is temporarily
|
has not been added to root. There are certain scenarios when that attribute is temporarily
|
||||||
removed from root such as when toggling the sidebar to expand with the toolbar button. */
|
removed from root such as when toggling the sidebar to expand with the toolbar button. */
|
||||||
#tabbrowser-tabs[orient="horizontal"] &:not([pinned]):not([crashed]),
|
#tabbrowser-tabs[orient="horizontal"] &:not([pinned]):not([crashed]),
|
||||||
@@ -97,7 +85,7 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
&:is([soundplaying], [muted], [activemedia-blocked]) {
|
&:is([soundplaying], [muted], [activemedia-blocked]) {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
@@ -1048,7 +1040,6 @@ tab-split-view-wrapper[dragtarget] {
|
@@ -1026,7 +1018,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||||
.tabbrowser-tab:is([image], [pinned]) > .tab-stack > .tab-content[attention]:not([selected]),
|
.tabbrowser-tab:is([image], [pinned]) > .tab-stack > .tab-content[attention]:not([selected]),
|
||||||
.tabbrowser-tab > .tab-stack > .tab-content[pinned][titlechanged]:not([selected]),
|
.tabbrowser-tab > .tab-stack > .tab-content[pinned][titlechanged]:not([selected]),
|
||||||
#tabbrowser-tabs[orient="vertical"] .tabbrowser-tab > .tab-stack > .tab-content[titlechanged]:not([selected]) {
|
#tabbrowser-tabs[orient="vertical"] .tabbrowser-tab > .tab-stack > .tab-content[titlechanged]:not([selected]) {
|
||||||
@@ -105,16 +93,16 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
background-position: center bottom 6.5px;
|
background-position: center bottom 6.5px;
|
||||||
background-size: 4px 4px;
|
background-size: 4px 4px;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
@@ -1614,7 +1605,7 @@ tab-group {
|
@@ -1635,7 +1626,7 @@ tab-group {
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabs[orient="vertical"][expanded] {
|
#tabbrowser-tabs[orient="vertical"][expanded] {
|
||||||
- tab-group > :is(.tab-group-label-container, .tabbrowser-tab),
|
- tab-group > :is(.tab-group-label-container, .tabbrowser-tab),
|
||||||
+ tab-group > :is(.tab-group-label-container, .tab-group-container, .tabbrowser-tab),
|
+ tab-group > :is(.tab-group-label-container, .tab-group-container, .tabbrowser-tab),
|
||||||
&[movingtab][movingtab-addToGroup]:not([movingtab-group], [movingtab-ungroup]) tab-group > .tabbrowser-tab:is(:active, [multiselected]) {
|
&[movingtab][movingtab-addToGroup]:not([movingtab-group], [movingtab-ungroup]) .tabbrowser-tab:is(:active, [multiselected]) {
|
||||||
margin-inline-start: var(--space-medium);
|
margin-inline-start: var(--space-medium);
|
||||||
}
|
}
|
||||||
@@ -2089,7 +2080,7 @@ tab-group {
|
@@ -2128,7 +2119,7 @@ tab-group {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -123,7 +111,7 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
#vertical-tabs-newtab-button {
|
#vertical-tabs-newtab-button {
|
||||||
appearance: none;
|
appearance: none;
|
||||||
min-height: var(--tab-min-height);
|
min-height: var(--tab-min-height);
|
||||||
@@ -2100,7 +2091,7 @@ tab-group {
|
@@ -2139,7 +2130,7 @@ tab-group {
|
||||||
margin-inline: var(--tab-inner-inline-margin);
|
margin-inline: var(--tab-inner-inline-margin);
|
||||||
|
|
||||||
#tabbrowser-tabs[orient="vertical"]:not([expanded]) & > .toolbarbutton-text {
|
#tabbrowser-tabs[orient="vertical"]:not([expanded]) & > .toolbarbutton-text {
|
||||||
@@ -132,7 +120,7 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
@@ -2124,7 +2115,7 @@ tab-group {
|
@@ -2163,7 +2154,7 @@ tab-group {
|
||||||
* flex container. #tabs-newtab-button is a child of the arrowscrollbox where
|
* flex container. #tabs-newtab-button is a child of the arrowscrollbox where
|
||||||
* we don't want a gap (between tabs), so we have to add some margin.
|
* we don't want a gap (between tabs), so we have to add some margin.
|
||||||
*/
|
*/
|
||||||
@@ -141,7 +129,7 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
margin-block: var(--tab-block-margin);
|
margin-block: var(--tab-block-margin);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2312,7 +2303,6 @@ tab-group {
|
@@ -2351,7 +2342,6 @@ tab-group {
|
||||||
|
|
||||||
&:not([expanded]) {
|
&:not([expanded]) {
|
||||||
.tabbrowser-tab[pinned] {
|
.tabbrowser-tab[pinned] {
|
||||||
@@ -149,7 +137,7 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
}
|
}
|
||||||
|
|
||||||
.tab-background {
|
.tab-background {
|
||||||
@@ -2352,8 +2342,8 @@ tab-group {
|
@@ -2391,8 +2381,8 @@ tab-group {
|
||||||
display: block;
|
display: block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
inset: auto;
|
inset: auto;
|
||||||
@@ -160,17 +148,17 @@ index 203b546933842f4b0134188fda020c4db4dcd0d2..0d67deabac2984574636248a16e58d16
|
|||||||
|
|
||||||
&:-moz-window-inactive {
|
&:-moz-window-inactive {
|
||||||
background-image:
|
background-image:
|
||||||
@@ -2438,9 +2428,6 @@ tab-group {
|
@@ -2480,9 +2470,6 @@ tab-group {
|
||||||
|
~ #tabbrowser-tabs[orient="horizontal"]::before {
|
||||||
:root:not([privatebrowsingmode]) :is(toolbarbutton, toolbarpaletteitem) ~ #tabbrowser-tabs,
|
display: flex;
|
||||||
:root[privatebrowsingmode] :is(toolbarbutton:not(#firefox-view-button), toolbarpaletteitem:not(#wrapper-firefox-view-button)) ~ #tabbrowser-tabs {
|
content: "";
|
||||||
- border-inline-start: var(--tabstrip-inner-border);
|
- border-inline-start: var(--tabstrip-inner-border);
|
||||||
- padding-inline-start: 2px;
|
- padding-inline-start: 2px;
|
||||||
- margin-inline-start: 2px;
|
- margin-inline-start: 2px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:root[privatebrowsingmode] :is(#firefox-view-button, #menu_openFirefoxView) {
|
@@ -2515,7 +2502,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
|
||||||
@@ -2472,7 +2459,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
|
|
||||||
list-style-image: url(chrome://global/skin/icons/plus.svg);
|
list-style-image: url(chrome://global/skin/icons/plus.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/themes/shared/toolbarbuttons.css b/browser/themes/shared/toolbarbuttons.css
|
diff --git a/browser/themes/shared/toolbarbuttons.css b/browser/themes/shared/toolbarbuttons.css
|
||||||
index 8c02df47ca003fa5094de0e7802cd8c10ef1bf2a..a16e8d7d3a00af8df648946950b7bb1c3f30efbb 100644
|
index 829501008d7b6fd6bddf899f3cf599a68ff216a0..cbdc770d56c4053d0b9afc13322f072c3376eb30 100644
|
||||||
--- a/browser/themes/shared/toolbarbuttons.css
|
--- a/browser/themes/shared/toolbarbuttons.css
|
||||||
+++ b/browser/themes/shared/toolbarbuttons.css
|
+++ b/browser/themes/shared/toolbarbuttons.css
|
||||||
@@ -13,20 +13,6 @@
|
@@ -13,20 +13,6 @@
|
||||||
@@ -23,7 +23,7 @@ index 8c02df47ca003fa5094de0e7802cd8c10ef1bf2a..a16e8d7d3a00af8df648946950b7bb1c
|
|||||||
&:where([uidensity="compact"]) {
|
&:where([uidensity="compact"]) {
|
||||||
--toolbarbutton-inner-padding: var(--toolbarbutton-inner-padding-compact);
|
--toolbarbutton-inner-padding: var(--toolbarbutton-inner-padding-compact);
|
||||||
--bookmark-block-padding: 1px;
|
--bookmark-block-padding: 1px;
|
||||||
@@ -65,9 +51,7 @@
|
@@ -123,9 +109,7 @@
|
||||||
#TabsToolbar {
|
#TabsToolbar {
|
||||||
/* Override the inner padding to ensure the dimensions match the tabs, but also making sure
|
/* Override the inner padding to ensure the dimensions match the tabs, but also making sure
|
||||||
different types of buttons (combined-buttons-dropmarker or text) still look correct. */
|
different types of buttons (combined-buttons-dropmarker or text) still look correct. */
|
||||||
@@ -33,7 +33,7 @@ index 8c02df47ca003fa5094de0e7802cd8c10ef1bf2a..a16e8d7d3a00af8df648946950b7bb1c
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Primary toolbar buttons */
|
/* Primary toolbar buttons */
|
||||||
@@ -146,8 +130,8 @@ toolbar .toolbarbutton-1 {
|
@@ -204,8 +188,8 @@ toolbar .toolbarbutton-1 {
|
||||||
|
|
||||||
> .toolbarbutton-icon {
|
> .toolbarbutton-icon {
|
||||||
/* horizontal padding + actual icon width */
|
/* horizontal padding + actual icon width */
|
||||||
@@ -44,7 +44,7 @@ index 8c02df47ca003fa5094de0e7802cd8c10ef1bf2a..a16e8d7d3a00af8df648946950b7bb1c
|
|||||||
}
|
}
|
||||||
|
|
||||||
> .toolbarbutton-text {
|
> .toolbarbutton-text {
|
||||||
@@ -157,7 +141,7 @@ toolbar .toolbarbutton-1 {
|
@@ -215,7 +199,7 @@ toolbar .toolbarbutton-1 {
|
||||||
* height as the button icons and the same vertical padding, but as a minimum,
|
* height as the button icons and the same vertical padding, but as a minimum,
|
||||||
* because otherwise an increase in text sizes would break things.
|
* because otherwise an increase in text sizes would break things.
|
||||||
*/
|
*/
|
||||||
@@ -53,7 +53,7 @@ index 8c02df47ca003fa5094de0e7802cd8c10ef1bf2a..a16e8d7d3a00af8df648946950b7bb1c
|
|||||||
|
|
||||||
@media (-moz-platform: macos) {
|
@media (-moz-platform: macos) {
|
||||||
padding-top: calc(var(--toolbarbutton-inner-padding) + 1px);
|
padding-top: calc(var(--toolbarbutton-inner-padding) + 1px);
|
||||||
@@ -277,7 +261,7 @@ toolbar .toolbaritem-combined-buttons {
|
@@ -325,7 +309,7 @@ toolbar .toolbaritem-combined-buttons {
|
||||||
#nav-bar-overflow-button {
|
#nav-bar-overflow-button {
|
||||||
list-style-image: url("chrome://global/skin/icons/chevron.svg");
|
list-style-image: url("chrome://global/skin/icons/chevron.svg");
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ index 8c02df47ca003fa5094de0e7802cd8c10ef1bf2a..a16e8d7d3a00af8df648946950b7bb1c
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -487,7 +471,7 @@ toolbarbutton.bookmark-item:not(.subviewbutton) {
|
@@ -535,7 +519,7 @@ toolbarbutton.bookmark-item:not(.subviewbutton) {
|
||||||
*/
|
*/
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
> .toolbarbutton-icon {
|
> .toolbarbutton-icon {
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
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 0ee35cfe67c9bce37a844d4b7d9715d4fb50f709..5cdb8037e49a68ea4126af349690af8a16b5e59b 100644
|
index 3f46c918e125f9531a536a09358c980b2c923864..cba6f00318ce5dc7b6717b6c9afd2ee916715f8f 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
|
||||||
@@ -10,7 +10,7 @@
|
@@ -11,7 +11,7 @@
|
||||||
/* Usually we wouldn't need snapping border widths manually, but we use this
|
/* Usually we wouldn't need snapping border widths manually, but we use this
|
||||||
* for other layout calculations too */
|
* for other layout calculations too */
|
||||||
--urlbar-container-border-width: max(env(hairline), round(down, 1px, env(hairline)));
|
--urlbar-container-border-width: max(env(hairline), round(down, 1px, env(hairline)));
|
||||||
- --urlbar-container-padding: round(up, 1px, env(hairline));
|
- --urlbar-container-padding: round(up, 1px, env(hairline));
|
||||||
+ --urlbar-container-padding: 2px;
|
+ --urlbar-container-padding: 2px;
|
||||||
--urlbar-container-border-padding: calc(var(--urlbar-container-border-width) + var(--urlbar-container-padding));
|
--urlbar-container-inset: calc(var(--urlbar-container-border-width) + var(--urlbar-container-padding));
|
||||||
--urlbar-margin-inline: 5px;
|
|
||||||
--urlbar-padding-block: 4px;
|
@media (max-width: 770px) {
|
||||||
@@ -55,7 +55,7 @@ toolbar[inactive="true"] .urlbar,
|
@@ -54,7 +54,7 @@ toolbar[inactive="true"] .urlbar,
|
||||||
.urlbar:not([usertyping]) > .urlbar-input-container > .urlbar-go-button,
|
.urlbar:not([usertyping]) > .urlbar-input-container > .urlbar-go-button,
|
||||||
.urlbar:not(#searchbar-new, [focused]) > .urlbar-input-container > .urlbar-go-button,
|
.urlbar:not(#searchbar-new, [focused]) > .urlbar-input-container > .urlbar-go-button,
|
||||||
#urlbar-revert-button-container {
|
#urlbar-revert-button-container {
|
||||||
@@ -20,7 +20,18 @@ index 0ee35cfe67c9bce37a844d4b7d9715d4fb50f709..5cdb8037e49a68ea4126af349690af8a
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Document Picture-in-Picture API window */
|
/* Document Picture-in-Picture API window */
|
||||||
@@ -333,10 +333,14 @@ toolbar[inactive="true"] .urlbar,
|
@@ -201,6 +201,10 @@ toolbar[inactive="true"] .urlbar,
|
||||||
|
mask-image: linear-gradient(to right, transparent var(--urlbar-scheme-size), black calc(var(--urlbar-scheme-size) + 3ch));
|
||||||
|
}
|
||||||
|
|
||||||
|
+ #navigator-toolbox[zen-has-implicit-hover="true"] .urlbar:not([focused])[textoverflow="left"] > .urlbar-input-container > .urlbar-input-box > & {
|
||||||
|
+ mask-image: linear-gradient(to right, transparent, black 3ch, black calc(100% - 3ch), transparent);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* stylelint-disable-next-line media-query-no-invalid */
|
||||||
|
@media -moz-pref("browser.nova.enabled") {
|
||||||
|
&::selection {
|
||||||
|
@@ -343,10 +347,14 @@ toolbar[inactive="true"] .urlbar,
|
||||||
|
|
||||||
.urlbar[breakout][breakout-extend] {
|
.urlbar[breakout][breakout-extend] {
|
||||||
height: auto;
|
height: auto;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
diff --git a/browser/themes/shared/urlbar-variables.css b/browser/themes/shared/urlbar-variables.css
|
diff --git a/browser/themes/shared/urlbar/variables.css b/browser/themes/shared/urlbar/variables.css
|
||||||
index 0710bcc11e8040750ff826e3d3551454fdad61c6..2be2fa3e386ad9d4296d73ee8814e09750382a0d 100644
|
index 34ab3df5ed433dafed00799c902afc276a722862..1e71860631f33839bdc7e1ec3a1e877bef744b55 100644
|
||||||
--- a/browser/themes/shared/urlbar-variables.css
|
--- a/browser/themes/shared/urlbar/variables.css
|
||||||
+++ b/browser/themes/shared/urlbar-variables.css
|
+++ b/browser/themes/shared/urlbar/variables.css
|
||||||
@@ -9,7 +9,7 @@
|
@@ -9,7 +9,7 @@
|
||||||
:root {
|
:root {
|
||||||
--identity-box-margin-inline: 4px;
|
--identity-box-margin-inline: 4px;
|
||||||
21
src/browser/themes/shared/urlbar/view-proton-css.patch
Normal file
21
src/browser/themes/shared/urlbar/view-proton-css.patch
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
diff --git a/browser/themes/shared/urlbar/view-proton.css b/browser/themes/shared/urlbar/view-proton.css
|
||||||
|
index 9e041b67988f590bdbea48514937b1fa25c9785c..05507782b91858dff3e181843314af7956528ba9 100644
|
||||||
|
--- a/browser/themes/shared/urlbar/view-proton.css
|
||||||
|
+++ b/browser/themes/shared/urlbar/view-proton.css
|
||||||
|
@@ -14,7 +14,7 @@
|
||||||
|
|
||||||
|
--urlbarView-small-font-size: 0.85em;
|
||||||
|
|
||||||
|
- --urlbarView-results-padding: 7px;
|
||||||
|
+ --urlbarView-results-padding: 8px;
|
||||||
|
--urlbarView-row-gutter: var(--space-xxsmall);
|
||||||
|
--urlbarView-item-inline-padding: var(--urlbar-icon-padding);
|
||||||
|
--urlbarView-item-block-padding: 6px;
|
||||||
|
@@ -168,7 +168,6 @@
|
||||||
|
min-height: 32px;
|
||||||
|
}
|
||||||
|
:root[uidensity="touch"] & {
|
||||||
|
- padding-block: 11px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
diff --git a/browser/themes/shared/urlbarView.css b/browser/themes/shared/urlbarView.css
|
|
||||||
index 2d6a63328642969e23da0a41ca6c7bb23eb96e8e..3060ba3f52ae7ab2f8fc36ff546d358724909b3e 100644
|
|
||||||
--- a/browser/themes/shared/urlbarView.css
|
|
||||||
+++ b/browser/themes/shared/urlbarView.css
|
|
||||||
@@ -21,7 +21,7 @@
|
|
||||||
|
|
||||||
--urlbarView-small-font-size: 0.85em;
|
|
||||||
|
|
||||||
- --urlbarView-results-padding: 7px;
|
|
||||||
+ --urlbarView-results-padding: 8px;
|
|
||||||
--urlbarView-row-gutter: 2px;
|
|
||||||
--urlbarView-item-inline-padding: var(--urlbar-icon-padding);
|
|
||||||
--urlbarView-item-block-padding: 6px;
|
|
||||||
@@ -172,7 +172,6 @@
|
|
||||||
min-height: 32px;
|
|
||||||
}
|
|
||||||
:root[uidensity="touch"] & {
|
|
||||||
- padding-block: 11px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -8,7 +8,8 @@
|
|||||||
#zen-welcome-start-button,
|
#zen-welcome-start-button,
|
||||||
.zen-toast button,
|
.zen-toast button,
|
||||||
.zen-current-workspace-indicator-chevron,
|
.zen-current-workspace-indicator-chevron,
|
||||||
.pinned-tabs-container-separator toolbarbutton {
|
.pinned-tabs-container-separator toolbarbutton,
|
||||||
|
.zen-permission-popup-boost-editor-button {
|
||||||
-moz-context-properties: fill, fill-opacity !important;
|
-moz-context-properties: fill, fill-opacity !important;
|
||||||
fill: currentColor !important;
|
fill: currentColor !important;
|
||||||
}
|
}
|
||||||
@@ -39,10 +40,21 @@
|
|||||||
.close-icon,
|
.close-icon,
|
||||||
.zen-glance-sidebar-close,
|
.zen-glance-sidebar-close,
|
||||||
.zen-theme-picker-custom-list-item-remove,
|
.zen-theme-picker-custom-list-item-remove,
|
||||||
#appMenu-quit-button2 {
|
#appMenu-quit-button2,
|
||||||
|
#zen-boost-delete {
|
||||||
list-style-image: url("close.svg") !important;
|
list-style-image: url("close.svg") !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#PanelUI-zen-emojis-picker-none,
|
||||||
|
#zen-emojis-picker-none {
|
||||||
|
list-style-image: url("trash.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#PanelUI-zen-gradient-generator-color-remove,
|
||||||
|
#zen-gradient-generator-color-remove {
|
||||||
|
list-style-image: url("unpin.svg") !important;
|
||||||
|
}
|
||||||
|
|
||||||
#PanelUI-zen-emojis-picker-none {
|
#PanelUI-zen-emojis-picker-none {
|
||||||
list-style-image: url("trash.svg");
|
list-style-image: url("trash.svg");
|
||||||
}
|
}
|
||||||
@@ -117,7 +129,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.zen-current-workspace-indicator-chevron,
|
.zen-current-workspace-indicator-chevron,
|
||||||
#PanelUI-zen-gradient-generator-color-page-right {
|
#PanelUI-zen-gradient-generator-color-page-right,
|
||||||
|
.zen-permission-popup-boost-editor-button {
|
||||||
list-style-image: url("arrow-right.svg");
|
list-style-image: url("arrow-right.svg");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -412,7 +425,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.panel-header > .subviewbutton-back,
|
.panel-header > .subviewbutton-back,
|
||||||
#PanelUI-zen-gradient-generator-color-page-left {
|
#PanelUI-zen-gradient-generator-color-page-left,
|
||||||
|
#zen-boost-back {
|
||||||
list-style-image: url("arrow-left.svg") !important;
|
list-style-image: url("arrow-left.svg") !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -504,6 +518,30 @@
|
|||||||
&:where([starred]) image {
|
&:where([starred]) image {
|
||||||
list-style-image: url("permissions-fill.svg");
|
list-style-image: url("permissions-fill.svg");
|
||||||
}
|
}
|
||||||
|
&[boosting] image {
|
||||||
|
color: var(--color-accent-primary);
|
||||||
|
list-style-image: url("permissions-fill.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
& .zen-site-data-boost-animation {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media not (prefers-reduced-motion: reduce) {
|
||||||
|
#zen-site-data-icon-button[boosting] .zen-site-data-boost-animation {
|
||||||
|
position: absolute;
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
color: var(--color-accent-primary);
|
||||||
|
list-style-image: url("chrome://browser/content/zen-images/boost-indicator.svg");
|
||||||
|
transform: translateX(-20%);
|
||||||
|
z-index: 0;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.geo-icon {
|
.geo-icon {
|
||||||
@@ -758,7 +796,8 @@
|
|||||||
--fp-enabled: 1;
|
--fp-enabled: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#alltabs-button {
|
#alltabs-button,
|
||||||
|
#urlbar-engine-one-off-item-workspaces {
|
||||||
list-style-image: url("chrome://browser/skin/tabs.svg") !important;
|
list-style-image: url("chrome://browser/skin/tabs.svg") !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -878,6 +917,36 @@
|
|||||||
fill: currentColor;
|
fill: currentColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#zen-site-data-boost {
|
||||||
|
border-radius: 6px;
|
||||||
|
appearance: none;
|
||||||
|
padding: 6px 10px 6px 10px;
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
list-style-image: url("boost.svg");
|
||||||
|
|
||||||
|
& .toolbarbutton-text {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media -moz-pref("zen.boosts.enabled", false) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
& image {
|
||||||
|
-moz-context-properties: fill, fill-opacity;
|
||||||
|
fill: currentColor;
|
||||||
|
width: 14px;
|
||||||
|
fill-opacity: 0.7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.boost-brush {
|
||||||
|
list-style-image: url("boost.svg") !important;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
#zen-site-data-security-info {
|
#zen-site-data-security-info {
|
||||||
-moz-context-properties: fill, fill-opacity;
|
-moz-context-properties: fill, fill-opacity;
|
||||||
fill: currentColor;
|
fill: currentColor;
|
||||||
@@ -937,3 +1006,83 @@
|
|||||||
list-style-image: url("link.svg");
|
list-style-image: url("link.svg");
|
||||||
fill-opacity: 0.65;
|
fill-opacity: 0.65;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#zen-boost-case[case-mode="none"] {
|
||||||
|
list-style-image: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-case[case-mode="capitalize"] {
|
||||||
|
list-style-image: url("text-title-case.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-case[case-mode="uppercase"] {
|
||||||
|
list-style-image: url("text-uppercase.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-case[case-mode="lowercase"] {
|
||||||
|
list-style-image: url("text-lowercase.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-code {
|
||||||
|
list-style-image: url("brackets-curly.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-zap {
|
||||||
|
list-style-image: url("bolt.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-controls {
|
||||||
|
list-style-image: url("sliders.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-invert {
|
||||||
|
list-style-image: url("lightbulb.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-disable {
|
||||||
|
list-style-image: url("block.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-close {
|
||||||
|
list-style-image: url("close.svg");
|
||||||
|
|
||||||
|
@media (-moz-platform: macos) {
|
||||||
|
list-style-image: url("close-filled-round.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (-moz-platform: windows) {
|
||||||
|
list-style-image: none;
|
||||||
|
list-style: none;
|
||||||
|
display: inline-flex;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
font-family: "Segoe Fluent Icons", "Segoe MDL2 Assets";
|
||||||
|
content: "\e8bb";
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-magic-theme {
|
||||||
|
list-style-image: url("sparkles.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-shuffle {
|
||||||
|
list-style-image: url("dice.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-css-picker {
|
||||||
|
list-style-image: url("eyedropper.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-css-inspector {
|
||||||
|
list-style-image: url("hammer.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-save {
|
||||||
|
list-style-image: url("downloads.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
#zen-boost-load {
|
||||||
|
list-style-image: url("open.svg");
|
||||||
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user