mirror of
https://github.com/zen-browser/desktop.git
synced 2025-10-26 04:17:21 +00:00
Compare commits
13 Commits
1.17.2b
...
window-syn
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
af20a65fa1 | ||
|
|
4a7f8fc9c0 | ||
|
|
a738a829de | ||
|
|
240a031e38 | ||
|
|
9bc7b9ce4e | ||
|
|
86006c8891 | ||
|
|
a55b1c7495 | ||
|
|
6e6337a95b | ||
|
|
6b12153c8a | ||
|
|
f6922ef2ba | ||
|
|
91f5d58fbc | ||
|
|
7a4cdaa45c | ||
|
|
81e854a89f |
@@ -1 +0,0 @@
|
||||
https://zen-browser.app/funding.json
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Següent
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Permès
|
||||
zen-site-data-setting-block = Bloquejat
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Galetes entre llocs
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extensió
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Afegeix extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = Totes les configuracions del lloc
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Comparteix aquesta pàgina
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copia l'URL
|
||||
zen-site-data-setting-site-protection = Protecció contra el seguiment
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Povoleno
|
||||
zen-site-data-setting-block = Blokováno
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Rozšíření
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Přidat rozšíření
|
||||
zen-site-data-site-settings =
|
||||
.label = Nastavení všech stránek
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Næste
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Tilladt
|
||||
zen-site-data-setting-block = Blokeret
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Udvidelse
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Tilføj udvidelser
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Del denne side
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Kopiér URL
|
||||
zen-site-data-setting-site-protection = Sporingsbeskyttelse
|
||||
|
||||
@@ -38,7 +38,7 @@ zen-library-sidebar-workspaces =
|
||||
zen-library-sidebar-mods =
|
||||
.label = Mods
|
||||
zen-toggle-compact-mode-button =
|
||||
.label = Kompakter Modus
|
||||
.label = Compact Mode
|
||||
.tooltiptext = Compact Mode umschalten
|
||||
|
||||
# note: Do not translate the "<br/>" tags in the following string
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Weiter
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Erlaubt
|
||||
zen-site-data-setting-block = Blockiert
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site-Cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Erweiterung
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Erweiterungen hinzufügen
|
||||
zen-site-data-site-settings =
|
||||
.label = Alle Website-Einstellungen
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Diese Seite teilen
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = URL kopieren
|
||||
zen-site-data-setting-site-protection = Tracking-Schutz
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -57,8 +57,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -72,14 +70,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -77,8 +77,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -93,16 +91,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
|
||||
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Siguiente
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Permitido
|
||||
zen-site-data-setting-block = Bloqueado
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cookie de terceros
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extensión
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Añadir extensión
|
||||
zen-site-data-site-settings =
|
||||
.label = Todas las configuraciones del sitio
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Compartir esta página
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copiar URL
|
||||
zen-site-data-setting-site-protection = Protección contra el rastreo
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Lubatud
|
||||
zen-site-data-setting-block = Keelatud
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Laiendus
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Lisa laiendusi
|
||||
zen-site-data-site-settings =
|
||||
.label = Kõik saidi sätted
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Suivant
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Autorisé
|
||||
zen-site-data-setting-block = Bloqué
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cookie intersite
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Ajouter des extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = Tous les paramètres du site
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Partager cette page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copier l'URL
|
||||
zen-site-data-setting-site-protection = Protection contre le pistage
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Ar Aghaidh
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Ceadaithe
|
||||
zen-site-data-setting-block = Blocáilte
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Fianán Tras-Láithreáin
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Síneadh
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Cuir Síneadh leis
|
||||
zen-site-data-site-settings =
|
||||
.label = Gach Socrú Suímh
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Comhroinn an Leathanach seo
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Cóipeáil URL
|
||||
zen-site-data-setting-site-protection = Cosaint Rianaithe
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = אושר
|
||||
zen-site-data-setting-block = חסום
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = תוספים
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = הוספת תוספים
|
||||
zen-site-data-site-settings =
|
||||
.label = כל הגדרות אתר
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Következő
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Engedélyezve
|
||||
zen-site-data-setting-block = Letiltva
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Webhelyek közötti sütik
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Kiegészítő
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Kiegészítő hozzáadása
|
||||
zen-site-data-site-settings =
|
||||
.label = Minden webhelybeállítás
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Oldal megosztása
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = URL másolása
|
||||
zen-site-data-setting-site-protection = Nyomkövetés védelem
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Lanjut
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Diizinkan
|
||||
zen-site-data-setting-block = Diblokir
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Kuki Lintas Situs
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Ekstensi
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Tambahkan Ekstensi
|
||||
zen-site-data-site-settings =
|
||||
.label = Semua Pengaturan Situs
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Bagikan Halaman Ini
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Salin URL
|
||||
zen-site-data-setting-site-protection = Perlindungan Pelacakan
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -57,8 +57,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Consentito
|
||||
zen-site-data-setting-block = Bloccato
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Estensione
|
||||
@@ -72,14 +70,8 @@ zen-site-data-get-addons =
|
||||
.label = Aggiungi estensioni
|
||||
zen-site-data-site-settings =
|
||||
.label = Tutte le impostazioni del sito
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Condividi questa pagina
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copia URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = 다음
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = 허용됨
|
||||
zen-site-data-setting-block = 금지됨
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = 사이트 간 공유 쿠키
|
||||
zen-site-data-security-info-extension =
|
||||
.label = 확장
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = 확장 프로그램 추가
|
||||
zen-site-data-site-settings =
|
||||
.label = 모든 사이트 설정
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = 이 페이지 공유
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = URL 복사
|
||||
zen-site-data-setting-site-protection = 추적 보호
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Leidžiama
|
||||
zen-site-data-setting-block = Užblokuota
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Plėtinys
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Įtraukti plėtinius
|
||||
zen-site-data-site-settings =
|
||||
.label = Visi svetainės nustatymai
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -57,8 +57,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Permitido
|
||||
zen-site-data-setting-block = Bloqueado
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extensão
|
||||
@@ -72,14 +70,8 @@ zen-site-data-get-addons =
|
||||
.label = Adicionar Extensões
|
||||
zen-site-data-site-settings =
|
||||
.label = Todas as Configurações do Site
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Seguinte
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Permitido
|
||||
zen-site-data-setting-block = Bloqueado
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cookies entre sites
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extensão
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Adicionar Extensões
|
||||
zen-site-data-site-settings =
|
||||
.label = Todas as Definições do Site
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Partilhar Esta Página
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copiar URL
|
||||
zen-site-data-setting-site-protection = Proteção contra rastreio
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Далее
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Разрешено
|
||||
zen-site-data-setting-block = Запрещено
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Расширение
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Добавить расширения
|
||||
zen-site-data-site-settings =
|
||||
.label = Все настройки сайта
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Поделиться этой страницей
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Скопировать URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -59,9 +59,7 @@ zen-generic-next = Далі
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Дозволено
|
||||
zen-site-data-setting-block = Заблоковано
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Міжсайтові cookie
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Розширення
|
||||
zen-site-data-security-info-secure =
|
||||
@@ -74,17 +72,11 @@ zen-site-data-get-addons =
|
||||
.label = Додати розширення
|
||||
zen-site-data-site-settings =
|
||||
.label = Усі налаштування сайту
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Поділитися цією сторінкою
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Копіювати URL-адресу
|
||||
zen-site-data-setting-site-protection = Захист від відстеження
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
# Section: Feature callouts
|
||||
|
||||
|
||||
@@ -59,8 +59,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -74,14 +72,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -57,8 +57,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -72,14 +70,8 @@ zen-site-data-get-addons =
|
||||
.label = 添加扩展
|
||||
zen-site-data-site-settings =
|
||||
.label = 所有站点设置
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -57,8 +57,6 @@ zen-generic-next = Next
|
||||
# These labels will be used for the site data panel settings
|
||||
zen-site-data-setting-allow = Allowed
|
||||
zen-site-data-setting-block = Blocked
|
||||
zen-site-data-protections-enabled = Enabled
|
||||
zen-site-data-protections-disabled = Disabled
|
||||
zen-site-data-setting-cross-site = Cross-Site cookie
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
@@ -72,14 +70,8 @@ zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
zen-site-data-share =
|
||||
.label = Share This Page
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
|
||||
@@ -58,3 +58,4 @@
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenDownloadAnimation.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenEmojiPicker.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenWorkspaceCreation.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenWindowSyncing.mjs"></script>
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
content/browser/zen-components/ZenWorkspaceIcons.mjs (../../zen/workspaces/ZenWorkspaceIcons.mjs)
|
||||
content/browser/zen-components/ZenWorkspace.mjs (../../zen/workspaces/ZenWorkspace.mjs)
|
||||
content/browser/zen-components/ZenWorkspaces.mjs (../../zen/workspaces/ZenWorkspaces.mjs)
|
||||
content/browser/zen-components/ZenWindowSyncing.mjs (../../zen/workspaces/ZenWindowSyncing.mjs)
|
||||
content/browser/zen-components/ZenWorkspaceCreation.mjs (../../zen/workspaces/ZenWorkspaceCreation.mjs)
|
||||
content/browser/zen-components/ZenWorkspacesStorage.mjs (../../zen/workspaces/ZenWorkspacesStorage.mjs)
|
||||
content/browser/zen-components/ZenWorkspacesSync.mjs (../../zen/workspaces/ZenWorkspacesSync.mjs)
|
||||
|
||||
@@ -16,19 +16,16 @@
|
||||
mainview-with-header="true">
|
||||
<hbox id="zen-site-data-header">
|
||||
<toolbarbutton id="zen-site-data-header-share"
|
||||
data-l10n-id="zen-site-data-header-share"
|
||||
data-l10n-id="zen-site-data-share"
|
||||
flex="1"
|
||||
closemenu="none" />
|
||||
<toolbarbutton id="zen-site-data-header-reader-mode"
|
||||
data-l10n-id="zen-site-data-header-reader-mode"
|
||||
command="View:ReaderView"
|
||||
flex="1" />
|
||||
<toolbarbutton id="zen-site-data-header-screenshot"
|
||||
data-l10n-id="zen-site-data-header-screenshot"
|
||||
command="Browser:Screenshot"
|
||||
flex="1" />
|
||||
<toolbarbutton id="zen-site-data-header-bookmark"
|
||||
data-l10n-id="zen-site-data-header-bookmark"
|
||||
command="Browser:AddBookmarkAs"
|
||||
flex="1" />
|
||||
</hbox>
|
||||
@@ -38,6 +35,10 @@
|
||||
<label data-l10n-id="zen-generic-manage" id="zen-site-data-manage-addons" />
|
||||
</hbox>
|
||||
<hbox class="panel-subview-body" context="unified-extensions-context-menu" id="zen-site-data-addons">
|
||||
<html:div id="unified-extensions-messages-container">
|
||||
<!-- messages will be inserted here -->
|
||||
</html:div>
|
||||
|
||||
<vbox id="overflowed-extensions-list">
|
||||
<!-- overflowed extension buttons from the nav-bar will go here -->
|
||||
</vbox>
|
||||
@@ -81,9 +82,6 @@
|
||||
closemenu="none"
|
||||
context="zenSiteDataActions" />
|
||||
</hbox>
|
||||
# Messages will be inserted here.
|
||||
# Dont write anything directly here, even comments, as this may break the layout
|
||||
<html:div id="unified-extensions-messages-container"></html:div>
|
||||
</panelview>
|
||||
</panelmultiview>
|
||||
</panel>
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||
index d9a059f608779fea7cd8c595a432f6fe95183e0c..c359e5115b315dbb4b14e07ab34526aab438565f 100644
|
||||
index d9a059f608779fea7cd8c595a432f6fe95183e0c..09a7c4045afd0b96027d0bbbad22e02e52fd7b22 100644
|
||||
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||
@@ -14,6 +14,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
|
||||
@@ -158,7 +158,7 @@ index d9a059f608779fea7cd8c595a432f6fe95183e0c..c359e5115b315dbb4b14e07ab34526aa
|
||||
continue;
|
||||
}
|
||||
- sum += parseFloat(style.marginLeft) + parseFloat(style.marginRight);
|
||||
+ sum += parseFloat(style.marginLeft) + (win.gZenVerticalTabsManager._hasSetSingleToolbar ? Math.max(0, parseFloat(style.marginRight)) : parseFloat(style.marginRight));
|
||||
+ sum += parseFloat(style.marginLeft) + Math.max(0, parseFloat(style.marginRight));
|
||||
if (child != aExceptChild) {
|
||||
sum += getInlineSize(child);
|
||||
}
|
||||
@@ -176,23 +176,17 @@ index d9a059f608779fea7cd8c595a432f6fe95183e0c..c359e5115b315dbb4b14e07ab34526aa
|
||||
});
|
||||
|
||||
lazy.log.debug(
|
||||
@@ -7909,7 +7909,14 @@ class OverflowableToolbar {
|
||||
@@ -7909,7 +7909,8 @@ class OverflowableToolbar {
|
||||
Math.max(targetWidth, targetChildrenWidth)
|
||||
);
|
||||
totalAvailWidth = Math.ceil(totalAvailWidth);
|
||||
- let isOverflowing = 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;
|
||||
+ if (win.gZenVerticalTabsManager._hasSetSingleToolbar &&
|
||||
+ this.#target.id == 'zen-sidebar-top-buttons-customization-target' &&
|
||||
+ Array.from(this.#target.children).filter(child => child.getAttribute("overflows") != "false").length == 1 &&
|
||||
+ this.#overflowedInfo.size == 0) {
|
||||
+ isOverflowing = false;
|
||||
+ }
|
||||
return { isOverflowing, targetContentWidth, totalAvailWidth };
|
||||
}
|
||||
|
||||
@@ -7970,7 +7977,11 @@ class OverflowableToolbar {
|
||||
@@ -7970,7 +7971,11 @@ class OverflowableToolbar {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -205,7 +199,7 @@ index d9a059f608779fea7cd8c595a432f6fe95183e0c..c359e5115b315dbb4b14e07ab34526aa
|
||||
lazy.log.debug(
|
||||
`Need ${minSize} but width is ${totalAvailWidth} so bailing`
|
||||
);
|
||||
@@ -8003,7 +8014,7 @@ class OverflowableToolbar {
|
||||
@@ -8003,7 +8008,7 @@ class OverflowableToolbar {
|
||||
}
|
||||
}
|
||||
if (!inserted) {
|
||||
@@ -214,7 +208,7 @@ index d9a059f608779fea7cd8c595a432f6fe95183e0c..c359e5115b315dbb4b14e07ab34526aa
|
||||
}
|
||||
child.removeAttribute("cui-anchorid");
|
||||
child.removeAttribute("overflowedItem");
|
||||
@@ -8348,7 +8359,7 @@ class OverflowableToolbar {
|
||||
@@ -8348,7 +8353,7 @@ class OverflowableToolbar {
|
||||
break;
|
||||
}
|
||||
case "mousedown": {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||
index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c738c5704 100644
|
||||
index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c64ab7bed9 100644
|
||||
--- a/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||
@@ -76,6 +76,13 @@ ChromeUtils.defineLazyGetter(lazy, "logger", () =>
|
||||
@@ -122,13 +122,14 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
// Enable the animation only after the first extend call to ensure it
|
||||
// doesn't run when opening a new window.
|
||||
if (!this.hasAttribute("breakout-extend-animate")) {
|
||||
@@ -2331,6 +2396,24 @@ export class UrlbarInput {
|
||||
@@ -2331,6 +2396,25 @@ export class UrlbarInput {
|
||||
return;
|
||||
}
|
||||
|
||||
+ if (this._zenHandleUrlbarClose) {
|
||||
+ this._zenHandleUrlbarClose();
|
||||
+ }
|
||||
+ this.window.gZenUIManager.onUrlbarClose();
|
||||
+
|
||||
+ // Arc like URLbar: Blur the input on exit
|
||||
+ const zenToolbox = this.document.getElementById("navigator-toolbox");
|
||||
@@ -141,13 +142,13 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
+ this.document.ownerGlobal.setTimeout(() => {
|
||||
+ this.window.document.documentElement.removeAttribute("supress-primary-adjustment");
|
||||
+ }, 100);
|
||||
+ this.window.gZenUIManager.onUrlbarClose();
|
||||
+
|
||||
+ this.removeAttribute("zen-floating-urlbar");
|
||||
+
|
||||
this.removeAttribute("breakout-extend");
|
||||
this.#updateTextboxPosition();
|
||||
}
|
||||
@@ -2595,10 +2678,12 @@ export class UrlbarInput {
|
||||
@@ -2595,10 +2679,12 @@ export class UrlbarInput {
|
||||
return;
|
||||
}
|
||||
this.textbox.style.top = px(
|
||||
@@ -160,7 +161,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2658,9 +2743,10 @@ export class UrlbarInput {
|
||||
@@ -2658,9 +2744,10 @@ export class UrlbarInput {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -172,7 +173,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
);
|
||||
this.textbox.style.setProperty(
|
||||
"--urlbar-height",
|
||||
@@ -3093,6 +3179,7 @@ export class UrlbarInput {
|
||||
@@ -3093,6 +3180,7 @@ export class UrlbarInput {
|
||||
}
|
||||
|
||||
_toggleActionOverride(event) {
|
||||
@@ -180,7 +181,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
if (
|
||||
event.keyCode == KeyEvent.DOM_VK_SHIFT ||
|
||||
event.keyCode == KeyEvent.DOM_VK_ALT ||
|
||||
@@ -3197,7 +3284,7 @@ export class UrlbarInput {
|
||||
@@ -3197,7 +3285,7 @@ export class UrlbarInput {
|
||||
return val;
|
||||
}
|
||||
let trimmedValue = lazy.UrlbarPrefs.get("trimURLs")
|
||||
@@ -189,7 +190,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
: val;
|
||||
// Only trim value if the directionality doesn't change to RTL and we're not
|
||||
// showing a strikeout https protocol.
|
||||
@@ -3501,6 +3588,7 @@ export class UrlbarInput {
|
||||
@@ -3501,6 +3589,7 @@ export class UrlbarInput {
|
||||
resultDetails = null,
|
||||
browser = this.window.gBrowser.selectedBrowser
|
||||
) {
|
||||
@@ -197,7 +198,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
if (this.isAddressbar) {
|
||||
this.#prepareAddressbarLoad(
|
||||
url,
|
||||
@@ -3608,6 +3696,10 @@ export class UrlbarInput {
|
||||
@@ -3608,6 +3697,10 @@ export class UrlbarInput {
|
||||
}
|
||||
reuseEmpty = true;
|
||||
}
|
||||
@@ -208,7 +209,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
if (
|
||||
where == "tab" &&
|
||||
reuseEmpty &&
|
||||
@@ -3615,6 +3707,9 @@ export class UrlbarInput {
|
||||
@@ -3615,6 +3708,9 @@ export class UrlbarInput {
|
||||
) {
|
||||
where = "current";
|
||||
}
|
||||
@@ -218,7 +219,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
return where;
|
||||
}
|
||||
|
||||
@@ -3872,6 +3967,7 @@ export class UrlbarInput {
|
||||
@@ -3872,6 +3968,7 @@ export class UrlbarInput {
|
||||
this.setResultForCurrentValue(null);
|
||||
this.handleCommand();
|
||||
this.controller.clearLastQueryContextCache();
|
||||
@@ -226,7 +227,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
|
||||
this._suppressStartQuery = false;
|
||||
});
|
||||
@@ -3879,7 +3975,6 @@ export class UrlbarInput {
|
||||
@@ -3879,7 +3976,6 @@ export class UrlbarInput {
|
||||
contextMenu.addEventListener("popupshowing", () => {
|
||||
// Close the results pane when the input field contextual menu is open,
|
||||
// because paste and go doesn't want a result selection.
|
||||
@@ -234,7 +235,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
|
||||
let controller =
|
||||
this.document.commandDispatcher.getControllerForCommand("cmd_paste");
|
||||
@@ -3991,7 +4086,11 @@ export class UrlbarInput {
|
||||
@@ -3991,7 +4087,11 @@ export class UrlbarInput {
|
||||
if (!engineName && !source && !this.hasAttribute("searchmode")) {
|
||||
return;
|
||||
}
|
||||
@@ -247,7 +248,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
if (this._searchModeIndicatorTitle) {
|
||||
this._searchModeIndicatorTitle.textContent = "";
|
||||
this._searchModeIndicatorTitle.removeAttribute("data-l10n-id");
|
||||
@@ -4302,6 +4401,7 @@ export class UrlbarInput {
|
||||
@@ -4302,6 +4402,7 @@ export class UrlbarInput {
|
||||
|
||||
this.document.l10n.setAttributes(
|
||||
this.inputField,
|
||||
@@ -255,7 +256,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
l10nId,
|
||||
l10nId == "urlbar-placeholder-with-name" ? { name } : undefined
|
||||
);
|
||||
@@ -4413,6 +4513,11 @@ export class UrlbarInput {
|
||||
@@ -4413,6 +4514,11 @@ export class UrlbarInput {
|
||||
}
|
||||
|
||||
_on_click(event) {
|
||||
@@ -267,7 +268,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
if (
|
||||
event.target == this.inputField ||
|
||||
event.target == this._inputContainer
|
||||
@@ -4485,7 +4590,7 @@ export class UrlbarInput {
|
||||
@@ -4485,7 +4591,7 @@ export class UrlbarInput {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -276,7 +277,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
this.view.autoOpen({ event });
|
||||
} else {
|
||||
if (this._untrimOnFocusAfterKeydown) {
|
||||
@@ -4525,9 +4630,16 @@ export class UrlbarInput {
|
||||
@@ -4525,9 +4631,16 @@ export class UrlbarInput {
|
||||
}
|
||||
|
||||
_on_mousedown(event) {
|
||||
@@ -294,7 +295,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
|
||||
if (
|
||||
event.target != this.inputField &&
|
||||
@@ -4538,6 +4650,10 @@ export class UrlbarInput {
|
||||
@@ -4538,6 +4651,10 @@ export class UrlbarInput {
|
||||
|
||||
this.focusedViaMousedown = !this.focused;
|
||||
this._preventClickSelectsAll = this.focused;
|
||||
@@ -305,7 +306,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
|
||||
// Keep the focus status, since the attribute may be changed
|
||||
// upon calling this.focus().
|
||||
@@ -4573,7 +4689,7 @@ export class UrlbarInput {
|
||||
@@ -4573,7 +4690,7 @@ export class UrlbarInput {
|
||||
}
|
||||
// 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.
|
||||
@@ -314,7 +315,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -4890,7 +5006,7 @@ export class UrlbarInput {
|
||||
@@ -4890,7 +5007,7 @@ export class UrlbarInput {
|
||||
// When we are in actions search mode we can show more results so
|
||||
// increase the limit.
|
||||
let maxResults =
|
||||
|
||||
@@ -544,12 +544,6 @@ groupbox h2 {
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1320px) {
|
||||
#zenLayoutList {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
}
|
||||
|
||||
/* Disable mozilla's settings */
|
||||
|
||||
#dataCollectionCategory,
|
||||
|
||||
@@ -1,16 +1,8 @@
|
||||
diff --git a/browser/themes/shared/tabbrowser/content-area.css b/browser/themes/shared/tabbrowser/content-area.css
|
||||
index e06addf1602dc26ff4e75a8db6251231690f3f80..ffac005d5040852eda8f574f65f2eadf5ecbd642 100644
|
||||
index e06addf1602dc26ff4e75a8db6251231690f3f80..86e2cd0194bb37fa140a2f93eccfdd61419a9aec 100644
|
||||
--- a/browser/themes/shared/tabbrowser/content-area.css
|
||||
+++ b/browser/themes/shared/tabbrowser/content-area.css
|
||||
@@ -134,7 +134,6 @@
|
||||
}
|
||||
|
||||
browser:is([blank], [pendingpaint]) {
|
||||
- opacity: 0;
|
||||
}
|
||||
|
||||
browser[type="content"] {
|
||||
@@ -276,7 +275,7 @@
|
||||
@@ -276,7 +276,7 @@
|
||||
|
||||
.dialogStack {
|
||||
z-index: var(--browser-stack-z-index-dialog-stack);
|
||||
|
||||
@@ -69,12 +69,12 @@ export var ZenCustomizableUI = new (class {
|
||||
addon-webext-overflowtarget="overflowed-extensions-list"
|
||||
mode="icons">
|
||||
<hbox id="zen-sidebar-top-buttons-customization-target" class="customization-target" flex="1">
|
||||
<toolbaritem id="zen-toggle-compact-mode" removable="true" data-l10n-id="zen-toggle-compact-mode-button">
|
||||
<toolbaritem id="zen-toggle-compact-mode" removable="true">
|
||||
<toolbarbutton
|
||||
class="toolbarbutton-1"
|
||||
command="cmd_toggleCompactModeIgnoreHover"
|
||||
data-l10n-id="zen-toggle-compact-mode-button"
|
||||
flex="1" />
|
||||
flex="1"
|
||||
data-l10n-id="zen-toggle-compact-mode-button" />
|
||||
</toolbaritem>
|
||||
<html:div id="zen-sidebar-top-buttons-separator" skipintoolbarset="true" overflows="false"></html:div>
|
||||
</hbox>
|
||||
|
||||
@@ -24,11 +24,11 @@
|
||||
const { exists: shouldExist = true } = descendantSelectors;
|
||||
if (exists === shouldExist) {
|
||||
if (!element.hasAttribute(stateAttribute)) {
|
||||
gZenCompactModeManager._setElementExpandAttribute(element, true, stateAttribute);
|
||||
element.setAttribute(stateAttribute, 'true');
|
||||
}
|
||||
} else {
|
||||
if (element.hasAttribute(stateAttribute)) {
|
||||
gZenCompactModeManager._setElementExpandAttribute(element, false, stateAttribute);
|
||||
element.removeAttribute(stateAttribute);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -275,14 +275,14 @@ var gZenUIManager = {
|
||||
// Section: URL bar
|
||||
|
||||
onUrlbarOpen() {
|
||||
setTimeout(() => {
|
||||
gURLBar.setPageProxyState('invalid', false);
|
||||
}, 0);
|
||||
gURLBar.setAttribute('had-proxystate', gURLBar.getAttribute('pageproxystate'));
|
||||
gURLBar.setPageProxyState('invalid', false);
|
||||
},
|
||||
|
||||
onUrlbarClose() {
|
||||
if (!gURLBar.valueIsTyped && gURLBar._untrimmedValue !== gURLBar.value) {
|
||||
gURLBar.handleRevert();
|
||||
if (gURLBar.hasAttribute('had-proxystate')) {
|
||||
gURLBar.setURI();
|
||||
gURLBar.removeAttribute('had-proxystate');
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -133,16 +133,12 @@
|
||||
}
|
||||
|
||||
:root:not([zen-single-toolbar='true']) #zen-appcontent-wrapper {
|
||||
z-index: 3;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
#nav-bar {
|
||||
border-top-color: transparent !important;
|
||||
|
||||
:root[zen-single-toolbar='true'] & {
|
||||
border-top: none !important;
|
||||
--zen-toolbar-height: 37px;
|
||||
}
|
||||
:root[zen-single-toolbar='true'] #nav-bar {
|
||||
border-top: none !important;
|
||||
--zen-toolbar-height: 37px;
|
||||
}
|
||||
|
||||
#zen-main-app-wrapper {
|
||||
@@ -247,7 +243,6 @@
|
||||
@media (-moz-platform: macos) {
|
||||
:root[zen-window-buttons-reversed='true'][zen-right-side='true'] .titlebar-buttonbox-container {
|
||||
margin-inline-start: max(calc(var(--zen-element-separation) - 3px), 4px);
|
||||
margin-block: auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -296,6 +296,13 @@
|
||||
:root[zen-single-toolbar='true'] {
|
||||
--urlbar-icon-border-radius: 8px !important;
|
||||
|
||||
.urlbar-page-action:not([open]):not([showing]):not(
|
||||
:is(#zen-copy-url-button, #identity-permission-box)
|
||||
),
|
||||
#tracking-protection-icon-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#identity-permission-box > *:not(#zen-site-data-icon-button) {
|
||||
visibility: collapse;
|
||||
}
|
||||
@@ -306,7 +313,7 @@
|
||||
|
||||
#urlbar:not([breakout-extend='true']) {
|
||||
#identity-box:not([pageproxystate='invalid']) {
|
||||
order: 2;
|
||||
order: 9;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -33,12 +33,6 @@
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* hide Mozilla services from the app menu */
|
||||
#PanelUI-fxa-menu-services,
|
||||
#PanelUI-fxa-cta-menu {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
body > #confetti {
|
||||
z-index: 1;
|
||||
}
|
||||
@@ -296,23 +290,16 @@ body > #confetti {
|
||||
--arrowpanel-menuitem-border-radius: 10px;
|
||||
}
|
||||
|
||||
#unified-extensions-messages-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#zen-site-data-addons {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
overflow: visible;
|
||||
|
||||
unified-extensions-item-messagebar-wrapper,
|
||||
.unified-extensions-item-contents {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
&[overflowing='true'] {
|
||||
overflow-x: auto;
|
||||
max-height: 420px;
|
||||
mask-image: linear-gradient(to top, transparent, black 5%);
|
||||
}
|
||||
|
||||
.unified-extensions-item-name,
|
||||
.unified-extensions-item-message,
|
||||
.unified-extensions-item-message-hover,
|
||||
@@ -528,27 +515,18 @@ body > #confetti {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
@media (-moz-platform: macos) {
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
light-dark(rgb(255, 255, 255), rgb(34, 34, 34)),
|
||||
light-dark(rgb(246, 246, 246), rgb(21, 21, 21))
|
||||
);
|
||||
|
||||
box-shadow:
|
||||
0px 2px 4px rgba(0, 0, 0, 0.075),
|
||||
inset 0px 1px 0px light-dark(transparent, rgba(255, 255, 255, 0.15));
|
||||
border-radius: 6px;
|
||||
--base-border-color: light-dark(rgba(0, 0, 0, 0.175), rgba(255, 255, 255, 0.1));
|
||||
border: 1px solid light-dark(var(--base-border-color), rgb(21, 21, 21));
|
||||
}
|
||||
|
||||
@media not (-moz-platform: macos) {
|
||||
border-radius: 6px;
|
||||
background-color: color-mix(in srgb, currentcolor 6%, transparent);
|
||||
}
|
||||
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
light-dark(rgb(255, 255, 255), rgb(34, 34, 34)),
|
||||
light-dark(rgb(246, 246, 246), rgb(21, 21, 21))
|
||||
);
|
||||
transition: transform 0.12s ease-in-out;
|
||||
box-shadow:
|
||||
0px 2px 4px rgba(0, 0, 0, 0.075),
|
||||
inset 0px 1px 0px light-dark(transparent, rgba(255, 255, 255, 0.15));
|
||||
border-radius: 6px;
|
||||
--base-border-color: light-dark(rgba(0, 0, 0, 0.175), rgba(255, 255, 255, 0.1));
|
||||
border: 1px solid light-dark(var(--base-border-color), rgb(21, 21, 21));
|
||||
box-sizing: border-box;
|
||||
will-change: transform;
|
||||
}
|
||||
@@ -575,10 +553,6 @@ body > #confetti {
|
||||
margin: 6px 0;
|
||||
}
|
||||
|
||||
#unified-extensions-messages-container:empty {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Overflow panel */
|
||||
#widget-overflow-mainView {
|
||||
--menu-panel-width-wide: 200px;
|
||||
|
||||
@@ -195,8 +195,7 @@
|
||||
|
||||
/* Transitions */
|
||||
--zen-tabbox-element-indent-transition: margin-inline-start 0.1s ease-in-out;
|
||||
--zen-hidden-toolbar-transition-duration: 0.15s;
|
||||
--zen-hidden-toolbar-transition: var(--zen-hidden-toolbar-transition-duration) ease-in-out;
|
||||
--zen-hidden-toolbar-transition: 0.15s ease-in-out;
|
||||
|
||||
/* XUL */
|
||||
--zen-main-browser-background: light-dark(rgb(235, 235, 235), #1b1b1b);
|
||||
|
||||
@@ -143,7 +143,6 @@ var gZenCompactModeManager = {
|
||||
},
|
||||
|
||||
addHasPolyfillObserver() {
|
||||
const attributes = ['panelopen', 'open', 'breakout-extend', 'zen-floating-urlbar'];
|
||||
this.sidebarObserverId = ZenHasPolyfill.observeSelectorExistence(
|
||||
this.sidebar,
|
||||
[
|
||||
@@ -153,21 +152,8 @@ var gZenCompactModeManager = {
|
||||
},
|
||||
],
|
||||
'zen-compact-mode-active',
|
||||
attributes
|
||||
['panelopen', 'open', 'breakout-extend', 'zen-floating-urlbar']
|
||||
);
|
||||
this.toolbarObserverId = ZenHasPolyfill.observeSelectorExistence(
|
||||
document.getElementById('zen-appcontent-navbar-wrapper'),
|
||||
[
|
||||
{
|
||||
selector:
|
||||
":is([panelopen='true'], [open='true'], #urlbar:focus-within, [breakout-extend='true']):not(.zen-compact-mode-ignore)",
|
||||
},
|
||||
],
|
||||
'zen-compact-mode-active',
|
||||
attributes
|
||||
);
|
||||
// Always connect this observer, we need it even if compact mode is disabled
|
||||
ZenHasPolyfill.connectObserver(this.toolbarObserverId);
|
||||
},
|
||||
|
||||
flashSidebarIfNecessary(aInstant = false) {
|
||||
@@ -216,7 +202,7 @@ var gZenCompactModeManager = {
|
||||
},
|
||||
|
||||
updateCompactModeContext(isSingleToolbar) {
|
||||
const isIllegalState = this.checkIfIllegalState();
|
||||
isSingleToolbar ||= this.checkIfIllegalState();
|
||||
const menuitem = document.getElementById('zen-context-menu-compact-mode-toggle');
|
||||
const menu = document.getElementById('zen-context-menu-compact-mode');
|
||||
if (isSingleToolbar) {
|
||||
@@ -226,14 +212,6 @@ var gZenCompactModeManager = {
|
||||
menu.removeAttribute('hidden');
|
||||
menu.querySelector('menupopup').prepend(menuitem);
|
||||
}
|
||||
const hideToolbarMenuItem = document.getElementById(
|
||||
'zen-context-menu-compact-mode-hide-toolbar'
|
||||
);
|
||||
if (isIllegalState) {
|
||||
hideToolbarMenuItem.setAttribute('disabled', 'true');
|
||||
} else {
|
||||
hideToolbarMenuItem.removeAttribute('disabled');
|
||||
}
|
||||
},
|
||||
|
||||
hideSidebar() {
|
||||
@@ -623,7 +601,7 @@ var gZenCompactModeManager = {
|
||||
},
|
||||
|
||||
_setElementExpandAttribute(element, value, attr = 'zen-has-hover') {
|
||||
const kVerifiedAttributes = ['zen-has-hover', 'has-popup-menu', 'zen-compact-mode-active'];
|
||||
const kVerifiedAttributes = ['zen-has-hover', 'has-popup-menu'];
|
||||
const isToolbar = element.id === 'zen-appcontent-navbar-wrapper';
|
||||
if (value) {
|
||||
element.setAttribute(attr, 'true');
|
||||
@@ -634,7 +612,8 @@ var gZenCompactModeManager = {
|
||||
document.documentElement.hasAttribute('zen-has-bookmarks'))) ||
|
||||
(this.preference &&
|
||||
Services.prefs.getBoolPref('zen.view.compact.hide-toolbar') &&
|
||||
!gZenVerticalTabsManager._hasSetSingleToolbar))
|
||||
!gZenVerticalTabsManager._hasSetSingleToolbar &&
|
||||
!gURLBar.hasAttribute('breakout-extend')))
|
||||
) {
|
||||
gBrowser.tabpanels.setAttribute('has-toolbar-hovered', 'true');
|
||||
}
|
||||
|
||||
@@ -35,8 +35,7 @@
|
||||
overflow: clip;
|
||||
|
||||
& #urlbar:not([breakout-extend='true']) {
|
||||
/* Sometimes, "opacity: 1" is forced elsewhere */
|
||||
opacity: 0 !important;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transition: opacity var(--zen-hidden-toolbar-transition);
|
||||
}
|
||||
@@ -49,18 +48,20 @@
|
||||
}
|
||||
}
|
||||
|
||||
& #zen-appcontent-navbar-wrapper:is(
|
||||
[zen-has-hover],
|
||||
[has-popup-menu],
|
||||
[zen-compact-mode-active]
|
||||
) {
|
||||
& #zen-appcontent-navbar-wrapper[zen-has-hover],
|
||||
& #zen-appcontent-navbar-wrapper[has-popup-menu],
|
||||
&
|
||||
#zen-appcontent-navbar-wrapper:has(
|
||||
*:is([panelopen='true'], [open='true'], #urlbar:focus-within, [breakout-extend='true']):not(.zen-compact-mode-ignore)
|
||||
) {
|
||||
|
||||
height: var(--zen-toolbar-height-with-bookmarks);
|
||||
overflow: inherit;
|
||||
|
||||
%include windows-captions-fix-active.inc.css
|
||||
|
||||
& #urlbar {
|
||||
opacity: 1 !important;
|
||||
opacity: 1;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
*/
|
||||
|
||||
& .titlebar-buttonbox-container {
|
||||
max-height: 100%;
|
||||
visibility: visible;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,9 @@
|
||||
*/
|
||||
|
||||
& .titlebar-buttonbox-container {
|
||||
max-height: 0px;
|
||||
display: collapse;
|
||||
/* We need to hide them since on Windows the native
|
||||
* panels when hovering over them can interfere with the
|
||||
* web content */
|
||||
transition: max-height 0s;
|
||||
transition-delay: calc(var(--zen-hidden-toolbar-transition-duration) + 0.2s);
|
||||
transition: visibility var(--zen-hidden-toolbar-transition);
|
||||
}
|
||||
|
||||
@@ -24,9 +24,6 @@
|
||||
#duringOpening = false;
|
||||
#ignoreClose = false;
|
||||
|
||||
// Click handling
|
||||
#lastLinkClickData = { clientX: 0, clientY: 0, height: 0, width: 0 };
|
||||
|
||||
// Arc animation configuration
|
||||
#ARC_CONFIG = Object.freeze({
|
||||
ARC_STEPS: 70, // Increased for smoother bounce
|
||||
@@ -271,31 +268,10 @@
|
||||
data.height
|
||||
);
|
||||
return await this.#imageBitmapToBase64(
|
||||
await window.browsingContext.currentWindowGlobal.drawSnapshot(
|
||||
rect,
|
||||
1,
|
||||
'transparent',
|
||||
undefined
|
||||
)
|
||||
await window.browsingContext.currentWindowGlobal.drawSnapshot(rect, 1, 'transparent', true)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the last link click data
|
||||
* @param {Object} data - The link click data
|
||||
*/
|
||||
set lastLinkClickData(data) {
|
||||
this.#lastLinkClickData = data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the last link click data
|
||||
* @returns {Object} The last link click data
|
||||
*/
|
||||
get lastLinkClickData() {
|
||||
return this.#lastLinkClickData;
|
||||
}
|
||||
|
||||
/**
|
||||
* Open a glance overlay with the specified data
|
||||
* @param {Object} data - Glance data including URL, position, and dimensions
|
||||
@@ -313,13 +289,6 @@
|
||||
return;
|
||||
}
|
||||
|
||||
if (!data.height || !data.width) {
|
||||
data = {
|
||||
...data,
|
||||
...this.lastLinkClickData,
|
||||
};
|
||||
}
|
||||
|
||||
this.#setAnimationState(true);
|
||||
const currentTab = ownerTab ?? gBrowser.selectedTab;
|
||||
const browserElement = this.#createBrowserElement(data.url, currentTab, existingTab);
|
||||
@@ -356,13 +325,12 @@
|
||||
gZenViewSplitter.onLocationChange(browserElement);
|
||||
this.#prepareGlanceAnimation(data, browserElement);
|
||||
if (data.width && data.height) {
|
||||
// It is guaranteed that we will animate this opacity later on
|
||||
// when we start animating the glance.
|
||||
this.contentWrapper.style.opacity = 0;
|
||||
data.elementData = await this.#getElementPreviewData(data);
|
||||
}
|
||||
this.#glances.get(this.#currentGlanceID).elementData = data.elementData;
|
||||
this.#executeGlanceAnimation(data, browserElement, resolve);
|
||||
window.requestAnimationFrame(() => {
|
||||
this.#executeGlanceAnimation(data, browserElement, resolve);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -376,6 +344,7 @@
|
||||
const newButtons = this.#createNewOverlayButtons();
|
||||
this.browserWrapper.appendChild(newButtons);
|
||||
|
||||
this.#animateParentBackground();
|
||||
this.#setupGlancePositioning(data);
|
||||
this.#configureBrowserElement(browserElement);
|
||||
}
|
||||
@@ -448,6 +417,9 @@
|
||||
imageDataElement.setAttribute('src', data.elementData);
|
||||
imageDataElement.classList.add('zen-glance-element-preview');
|
||||
|
||||
// set an aspect ratio to prevent stretching during animation
|
||||
imageDataElement.style.aspectRatio = `${data.width} / ${data.height}`;
|
||||
|
||||
this.browserWrapper.prepend(imageDataElement);
|
||||
this.#glances.get(this.#currentGlanceID).elementImageData = data.elementData;
|
||||
|
||||
@@ -457,7 +429,7 @@
|
||||
opacity: [1, 0],
|
||||
},
|
||||
{
|
||||
duration: 0.25,
|
||||
duration: 0.3,
|
||||
easing: 'easeInOut',
|
||||
}
|
||||
);
|
||||
@@ -516,6 +488,7 @@
|
||||
// nice fade-in effect to the content. But if it doesn't exist,
|
||||
// we just fall back to always showing the browser directly.
|
||||
if (data.elementData) {
|
||||
this.contentWrapper.style.opacity = 0;
|
||||
gZenUIManager.motion
|
||||
.animate(
|
||||
this.contentWrapper,
|
||||
@@ -530,7 +503,6 @@
|
||||
});
|
||||
}
|
||||
|
||||
this.#animateParentBackground();
|
||||
gZenUIManager.motion
|
||||
.animate(this.browserWrapper, arcSequence, {
|
||||
duration: gZenUIManager.testingEnabled ? 0 : 0.4,
|
||||
@@ -945,7 +917,7 @@
|
||||
const originalPosition = this.#glances.get(this.#currentGlanceID).originalPosition;
|
||||
const elementImageData = this.#glances.get(this.#currentGlanceID).elementImageData;
|
||||
|
||||
this.#addElementPreview(elementImageData);
|
||||
this.#addElementPreview(elementImageData, originalPosition);
|
||||
|
||||
// Create curved closing animation sequence
|
||||
const closingData = this.#createClosingDataFromOriginalPosition(originalPosition);
|
||||
@@ -987,13 +959,17 @@
|
||||
/**
|
||||
* Add element preview if available, used for the closing animation
|
||||
* @param {string} elementImageData - The element image data
|
||||
* @param {Object} rect - The rectangle data
|
||||
*/
|
||||
#addElementPreview(elementImageData) {
|
||||
#addElementPreview(elementImageData, rect) {
|
||||
if (elementImageData) {
|
||||
const imageDataElement = document.createXULElement('image');
|
||||
imageDataElement.setAttribute('src', elementImageData);
|
||||
imageDataElement.classList.add('zen-glance-element-preview');
|
||||
|
||||
// set an aspect ratio to prevent stretching during animation
|
||||
imageDataElement.style.aspectRatio = `${parseFloat(rect.width)} / ${parseFloat(rect.height)}`;
|
||||
|
||||
this.browserWrapper.prepend(imageDataElement);
|
||||
}
|
||||
}
|
||||
@@ -1014,7 +990,7 @@
|
||||
if (!onTabClose) {
|
||||
this.quickCloseGlance({ clearID: false });
|
||||
}
|
||||
this.overlay.style.display = 'none';
|
||||
this.browserWrapper.style.display = 'none';
|
||||
this.overlay.removeAttribute('fade-out');
|
||||
this.browserWrapper.removeAttribute('animate');
|
||||
|
||||
@@ -1381,9 +1357,18 @@
|
||||
* @param {Tab} tab - The tab to open glance for
|
||||
*/
|
||||
#openGlanceForTab(tab) {
|
||||
const browserRect = window.windowUtils.getBoundsWithoutFlushing(gBrowser.tabbox);
|
||||
const clickPosition = gZenUIManager._lastClickPosition || {
|
||||
clientX: browserRect.width / 2,
|
||||
clientY: browserRect.height / 2,
|
||||
};
|
||||
|
||||
this.openGlance(
|
||||
{
|
||||
url: undefined,
|
||||
...clickPosition,
|
||||
width: 0,
|
||||
height: 0,
|
||||
},
|
||||
tab,
|
||||
tab.owner
|
||||
|
||||
@@ -35,30 +35,22 @@ export class ZenGlanceChild extends JSWindowActorChild {
|
||||
return !(event.ctrlKey ^ event.altKey ^ event.shiftKey ^ event.metaKey);
|
||||
}
|
||||
|
||||
#openGlance(target) {
|
||||
openGlance(target, originalTarget) {
|
||||
let url = target.href;
|
||||
// Add domain to relative URLs
|
||||
if (!url.match(/^(?:[a-z]+:)?\/\//i)) {
|
||||
url = this.contentWindow.location.origin + url;
|
||||
}
|
||||
this.sendAsyncMessage('ZenGlance:OpenGlance', {
|
||||
url,
|
||||
});
|
||||
}
|
||||
|
||||
#sendClickDataToParent(target, element) {
|
||||
if (!element || !target) {
|
||||
return;
|
||||
}
|
||||
// Get the largest element we can get. If the `A` element
|
||||
// is a parent of the original target, use the anchor element,
|
||||
// otherwise use the original target.
|
||||
let rect = element.getBoundingClientRect();
|
||||
let rect = originalTarget.getBoundingClientRect();
|
||||
const anchorRect = target.getBoundingClientRect();
|
||||
if (anchorRect.width * anchorRect.height > rect.width * rect.height) {
|
||||
rect = anchorRect;
|
||||
}
|
||||
this.sendAsyncMessage('ZenGlance:RecordLinkClickData', {
|
||||
this.sendAsyncMessage('ZenGlance:OpenGlance', {
|
||||
url,
|
||||
clientX: rect.left,
|
||||
clientY: rect.top,
|
||||
width: rect.width,
|
||||
@@ -67,19 +59,7 @@ export class ZenGlanceChild extends JSWindowActorChild {
|
||||
}
|
||||
|
||||
handleClick(event) {
|
||||
if (event.button !== 0 || event.defaultPrevented) {
|
||||
return;
|
||||
}
|
||||
// get closest A element
|
||||
const target = event.target.closest('A');
|
||||
const elementToRecord = event.originalTarget || event.target;
|
||||
// We record the link data anyway, even if the glance may be invoked
|
||||
// or not. We have some cases where glance would open, for example,
|
||||
// when clicking on a link with a different domain where glance would open.
|
||||
// The problem is that at that stage we don't know the rect or even what
|
||||
// element has been clicked, so we send the data here.
|
||||
this.#sendClickDataToParent(target, elementToRecord);
|
||||
if (this.ensureOnlyKeyModifiers(event)) {
|
||||
if (this.ensureOnlyKeyModifiers(event) || event.button !== 0 || event.defaultPrevented) {
|
||||
return;
|
||||
}
|
||||
const activationMethod = this.#activationMethod;
|
||||
@@ -92,11 +72,13 @@ export class ZenGlanceChild extends JSWindowActorChild {
|
||||
} else if (activationMethod === 'meta' && !event.metaKey) {
|
||||
return;
|
||||
}
|
||||
// get closest A element
|
||||
const target = event.target.closest('A');
|
||||
if (target) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
this.#openGlance(target);
|
||||
this.openGlance(target, event.originalTarget || event.target);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,10 +23,6 @@ export class ZenGlanceParent extends JSWindowActorParent {
|
||||
this.browsingContext.topChromeWindow.gZenGlanceManager.closeGlance(params);
|
||||
break;
|
||||
}
|
||||
case 'ZenGlance:RecordLinkClickData': {
|
||||
this.browsingContext.topChromeWindow.gZenGlanceManager.lastLinkClickData = message.data;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
console.warn(`[glance]: Unknown message: ${message.name}`);
|
||||
}
|
||||
|
||||
@@ -171,11 +171,10 @@
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 0;
|
||||
border-radius: var(--zen-native-inner-radius);
|
||||
top: 0%;
|
||||
left: 50%;
|
||||
translate: -50% 0%;
|
||||
max-height: 100%;
|
||||
inset: 50%;
|
||||
translate: -50% -50%;
|
||||
will-change: transform, opacity;
|
||||
}
|
||||
|
||||
@@ -294,7 +294,7 @@
|
||||
}
|
||||
|
||||
/* Hide #zen-media-focus-button if it doesn't fit in the toolbar */
|
||||
@container media-controls (max-width: 165px) {
|
||||
@container media-controls (max-width: 150px) {
|
||||
#zen-media-focus-button {
|
||||
display: none;
|
||||
}
|
||||
|
||||
27
src/zen/sessionstore/ZenSessionFile.sys.mjs
Normal file
27
src/zen/sessionstore/ZenSessionFile.sys.mjs
Normal file
@@ -0,0 +1,27 @@
|
||||
// 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/.
|
||||
|
||||
const FILE_NAME = 'zen-sessions.jsonlz4';
|
||||
|
||||
export class nsZenSessionFile {
|
||||
#path;
|
||||
|
||||
#windows;
|
||||
|
||||
constructor() {
|
||||
this.#path = PathUtils.join(profileDir, FILE_NAME);
|
||||
}
|
||||
|
||||
async read() {
|
||||
try {
|
||||
return await IOUtils.readJSON(this.#path, { compress: true });
|
||||
} catch (e) {
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
async write(data) {
|
||||
await IOUtils.writeJSON(this.#path, data, { compress: true });
|
||||
}
|
||||
}
|
||||
50
src/zen/sessionstore/ZenSessionManager.sys.mjs
Normal file
50
src/zen/sessionstore/ZenSessionManager.sys.mjs
Normal file
@@ -0,0 +1,50 @@
|
||||
// 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/.
|
||||
|
||||
import {
|
||||
cancelIdleCallback,
|
||||
clearTimeout,
|
||||
requestIdleCallback,
|
||||
setTimeout,
|
||||
} from 'resource://gre/modules/Timer.sys.mjs';
|
||||
|
||||
const lazy = {};
|
||||
|
||||
ChromeUtils.defineESModuleGetters(lazy, {
|
||||
ZenSessionFile: 'resource://gre/modules/ZenSessionFile.sys.mjs',
|
||||
PrivateBrowsingUtils: 'resource://gre/modules/PrivateBrowsingUtils.sys.mjs',
|
||||
RunState: 'resource:///modules/sessionstore/RunState.sys.mjs',
|
||||
});
|
||||
|
||||
class nsZenSessionManager {
|
||||
#file;
|
||||
|
||||
constructor() {
|
||||
this.#file = null;
|
||||
}
|
||||
|
||||
get file() {
|
||||
if (!this.#file) {
|
||||
this.#file = lazy.ZenSessionFile;
|
||||
}
|
||||
return this.#file;
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the current session state. Collects data and writes to disk.
|
||||
*
|
||||
* @param forceUpdateAllWindows (optional)
|
||||
* Forces us to recollect data for all windows and will bypass and
|
||||
* update the corresponding caches.
|
||||
*/
|
||||
saveState(forceUpdateAllWindows = false) {
|
||||
if (lazy.PrivateBrowsingUtils.permanentPrivateBrowsing) {
|
||||
// Don't save (or even collect) anything in permanent private
|
||||
// browsing mode
|
||||
return Promise.resolve();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const ZenSessionStore = new nsZenSessionManager();
|
||||
35
src/zen/sessionstore/ZenSessionWindow.sys.mjs
Normal file
35
src/zen/sessionstore/ZenSessionWindow.sys.mjs
Normal file
@@ -0,0 +1,35 @@
|
||||
// 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/.
|
||||
|
||||
export class ZenSessionWindow {
|
||||
#id;
|
||||
#selectedWorkspace;
|
||||
#selectedTab;
|
||||
|
||||
constructor(id) {
|
||||
this.#id = id;
|
||||
this.#selectedWorkspace = null;
|
||||
this.#selectedTab = null;
|
||||
}
|
||||
|
||||
get id() {
|
||||
return this.#id;
|
||||
}
|
||||
|
||||
get selectedWorkspace() {
|
||||
return this.#selectedWorkspace;
|
||||
}
|
||||
|
||||
set selectedWorkspace(workspace) {
|
||||
this.#selectedWorkspace = workspace;
|
||||
}
|
||||
|
||||
get selectedTab() {
|
||||
return this.#selectedTab;
|
||||
}
|
||||
|
||||
set selectedTab(tab) {
|
||||
this.#selectedTab = tab;
|
||||
}
|
||||
}
|
||||
@@ -133,11 +133,8 @@ tab-group[split-view-group] {
|
||||
}
|
||||
|
||||
@container browser-tab (min-width: 70px) {
|
||||
:root[zen-sidebar-expanded='true'] &:hover > .tabbrowser-tab:not([pinned]:not([pending])) .tab-close-button {
|
||||
:root[zen-sidebar-expanded='true'] &:hover > .tabbrowser-tab:not([pinned]) .tab-close-button {
|
||||
display: block !important;
|
||||
|
||||
/* This is from Firefox itself, but we need to always override it */
|
||||
margin-inline-end: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -101,6 +101,7 @@
|
||||
}
|
||||
|
||||
onTabIconChanged(tab, url = null) {
|
||||
tab.dispatchEvent(new CustomEvent('ZenTabIconChanged', { bubbles: true, detail: { tab } }));
|
||||
const iconUrl = url ?? tab.iconImage.src;
|
||||
if (!iconUrl && tab.hasAttribute('zen-pin-id')) {
|
||||
try {
|
||||
@@ -883,7 +884,7 @@
|
||||
);
|
||||
for (const tab of pinnedTabs) {
|
||||
if (allAreUnloaded && closeIfPending) {
|
||||
return await this.onCloseTabShortcut(event, tab, { behavior: 'close' });
|
||||
return await this._onCloseTabShortcut(event, tab, { behavior: 'close' });
|
||||
}
|
||||
}
|
||||
await gBrowser.explicitUnloadTabs(pinnedTabs);
|
||||
@@ -1098,7 +1099,7 @@
|
||||
const element = window.MozXULElement.parseXULToFragment(`
|
||||
<menuitem id="context_zen-add-essential"
|
||||
data-l10n-id="tab-context-zen-add-essential"
|
||||
data-l10n-args='{"num": "0", "max": "${this.maxEssentialTabs}"}'
|
||||
data-l10n-args='{"num": "0", "max": "12"}'
|
||||
hidden="true"
|
||||
disabled="true"
|
||||
command="cmd_contextZenAddToEssentials"/>
|
||||
@@ -1555,6 +1556,7 @@
|
||||
}
|
||||
|
||||
async onTabLabelChanged(tab) {
|
||||
tab.dispatchEvent(new CustomEvent('ZenTabLabelChanged', { detail: { tab } }));
|
||||
if (!this._pinsCache) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -112,17 +112,5 @@
|
||||
& #titlebar {
|
||||
padding-top: var(--zen-toolbar-height);
|
||||
}
|
||||
|
||||
& #nav-bar {
|
||||
width: calc(100% + var(--zen-toolbox-max-width) - var(--zen-element-separation));
|
||||
|
||||
/**
|
||||
* We only want it when the window buttons are on the left side, in other
|
||||
* words, the first of the two selectors above.
|
||||
*/
|
||||
:root:not([zen-window-buttons-reversed='true']) & {
|
||||
margin-left: calc(-1 * var(--zen-toolbox-max-width) + var(--zen-element-separation) + 4px);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,9 @@ z-index: 1;
|
||||
|
||||
%include ../../compact-mode/windows-captions-fix-active.inc.css
|
||||
|
||||
&:not([zen-has-hover='true']):not([has-popup-menu]):not([zen-compact-mode-active]) {
|
||||
&:not([zen-has-hover='true']):not([has-popup-menu]):not(:focus-within):not(
|
||||
:has(*:is([panelopen='true'], [open='true']))
|
||||
) {
|
||||
height: var(--zen-element-separation);
|
||||
opacity: 0;
|
||||
& #zen-appcontent-navbar-container {
|
||||
|
||||
@@ -618,6 +618,12 @@
|
||||
--tab-min-width: 48px !important;
|
||||
--zen-toolbox-padding: 6px !important;
|
||||
--zen-toolbox-max-width: calc(var(--tab-min-width) + var(--zen-toolbox-padding) * 2);
|
||||
|
||||
/* We can't show the rename input properly in collapsed state,
|
||||
so hide the workspace edit input */
|
||||
#context_zenEditWorkspace {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
#navigator-toolbox:not([zen-sidebar-expanded='true']) {
|
||||
@@ -700,6 +706,7 @@
|
||||
|
||||
& #titlebar {
|
||||
display: grid;
|
||||
overflow: clip;
|
||||
}
|
||||
|
||||
& #zen-sidebar-top-buttons-customization-target {
|
||||
@@ -956,7 +963,7 @@
|
||||
:root[zen-single-toolbar='true'] & {
|
||||
--zen-toolbar-height: 36px;
|
||||
@media (-moz-platform: macos) {
|
||||
--zen-toolbar-height: 38px;
|
||||
--zen-toolbar-height: 42px;
|
||||
}
|
||||
|
||||
& #PanelUI-button {
|
||||
|
||||
@@ -127,16 +127,6 @@ export class nsZenSiteDataPanel {
|
||||
this.#setSitePermissions();
|
||||
this.#setSiteSecurityInfo();
|
||||
this.#setSiteHeader();
|
||||
this.#setAddonsOverflow();
|
||||
}
|
||||
|
||||
#setAddonsOverflow() {
|
||||
const addons = this.document.getElementById('zen-site-data-addons');
|
||||
if (addons.getBoundingClientRect().height > 420) {
|
||||
addons.setAttribute('overflowing', 'true');
|
||||
} else {
|
||||
addons.removeAttribute('overflowing');
|
||||
}
|
||||
}
|
||||
|
||||
#setSiteHeader() {
|
||||
@@ -363,15 +353,9 @@ export class nsZenSiteDataPanel {
|
||||
switch (permission.state) {
|
||||
// There should only be these types being displayed in the panel.
|
||||
case SitePermissions.ALLOW:
|
||||
if (permission.id === 'site-protection') {
|
||||
return 'zen-site-data-protections-enabled';
|
||||
}
|
||||
return 'zen-site-data-setting-allow';
|
||||
case SitePermissions.BLOCK:
|
||||
case SitePermissions.AUTOPLAY_BLOCKED_ALL:
|
||||
if (permission.id === 'site-protection') {
|
||||
return 'zen-site-data-protections-disabled';
|
||||
}
|
||||
return 'zen-site-data-setting-block';
|
||||
default:
|
||||
return null;
|
||||
@@ -527,12 +511,12 @@ export class nsZenSiteDataPanel {
|
||||
|
||||
const isCrossSiteCookie = permission.id.startsWith('3rdPartyStorage');
|
||||
label.parentNode.setAttribute('state', newState == SitePermissions.ALLOW ? 'allow' : 'block');
|
||||
label._permission.state = newState;
|
||||
if (!isCrossSiteCookie) {
|
||||
label
|
||||
.querySelector('.zen-permission-popup-permission-state-label')
|
||||
.setAttribute('data-l10n-id', this.#getPermissionStateLabelId(label._permission));
|
||||
.setAttribute('data-l10n-id', this.#getPermissionStateLabelId({ state: newState }));
|
||||
}
|
||||
label._permission.state = newState;
|
||||
}
|
||||
|
||||
#onClickEvent(event) {
|
||||
@@ -596,6 +580,7 @@ export class nsZenSiteDataPanel {
|
||||
};
|
||||
checkEmptyTab();
|
||||
});
|
||||
this.anchor.setAttribute('open', 'true');
|
||||
const callout = new FeatureCallout({
|
||||
win: this.window,
|
||||
location: 'chrome',
|
||||
|
||||
@@ -1305,13 +1305,12 @@
|
||||
|
||||
// Do not rebuild if the workspace is not the same as the current one
|
||||
const windowWorkspace = await browser.gZenWorkspaces.getActiveWorkspace();
|
||||
if (windowWorkspace.uuid !== uuid) {
|
||||
if (windowWorkspace.uuid !== uuid && theme !== null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// get the theme from the window
|
||||
workspaceTheme = this.fixTheme(theme || windowWorkspace.theme);
|
||||
const docElement = browser.document.documentElement;
|
||||
|
||||
if (!skipUpdate) {
|
||||
for (const dot of browser.gZenThemePicker.panel.querySelectorAll(
|
||||
@@ -1329,15 +1328,17 @@
|
||||
}
|
||||
|
||||
if (!skipUpdate) {
|
||||
docElement.style.setProperty(
|
||||
browser.document.documentElement.style.setProperty(
|
||||
'--zen-main-browser-background-old',
|
||||
docElement.style.getPropertyValue('--zen-main-browser-background')
|
||||
browser.document.documentElement.style.getPropertyValue('--zen-main-browser-background')
|
||||
);
|
||||
docElement.style.setProperty(
|
||||
browser.document.documentElement.style.setProperty(
|
||||
'--zen-main-browser-background-toolbar-old',
|
||||
docElement.style.getPropertyValue('--zen-main-browser-background-toolbar')
|
||||
browser.document.documentElement.style.getPropertyValue(
|
||||
'--zen-main-browser-background-toolbar'
|
||||
)
|
||||
);
|
||||
docElement.style.setProperty(
|
||||
browser.document.documentElement.style.setProperty(
|
||||
'--zen-background-opacity',
|
||||
browser.gZenThemePicker.previousBackgroundOpacity ?? 1
|
||||
);
|
||||
@@ -1460,9 +1461,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
docElement.style.setProperty('--zen-main-browser-background-toolbar', gradientToolbar);
|
||||
docElement.style.setProperty('--zen-main-browser-background', gradient);
|
||||
browser.document.documentElement.style.setProperty(
|
||||
'--zen-main-browser-background-toolbar',
|
||||
gradientToolbar
|
||||
);
|
||||
browser.document.documentElement.style.setProperty(
|
||||
'--zen-main-browser-background',
|
||||
gradient
|
||||
);
|
||||
const isDarkModeWindow = browser.gZenThemePicker.isDarkMode;
|
||||
const docElement = browser.document.documentElement;
|
||||
if (isDefaultTheme) {
|
||||
docElement.setAttribute('zen-default-theme', 'true');
|
||||
} else {
|
||||
@@ -1491,7 +1499,7 @@
|
||||
}
|
||||
// Set `--toolbox-textcolor` to have a contrast with the primary color
|
||||
const textColor = this.getToolbarColor(isDarkMode);
|
||||
docElement.style.setProperty(
|
||||
document.documentElement.style.setProperty(
|
||||
'--toolbox-textcolor',
|
||||
`rgba(${textColor[0]}, ${textColor[1]}, ${textColor[2]}, ${textColor[3]})`
|
||||
);
|
||||
|
||||
308
src/zen/workspaces/ZenWindowSyncing.mjs
Normal file
308
src/zen/workspaces/ZenWindowSyncing.mjs
Normal file
@@ -0,0 +1,308 @@
|
||||
// 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/.
|
||||
{
|
||||
class nsZenWorkspaceWindowSync extends nsZenMultiWindowFeature {
|
||||
#ignoreNextEvents = false;
|
||||
#waitForPromise = null;
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
if (!window.closed) {
|
||||
this.init();
|
||||
}
|
||||
}
|
||||
|
||||
async init() {
|
||||
await gZenWorkspaces.promiseInitialized;
|
||||
this.#makeSureAllTabsHaveIds();
|
||||
this.#setUpEventListeners();
|
||||
}
|
||||
|
||||
#makeSureAllTabsHaveIds() {
|
||||
const allTabs = gZenWorkspaces.allStoredTabs;
|
||||
for (const tab of allTabs) {
|
||||
if (!tab.hasAttribute('zen-sync-id') && !tab.hasAttribute('zen-empty-tab')) {
|
||||
const tabId = gZenUIManager.generateUuidv4();
|
||||
tab.setAttribute('zen-sync-id', tabId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#setUpEventListeners() {
|
||||
const kEvents = [
|
||||
'TabClose',
|
||||
'TabOpen',
|
||||
'TabMove',
|
||||
|
||||
'TabPinned',
|
||||
'TabUnpinned',
|
||||
|
||||
'TabAddedToEssentials',
|
||||
'TabRemovedFromEssentials',
|
||||
|
||||
'TabHide',
|
||||
'TabShow',
|
||||
|
||||
'ZenTabIconChanged',
|
||||
'ZenTabLabelChanged',
|
||||
|
||||
'TabGroupCreate',
|
||||
'TabGroupRemoved',
|
||||
'TabGrouped',
|
||||
'TabUngrouped',
|
||||
'TabGroupMoved',
|
||||
];
|
||||
const eventListener = this.#handleEvent.bind(this);
|
||||
for (const event of kEvents) {
|
||||
window.addEventListener(event, eventListener);
|
||||
}
|
||||
|
||||
window.addEventListener('unload', () => {
|
||||
for (const event of kEvents) {
|
||||
window.removeEventListener(event, eventListener);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
#handleEvent(event) {
|
||||
this.#propagateToOtherWindows(event);
|
||||
}
|
||||
|
||||
async #propagateToOtherWindows(event) {
|
||||
if (this.#ignoreNextEvents) {
|
||||
return;
|
||||
}
|
||||
if (this.#waitForPromise) {
|
||||
await this.#waitForPromise;
|
||||
}
|
||||
this.#waitForPromise = new Promise((resolve) => {
|
||||
this.foreachWindowAsActive(async (browser) => {
|
||||
if (browser.gZenWorkspaceWindowSync && !this.windowIsActive(browser)) {
|
||||
await browser.gZenWorkspaceWindowSync.onExternalTabEvent(event);
|
||||
}
|
||||
}).then(() => {
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async onExternalTabEvent(event) {
|
||||
this.#ignoreNextEvents = true;
|
||||
switch (event.type) {
|
||||
case 'TabClose':
|
||||
this.#onTabClose(event);
|
||||
break;
|
||||
case 'TabOpen':
|
||||
await this.#onTabOpen(event);
|
||||
break;
|
||||
case 'TabPinned':
|
||||
this.#onTabPinned(event);
|
||||
break;
|
||||
case 'TabUnpinned':
|
||||
this.#onTabUnpinned(event);
|
||||
break;
|
||||
case 'TabAddedToEssentials':
|
||||
this.#onTabAddedToEssentials(event);
|
||||
break;
|
||||
case 'TabRemovedFromEssentials':
|
||||
this.#onTabRemovedFromEssentials(event);
|
||||
break;
|
||||
case 'TabHide':
|
||||
this.#onTabHide(event);
|
||||
break;
|
||||
case 'TabShow':
|
||||
this.#onTabShow(event);
|
||||
break;
|
||||
case 'TabMove':
|
||||
case 'TabGroupMoved':
|
||||
this.#onTabMove(event);
|
||||
break;
|
||||
case 'ZenTabIconChanged':
|
||||
this.#onTabIconChanged(event);
|
||||
break;
|
||||
case 'ZenTabLabelChanged':
|
||||
this.#onTabLabelChanged(event);
|
||||
break;
|
||||
case 'TabGroupCreate':
|
||||
this.#onTabGroupCreate(event);
|
||||
break;
|
||||
case 'TabGroupRemoved':
|
||||
case 'TabGrouped':
|
||||
case 'TabUngrouped':
|
||||
// Tab grouping changes are automatically synced by Firefox
|
||||
break;
|
||||
default:
|
||||
console.warn(`Unhandled event type: ${event.type}`);
|
||||
break;
|
||||
}
|
||||
this.#ignoreNextEvents = false;
|
||||
}
|
||||
|
||||
#getTabId(tab) {
|
||||
return tab.getAttribute('zen-sync-id');
|
||||
}
|
||||
|
||||
#getTabWithId(tabId) {
|
||||
for (const tab of gZenWorkspaces.allStoredTabs) {
|
||||
if (this.#getTabId(tab) === tabId) {
|
||||
return tab;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
#onTabClose(event) {
|
||||
const targetTab = event.target;
|
||||
const tabId = this.#getTabId(targetTab);
|
||||
const tabToClose = this.#getTabWithId(tabId);
|
||||
if (tabToClose) {
|
||||
gBrowser.removeTab(tabToClose);
|
||||
}
|
||||
}
|
||||
|
||||
#onTabPinned(event) {
|
||||
const targetTab = event.target;
|
||||
if (targetTab.hasAttribute('zen-essential')) {
|
||||
return this.#onTabAddedToEssentials(event);
|
||||
}
|
||||
const tabId = this.#getTabId(targetTab);
|
||||
const elementIndex = targetTab.elementIndex;
|
||||
const tabToPin = this.#getTabWithId(tabId);
|
||||
if (tabToPin) {
|
||||
gBrowser.pinTab(tabToPin);
|
||||
gBrowser.moveTabTo(tabToPin, { elementIndex, forceUngrouped: !!targetTab.group });
|
||||
}
|
||||
}
|
||||
|
||||
#onTabUnpinned(event) {
|
||||
const targetTab = event.target;
|
||||
const tabId = this.#getTabId(targetTab);
|
||||
const tabToUnpin = this.#getTabWithId(tabId);
|
||||
if (tabToUnpin) {
|
||||
gBrowser.unpinTab(tabToUnpin);
|
||||
}
|
||||
}
|
||||
|
||||
#onTabIconChanged(event) {
|
||||
this.#updateTabIconAndLabel(event);
|
||||
}
|
||||
|
||||
#onTabLabelChanged(event) {
|
||||
this.#updateTabIconAndLabel(event);
|
||||
}
|
||||
|
||||
#updateTabIconAndLabel(event) {
|
||||
const targetTab = event.target;
|
||||
const tabId = this.#getTabId(targetTab);
|
||||
const tabToChange = this.#getTabWithId(tabId);
|
||||
if (tabToChange && tabToChange.hasAttribute('pending')) {
|
||||
gBrowser.setIcon(tabToChange, gBrowser.getIcon(targetTab));
|
||||
gBrowser._setTabLabel(tabToChange, targetTab.label);
|
||||
}
|
||||
}
|
||||
|
||||
#onTabAddedToEssentials(event) {
|
||||
const targetTab = event.target;
|
||||
const tabId = this.#getTabId(targetTab);
|
||||
const tabToAdd = this.#getTabWithId(tabId);
|
||||
if (tabToAdd) {
|
||||
gZenPinnedTabManager.addToEssentials(tabToAdd);
|
||||
}
|
||||
}
|
||||
|
||||
#onTabRemovedFromEssentials(event) {
|
||||
const targetTab = event.target;
|
||||
const tabId = this.#getTabId(targetTab);
|
||||
const tabToRemove = this.#getTabWithId(tabId);
|
||||
if (tabToRemove) {
|
||||
gZenPinnedTabManager.removeFromEssentials(tabToRemove);
|
||||
}
|
||||
}
|
||||
|
||||
#onTabHide(event) {
|
||||
const targetTab = event.target;
|
||||
const tabId = this.#getTabId(targetTab);
|
||||
const tabToHide = this.#getTabWithId(tabId);
|
||||
if (tabToHide) {
|
||||
gBrowser.hideTab(tabToHide);
|
||||
}
|
||||
}
|
||||
|
||||
#onTabShow(event) {
|
||||
const targetTab = event.target;
|
||||
const tabId = this.#getTabId(targetTab);
|
||||
const tabToShow = this.#getTabWithId(tabId);
|
||||
if (tabToShow) {
|
||||
gBrowser.showTab(tabToShow);
|
||||
}
|
||||
}
|
||||
|
||||
#onTabMove(event) {
|
||||
const targetTab = event.target;
|
||||
const tabId = this.#getTabId(targetTab);
|
||||
const tabToMove = this.#getTabWithId(tabId);
|
||||
const workspaceId = targetTab.getAttribute('zen-workspace-id');
|
||||
const isEssential = targetTab.hasAttribute('zen-essential');
|
||||
if (tabToMove) {
|
||||
let tabSibling = targetTab.previousElementSibling;
|
||||
let isFirst = false;
|
||||
if (!tabSibling?.hasAttribute('zen-sync-id')) {
|
||||
isFirst = true;
|
||||
}
|
||||
gBrowser.zenHandleTabMove(tabToMove, () => {
|
||||
if (isFirst) {
|
||||
let container;
|
||||
if (isEssential) {
|
||||
container = gZenWorkspaces.getEssentialsSection(tabToMove);
|
||||
} else {
|
||||
const workspaceElement = gZenWorkspaces.workspaceElement(workspaceId);
|
||||
container = tabToMove.pinned
|
||||
? workspaceElement.pinnedTabsContainer
|
||||
: workspaceElement.tabsContainer;
|
||||
}
|
||||
container.insertBefore(tabToMove, container.firstChild);
|
||||
} else {
|
||||
let relativeTab = gZenWorkspaces.allStoredTabs.find((tab) => {
|
||||
return this.#getTabId(tab) === this.#getTabId(tabSibling);
|
||||
});
|
||||
if (relativeTab) {
|
||||
relativeTab.after(tabToMove);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async #onTabOpen(event) {
|
||||
const targetTab = event.target;
|
||||
const isPinned = targetTab.pinned;
|
||||
const isEssential = isPinned && targetTab.hasAttribute('zen-essential');
|
||||
if (!this.#getTabId(targetTab) && !targetTab.hasAttribute('zen-empty-tab')) {
|
||||
const tabId = gZenUIManager.generateUuidv4();
|
||||
targetTab.setAttribute('zen-sync-id', tabId);
|
||||
}
|
||||
const duplicatedTab = gBrowser.addTrustedTab(targetTab.linkedBrowser.currentURI.spec, {
|
||||
createLazyBrowser: true,
|
||||
essential: isEssential,
|
||||
pinned: isPinned,
|
||||
});
|
||||
if (!isEssential) {
|
||||
gZenWorkspaces.moveTabToWorkspace(
|
||||
duplicatedTab,
|
||||
targetTab.getAttribute('zen-workspace-id')
|
||||
);
|
||||
}
|
||||
duplicatedTab.setAttribute('zen-pin-id', targetTab.getAttribute('zen-pin-id'));
|
||||
duplicatedTab.setAttribute('zen-sync-id', targetTab.getAttribute('zen-sync-id'));
|
||||
}
|
||||
|
||||
#onTabGroupCreate(event) {
|
||||
const targetGroup = event.target;
|
||||
const isSplitView = targetGroup.classList.contains('zen-split-view');
|
||||
const isFolder = targetGroup.isZenFolder;
|
||||
}
|
||||
}
|
||||
|
||||
window.gZenWorkspaceWindowSync = new nsZenWorkspaceWindowSync();
|
||||
}
|
||||
@@ -1225,13 +1225,9 @@ var gZenWorkspaces = new (class extends nsZenMultiWindowFeature {
|
||||
};
|
||||
const workspaceName = document.getElementById('context_zenEditWorkspace');
|
||||
const themePicker = document.getElementById('context_zenChangeWorkspaceTheme');
|
||||
/* We can't show the rename input properly in collapsed state,
|
||||
so hide the workspace edit input */
|
||||
const isCollapsed = !Services.prefs.getBoolPref('zen.view.sidebar-expanded');
|
||||
workspaceName.hidden =
|
||||
isCollapsed ||
|
||||
(this.#contextMenuData.workspaceId &&
|
||||
this.#contextMenuData.workspaceId !== this.activeWorkspace);
|
||||
this.#contextMenuData.workspaceId &&
|
||||
this.#contextMenuData.workspaceId !== this.activeWorkspace;
|
||||
themePicker.hidden =
|
||||
this.#contextMenuData.workspaceId &&
|
||||
this.#contextMenuData.workspaceId !== this.activeWorkspace;
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"brandShortName": "Zen",
|
||||
"brandFullName": "Zen Browser",
|
||||
"release": {
|
||||
"displayVersion": "1.17.2b",
|
||||
"displayVersion": "1.17b",
|
||||
"github": {
|
||||
"repo": "zen-browser/desktop"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user