Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e500e04418 | ||
|
|
886b559b50 | ||
|
|
b2ea2d4420 | ||
|
|
9e1f272e29 | ||
|
|
8612e0d1e9 | ||
|
|
894fce098f | ||
|
|
b4daad5c8d | ||
|
|
6dc1698817 | ||
|
|
56e91af8ab | ||
|
|
7ab405a2c2 | ||
|
|
59641cb952 | ||
|
|
3761110604 | ||
|
|
0e8b8da845 | ||
|
|
3eb3875de9 | ||
|
|
4c5a3aeabb | ||
|
|
34e1adddf9 | ||
|
|
58f97c65e1 | ||
|
|
4089dfa18b | ||
|
|
b903a25092 | ||
|
|
306b8a6171 | ||
|
|
9f15a61727 | ||
|
|
4aef6bb285 | ||
|
|
72dbe631ec | ||
|
|
a8e5894c95 | ||
|
|
e5509f607d | ||
|
|
dfbf4db57f | ||
|
|
f948575446 | ||
|
|
3dbf8446c2 | ||
|
|
4361efb956 | ||
|
|
6ba714e4e4 | ||
|
|
45b20dffda | ||
|
|
08996215b2 | ||
|
|
dfe932a4c5 | ||
|
|
a61b077d3f | ||
|
|
f36b84de3c | ||
|
|
01f10cfc09 | ||
|
|
9a9c1c312c |
@@ -34,8 +34,8 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne
|
||||
|
||||
### Firefox Versions
|
||||
|
||||
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `145.0`! 🚀
|
||||
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 145.0`!
|
||||
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `145.0.1`! 🚀
|
||||
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 145.0.1`!
|
||||
|
||||
### Contributing
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
1e325bc45d9111518958446ac966fd4e4136d6d5
|
||||
99a389c2413be0374ee04b10021ed269c0387b45
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Feu clic a la icona per gestionar
|
||||
zen-open-link-in-glance =
|
||||
.label = Obre l'enllaç en un cop d'ull
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Actualització completada!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = Novetats a { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = Mostra les notes de la versió
|
||||
zen-sidebar-notification-restart-safe-mode-label = Alguna cosa no funciona?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Reinici en mode segur
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Klikněte na ikonu pro správu na
|
||||
zen-open-link-in-glance =
|
||||
.label = Otevřít odkaz v Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Klicke auf das Symbol, um Website
|
||||
zen-open-link-in-glance =
|
||||
.label = Link in Glance öffnen
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -96,3 +96,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -121,3 +121,14 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Haga clic en el icono para admini
|
||||
zen-open-link-in-glance =
|
||||
.label = Abrir enlace en Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = ¡Actualización completada!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = Novedades en { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = Ver notas de la versión
|
||||
zen-sidebar-notification-restart-safe-mode-label = ¿Algo dejó de funcionar?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Reiniciar en modo seguro
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -6,8 +6,8 @@ pane-zen-looks-title = Katso ja tunne
|
||||
category-zen-looks =
|
||||
.tooltiptext = { pane-zen-looks-title }
|
||||
zen-warning-language = Muuttaminen oletuskieli voisi helpottaa Websites seurata sinua.
|
||||
zen-vertical-tabs-layout-header = Browser Layout
|
||||
zen-vertical-tabs-layout-description = Choose the layout that suits you best
|
||||
zen-vertical-tabs-layout-header = Selaimen asettelu
|
||||
zen-vertical-tabs-layout-description = Valitse asettelu, joka sopii sinulle parhaiten
|
||||
zen-layout-single-toolbar = Single toolbar
|
||||
zen-layout-multiple-toolbar = Multiple toolbars
|
||||
zen-layout-collapsed-toolbar = Collapsed toolbar
|
||||
@@ -45,16 +45,16 @@ pane-settings-workspaces-title = Työtilat
|
||||
zen-tabs-unloader-enabled =
|
||||
.label = Ota Käyttöön välilehden purkaminen
|
||||
zen-tabs-close-on-back-with-no-history =
|
||||
.label = Close tab and switch to its owner tab (or most recently used tab) when going back with no history
|
||||
.label = Sulje välilehti ja vaihda sen omistajavälilehteen (tai viimeksi käytettyyn välilehteen) kun palataan ilman historiaa
|
||||
zen-tabs-cycle-by-attribute =
|
||||
.label = Ctrl+Tab cycles within Essential or Workspace tabs only
|
||||
.label = Ctrl+Tab kiertää vain keskeisissä tai Työtilojen välilehdissä
|
||||
zen-tabs-cycle-ignore-pending-tabs =
|
||||
.label = Ignore Pending tabs when cycling with Ctrl+Tab
|
||||
zen-tabs-cycle-by-attribute-warning = Ctrl+Tab will cycle by recently used order, as it is enabled
|
||||
.label = Ohita odottavat välilehdet Ctrl+Tab kanssa
|
||||
zen-tabs-cycle-by-attribute-warning = Ctrl+Tab selaa välilehtiä käyttöjärjestyksessä alkaen viimeisimmästä
|
||||
zen-look-and-feel-compact-toolbar-themed =
|
||||
.label = Use themed background for compact toolbar
|
||||
.label = Käytä teemoitettua taustaa kompaktissa työkalupalkissa
|
||||
zen-workspace-continue-where-left-off =
|
||||
.label = Continue where you left off
|
||||
.label = Jatka siitä, mihin jäit
|
||||
pane-zen-pinned-tab-manager-title = Kiinnitetyt Välilehdet
|
||||
zen-pinned-tab-manager-header = Yleiset asetukset kiinnitettäville välilehteille
|
||||
zen-pinned-tab-manager-description = Hallitse lisäkäyttäytymistä kiinnitettyjen välilehtien osalta
|
||||
@@ -72,7 +72,7 @@ zen-pinned-tab-manager-reset-switch-close-shortcut-option =
|
||||
zen-pinned-tab-manager-switch-close-shortcut-option =
|
||||
.label = Siirry seuraavaan välilehteen
|
||||
zen-pinned-tab-manager-reset-close-shortcut-option =
|
||||
.label = Reset URL
|
||||
.label = Resetoi URL
|
||||
zen-pinned-tab-manager-close-close-shortcut-option =
|
||||
.label = Sulje välilehti
|
||||
pane-zen-workspaces-header = Työtilat
|
||||
@@ -83,7 +83,7 @@ zen-settings-workspaces-enabled =
|
||||
zen-settings-workspaces-hide-default-container-indicator =
|
||||
.label = Piilota säiliön oletusmerkkivalo välilehdessä - palkki
|
||||
zen-key-unsaved = Tallentamaton pikakuvake! Ole hyvä ja turvaa se painamalla "Escape" -näppäintä kirjoittamisen jälkeen.
|
||||
zen-key-conflict = Conflicts with { $group } -> { $shortcut }
|
||||
zen-key-conflict = Ristiriidat { $group } -> { $shortcut }
|
||||
pane-zen-theme-title = Teeman Asetukset
|
||||
zen-vertical-tabs-title = Sivupalkin ja välilehtien asettelu
|
||||
zen-vertical-tabs-header = Pystysuorat Välilehdet
|
||||
@@ -99,7 +99,7 @@ zen-vertical-tabs-dont-expand-tabs-by-default = Älä laajenna välilehtiä olet
|
||||
zen-vertical-tabs-expand-tabs-on-hover = Laajenna välilehdet leijailemalla (Ei toimi kompaktitilassa)
|
||||
zen-vertical-tabs-expand-tabs-header = Kuinka laajentaa välilehdet
|
||||
zen-vertical-tabs-expand-tabs-description = Valitse, miten voit laajentaa välilehtiä sivupalkissa
|
||||
zen-theme-marketplace-header = Zen Mods
|
||||
zen-theme-marketplace-header = Zen modit
|
||||
zen-theme-disable-all-enabled =
|
||||
.title = Poista kaikki teemat käytöstä
|
||||
zen-theme-disable-all-disabled =
|
||||
@@ -110,15 +110,15 @@ zen-theme-marketplace-remove-button =
|
||||
zen-theme-marketplace-check-for-updates-button =
|
||||
.label = Tarkista päivitykset
|
||||
zen-theme-marketplace-import-button =
|
||||
.label = Import mods
|
||||
.label = Tuo modeja
|
||||
zen-theme-marketplace-export-button =
|
||||
.label = Export Mods
|
||||
zen-theme-marketplace-import-success = Mods imported successfully
|
||||
zen-theme-marketplace-import-failure = There was an error importing the mods
|
||||
zen-theme-marketplace-export-success = Mods exported successfully
|
||||
zen-theme-marketplace-export-failure = There was an error exporting the mods
|
||||
.label = Vie Modit
|
||||
zen-theme-marketplace-import-success = Modit tuotu onnistuneesti
|
||||
zen-theme-marketplace-import-failure = Modeja tuodessa tapahtui virhe
|
||||
zen-theme-marketplace-export-success = Modit viety onnistuneesti
|
||||
zen-theme-marketplace-export-failure = Modien viennissä tapahtui virhe
|
||||
zen-theme-marketplace-updates-success = Teema päivitetty onnistuneesti
|
||||
zen-theme-marketplace-updates-failure = Couldn't find any updates!
|
||||
zen-theme-marketplace-updates-failure = Päivityksiä ei löytynt!
|
||||
zen-theme-marketplace-toggle-enabled-button =
|
||||
.title = Poista Teema Käytöstä
|
||||
zen-theme-marketplace-toggle-disabled-button =
|
||||
@@ -131,9 +131,9 @@ zen-theme-marketplace-dropdown-default-label =
|
||||
.label = Ei Mitään
|
||||
zen-theme-marketplace-input-default-placeholder =
|
||||
.placeholder = Kirjoita jotain...
|
||||
pane-zen-marketplace-title = Zen Mods
|
||||
pane-zen-marketplace-title = Zen modit
|
||||
zen-themes-auto-update =
|
||||
.label = Automatically update installed mods on startup
|
||||
.label = Päivitä asennetut modit automaattisesti käynnistyksessä
|
||||
zen-settings-workspaces-force-container-tabs-to-workspace =
|
||||
.label = Vaihda työtilaan, jossa säiliö on asetettu oletusarvoiseksi avattaessa säiliön välilehtiä
|
||||
zen-theme-marketplace-link = Vieraile Kaupassa
|
||||
@@ -145,16 +145,16 @@ zen-dark-theme-styles-colorful = Värikäs Tumma Teema
|
||||
zen-compact-mode-styles-left = Piilota välilehti
|
||||
zen-compact-mode-styles-top = Piilota yläpalkki
|
||||
zen-compact-mode-styles-both = Piilota Molemmat
|
||||
zen-urlbar-title = Zen URL Bar
|
||||
zen-urlbar-header = General settings for the URL bar
|
||||
zen-urlbar-description = Customize the URL bar to your liking
|
||||
zen-urlbar-behavior-label = Behavior
|
||||
zen-urlbar-title = Zen URL-palkki
|
||||
zen-urlbar-header = URL palkin yleiset asetukset
|
||||
zen-urlbar-description = Muokkaa URL-palkkia sinun mielesi mukaan
|
||||
zen-urlbar-behavior-label = Toiminnot
|
||||
zen-urlbar-behavior-normal =
|
||||
.label = Normal
|
||||
.label = Normaali
|
||||
zen-urlbar-behavior-floating-on-type =
|
||||
.label = Floating only when typing
|
||||
.label = Kelluva vain kirjoittaessasi
|
||||
zen-urlbar-behavior-float =
|
||||
.label = Always floating
|
||||
.label = Aina kelluva
|
||||
pane-zen-CKS-title = Näppäimistön Pikanäppäimet
|
||||
category-zen-CKS =
|
||||
.tooltiptext = { pane-zen-CKS-title }
|
||||
@@ -164,7 +164,7 @@ zen-settings-CKS-description = Muuta oletus näppäimistön pikakuvakkeet mielty
|
||||
zen-settings-CKS-disable-firefox =
|
||||
.label = Poista { -brand-short-name }oletusnäppäimistön pikakuvakkeet käytöstä
|
||||
zen-settings-CKS-duplicate-shortcut =
|
||||
.label = Duplicate Shortcut
|
||||
.label = Monista pikanäppäin
|
||||
zen-settings-CKS-reset-shortcuts =
|
||||
.label = Palauta oletukset
|
||||
zenCKSOption-group-other = Muu
|
||||
@@ -178,10 +178,10 @@ zenCKSOption-group-zen-compact-mode = Kompakti Tila
|
||||
zenCKSOption-group-zen-workspace = Työtilat
|
||||
zenCKSOption-group-zen-other = Muut Zen-ominaisuudet
|
||||
zenCKSOption-group-zen-split-view = Jaettu Näkymä
|
||||
zenCKSOption-group-devTools = Developer Tools
|
||||
zenCKSOption-group-devTools = Kehitystyökalut
|
||||
zen-key-quick-restart = Nopea Uudelleenkäynnistys
|
||||
zen-window-new-shortcut = Uusi Ikkuna
|
||||
zen-tab-new-shortcut = New Tab
|
||||
zen-tab-new-shortcut = Uusi välilehti
|
||||
zen-key-redo = Toista
|
||||
zen-restore-last-closed-tab-shortcut = Palauta Viimeksi Suljettu Välilehti
|
||||
zen-location-open-shortcut = Avaa Sijainti
|
||||
@@ -191,8 +191,8 @@ zen-text-action-undo-shortcut = Kumoa
|
||||
zen-text-action-redo-shortcut = Toista
|
||||
zen-text-action-cut-shortcut = Leikkaa
|
||||
zen-text-action-copy-shortcut = Kopioi
|
||||
zen-text-action-copy-url-shortcut = Copy current URL
|
||||
zen-text-action-copy-url-markdown-shortcut = Copy current URL as Markdown
|
||||
zen-text-action-copy-url-shortcut = Kopioi nykyinen URL-osoite
|
||||
zen-text-action-copy-url-markdown-shortcut = Kopioi nykyinen URL-osoite Markdownina
|
||||
zen-text-action-paste-shortcut = Liitä
|
||||
zen-text-action-select-all-shortcut = Valitse Kaikki
|
||||
zen-text-action-delete-shortcut = Poista
|
||||
@@ -204,7 +204,7 @@ zen-picture-in-picture-toggle-shortcut-mac = Ota käyttöön kuva-kuvassa (Mac)
|
||||
zen-picture-in-picture-toggle-shortcut-mac-alt = Ota käyttöön kuva-kuvassa (Mac Alt)
|
||||
zen-page-source-shortcut-safari = Näytä Sivulähde (Safari)
|
||||
zen-nav-stop-shortcut = Lopeta Lataaminen
|
||||
zen-history-sidebar-shortcut = Show History Sidebar
|
||||
zen-history-sidebar-shortcut = Näytä historia sivupalkissa
|
||||
zen-window-minimize-shortcut = Pienennä Ikkuna
|
||||
zen-help-shortcut = Avaa Ohje
|
||||
zen-preferences-shortcut = Avoimet Asetukset
|
||||
@@ -216,7 +216,7 @@ zen-downloads-shortcut = Avaa Lataukset
|
||||
zen-addons-shortcut = Avaa Lisäosat
|
||||
zen-file-open-shortcut = Avaa Tiedosto
|
||||
zen-save-page-shortcut = Tallenna Sivu
|
||||
zen-print-shortcut = Print Page
|
||||
zen-print-shortcut = Tulosta sivu
|
||||
zen-close-shortcut-2 = Sulje Välilehti
|
||||
zen-mute-toggle-shortcut = Vaihda Mykistystä
|
||||
zen-key-delete = Poista Avain
|
||||
@@ -227,10 +227,10 @@ zen-nav-fwd-shortcut-alt = Siirry Eteenpäin (Alt)
|
||||
zen-history-show-all-shortcut = Näytä Kaikki Historia
|
||||
zen-key-enter-full-screen = Anna Koko Näyttö
|
||||
zen-key-exit-full-screen = Poistu Koko Näyttötilasta
|
||||
zen-ai-chatbot-sidebar-shortcut = Toggle AI Chatbot Sidebar
|
||||
zen-key-inspector-mac = Toggle Inspector (Mac)
|
||||
zen-toggle-sidebar-shortcut = Toggle Firefox Sidebar
|
||||
zen-toggle-pin-tab-shortcut = Toggle Pin Tab
|
||||
zen-ai-chatbot-sidebar-shortcut = Ota käyttöön AI chatbot sivupalkkiin
|
||||
zen-key-inspector-mac = Vaihda Tarkastaja (Mac)
|
||||
zen-toggle-sidebar-shortcut = Vaihda Firefoxin Sivupalkkia
|
||||
zen-toggle-pin-tab-shortcut = Kiinnitä välilehti
|
||||
zen-reader-mode-toggle-shortcut-other = Vaihda Lukijan Tila
|
||||
zen-picture-in-picture-toggle-shortcut = Vaihda Kuva Kuvaksi
|
||||
zen-nav-reload-shortcut-2 = Lataa Sivu Uudelleen
|
||||
@@ -247,9 +247,9 @@ zen-key-stop = Lopeta Lataaminen
|
||||
zen-full-zoom-reduce-shortcut = Zoomaa Ulos
|
||||
zen-full-zoom-enlarge-shortcut = Zoomaa Sisään
|
||||
zen-full-zoom-reset-shortcut = Resetoi Zoomaus
|
||||
zen-full-zoom-reset-shortcut-alt = Reset Zoom (Alt)
|
||||
zen-full-zoom-enlarge-shortcut-alt = Zoom In (Alt)
|
||||
zen-full-zoom-enlarge-shortcut-alt2 = Zoom In (Alt 2)
|
||||
zen-full-zoom-reset-shortcut-alt = Nollaa Zoomaus (Alt)
|
||||
zen-full-zoom-enlarge-shortcut-alt = Suurenna (Alt)
|
||||
zen-full-zoom-enlarge-shortcut-alt2 = Suurenna (Alt 2)
|
||||
zen-bidi-switch-direction-shortcut = Vaihda Tekstin Suuntaa
|
||||
zen-private-browsing-shortcut = Yksityinen Selaus
|
||||
zen-screenshot-shortcut = Ota Kuvakaappaus
|
||||
@@ -264,7 +264,7 @@ zen-close-tab-shortcut = Sulje Välilehti
|
||||
zen-compact-mode-shortcut-show-sidebar = Ota käyttöön Kelluva Sivupalkki
|
||||
zen-compact-mode-shortcut-show-toolbar = Ota käyttöön Kelluva Työkalurivi
|
||||
zen-compact-mode-shortcut-toggle = Ota käyttöön Kompaktitila
|
||||
zen-glance-expand = Expand Glance
|
||||
zen-glance-expand = Laajenna Vilkaisu
|
||||
zen-workspace-shortcut-switch-1 = Vaihda työtilaan 1
|
||||
zen-workspace-shortcut-switch-2 = Vaihda työtilaan 2
|
||||
zen-workspace-shortcut-switch-3 = Vaihda työtilaan 3
|
||||
@@ -283,7 +283,7 @@ zen-split-view-shortcut-grid = Vaihda Jaettu Näkymä ruudukkoon
|
||||
zen-split-view-shortcut-vertical = Vaihda Jaettu Näkymä Pystysuunnassa
|
||||
zen-split-view-shortcut-horizontal = Vaihda Jaettu Näkymä Vaakasuoraan
|
||||
zen-split-view-shortcut-unsplit = Sulje Jaettu Näkymä
|
||||
zen-new-empty-split-view-shortcut = New Empty Split View
|
||||
zen-new-empty-split-view-shortcut = Uusi Tyhjä Jaettu Näkymä
|
||||
zen-key-select-tab-1 = Valitse välilehti #1
|
||||
zen-key-select-tab-2 = Valitse välilehti #2
|
||||
zen-key-select-tab-3 = Valitse välilehti #3
|
||||
@@ -298,17 +298,17 @@ zen-key-goto-history = Siirry historiaan
|
||||
zen-key-go-home = Siirry Kotiin
|
||||
zen-bookmark-show-sidebar-shortcut = Näytä Kirjanmerkkien Sivupalkki
|
||||
zen-bookmark-show-toolbar-shortcut = Näytä Kirjanmerkkipalkki
|
||||
zen-devtools-toggle-shortcut = Toggle DevTools
|
||||
zen-devtools-toggle-browser-toolbox-shortcut = Toggle Browser Toolbox
|
||||
zen-devtools-toggle-browser-console-shortcut = Toggle Browser Console
|
||||
zen-devtools-toggle-responsive-design-mode-shortcut = Toggle Responsive Design Mode
|
||||
zen-devtools-toggle-inspector-shortcut = Toggle Inspector
|
||||
zen-devtools-toggle-web-console-shortcut = Toggle Web Console
|
||||
zen-devtools-toggle-js-debugger-shortcut = Toggle JavaScript Debugger
|
||||
zen-devtools-toggle-net-monitor-shortcut = Toggle Network Monitor
|
||||
zen-devtools-toggle-style-editor-shortcut = Toggle Style Editor
|
||||
zen-devtools-toggle-performance-shortcut = Toggle Performance
|
||||
zen-devtools-toggle-storage-shortcut = Toggle Storage
|
||||
zen-devtools-toggle-dom-shortcut = Toggle DOM
|
||||
zen-devtools-toggle-accessibility-shortcut = Toggle Accessibility
|
||||
zen-close-all-unpinned-tabs-shortcut = Close All Unpinned Tabs
|
||||
zen-devtools-toggle-shortcut = Vaihda DevTools
|
||||
zen-devtools-toggle-browser-toolbox-shortcut = Vaihda Selaimen Työkalupakkia
|
||||
zen-devtools-toggle-browser-console-shortcut = Vaihda Selaimen Konsoli
|
||||
zen-devtools-toggle-responsive-design-mode-shortcut = Vaihda Reagoiva Suunnittelu -tila
|
||||
zen-devtools-toggle-inspector-shortcut = Vaihda Tarkastajaa
|
||||
zen-devtools-toggle-web-console-shortcut = Vaihda Selaimen Konsoli
|
||||
zen-devtools-toggle-js-debugger-shortcut = Vaihda Javascript- Debuggeria
|
||||
zen-devtools-toggle-net-monitor-shortcut = Vaihda Verkon Valvontaa
|
||||
zen-devtools-toggle-style-editor-shortcut = Vaihda Tyylin Muokkainta
|
||||
zen-devtools-toggle-performance-shortcut = Vaihda Suorituskykyä
|
||||
zen-devtools-toggle-storage-shortcut = Vaihda Tallennustilaa
|
||||
zen-devtools-toggle-dom-shortcut = Vaihda DOM:ia
|
||||
zen-devtools-toggle-accessibility-shortcut = Vaihda Esteettömyystilaa
|
||||
zen-close-all-unpinned-tabs-shortcut = Sulje kaikki kiinnittämättömät välilehdet
|
||||
|
||||
@@ -3,23 +3,23 @@
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
zen-folders-search-placeholder =
|
||||
.placeholder = Search { $folder-name }...
|
||||
.placeholder = Etsi { $folder-name }...
|
||||
zen-folders-panel-rename-folder =
|
||||
.label = Rename Folder
|
||||
.label = Nimeä kansio uudelleen
|
||||
zen-folders-panel-unpack-folder =
|
||||
.label = Unpack Folder
|
||||
.label = Pura Kansio
|
||||
zen-folders-new-subfolder =
|
||||
.label = New Subfolder
|
||||
.label = Uusi Alikansio
|
||||
zen-folders-panel-delete-folder =
|
||||
.label = Delete Folder
|
||||
.label = Poista kansio
|
||||
zen-folders-panel-convert-folder-to-space =
|
||||
.label = Convert folder to Space
|
||||
.label = Muunna kansio työtilaksi
|
||||
zen-folders-panel-change-folder-space =
|
||||
.label = Change Space...
|
||||
.label = Muuta Työtilaa...
|
||||
zen-folders-panel-change-icon-folder =
|
||||
.label = Change Icon
|
||||
.label = Vaihda kuvake
|
||||
zen-folders-unload-all-tooltip =
|
||||
.tooltiptext = Unload active in this folder
|
||||
.tooltiptext = Poista käytöstä aktiivinen kansio
|
||||
zen-folders-unload-folder =
|
||||
.label = Unload All Tabs
|
||||
zen-folders-search-no-results = No tabs matching that search 🤔
|
||||
.label = Tyhjennä Kaikki Välilehdet
|
||||
zen-folders-search-no-results = Ei hakua vastaavia välilehtiä 🤔
|
||||
|
||||
@@ -8,9 +8,9 @@ tab-context-zen-reset-pinned-tab =
|
||||
.label = Nollaa Kiinnitetty Välilehti
|
||||
.accesskey = R
|
||||
tab-context-zen-add-essential =
|
||||
.label = Add to Essentials
|
||||
.label = Lisää olennaisiin
|
||||
.accesskey = E
|
||||
tab-context-zen-add-essential-badge = { $num } / { $max } slots filled
|
||||
tab-context-zen-add-essential-badge = { $num } / { $max } täytetty paikka
|
||||
tab-context-zen-remove-essential =
|
||||
.label = Poista olennaisista
|
||||
.accesskey = R
|
||||
@@ -18,83 +18,93 @@ tab-context-zen-replace-pinned-url-with-current =
|
||||
.label = Korvaa kiinnitetty URL-osoite nykyisellä
|
||||
.accesskey = C
|
||||
zen-themes-corrupted = { -brand-short-name } modejasi tiedosto on vioittunut. Ne on palautettu oletusteemaan.
|
||||
zen-shortcuts-corrupted = Your { -brand-short-name } shortcuts file is corrupted. They have been reset to the default shortcuts.
|
||||
zen-shortcuts-corrupted = { -brand-short-name } Oikotietä sisältävä tiedosto on korruptoitunut. Ne on palautettu oletus oikoteihin.
|
||||
# note: Do not translate the "<br/>" tags in the following string
|
||||
zen-new-urlbar-notification =
|
||||
The new URL bar has been enabled, removing the need for new tab pages.<br/><br/>
|
||||
Try opening a new tab to see the new URL bar in action!
|
||||
zen-disable = Disable
|
||||
Uusi URL-palkki on otettu käyttöön, uusia välilehtisivuja ei enää tarvita.<br/><br/>
|
||||
Kokeile avata uusi välilehti nähdäksesi uuden URL-palkin toiminnassa!
|
||||
zen-disable = Poista käytöstä
|
||||
pictureinpicture-minimize-btn =
|
||||
.aria-label = Minimize
|
||||
.tooltip = Minimize
|
||||
.aria-label = Minimoi
|
||||
.tooltip = Minimoi
|
||||
zen-panel-ui-gradient-generator-custom-color = Muokattu Väri
|
||||
zen-panel-ui-gradient-generator-saved-message = Kaltevuus tallennettu onnistuneesti!
|
||||
zen-copy-current-url-confirmation = Copied current URL!
|
||||
zen-copy-current-url-confirmation = Nykyinen URL-osoite kopioitu!
|
||||
zen-general-cancel-label =
|
||||
.label = Cancel
|
||||
.label = Peruuta
|
||||
zen-general-confirm =
|
||||
.label = Confirm
|
||||
.label = Vahvista
|
||||
zen-pinned-tab-replaced = Pinned tab URL has been replaced with the current URL.
|
||||
zen-tabs-renamed = Tab has been successfully renamed!
|
||||
zen-background-tab-opened-toast = New background tab opened!
|
||||
zen-workspace-renamed-toast = Workspace has been successfully renamed!
|
||||
zen-tabs-renamed = Välilehti on nimetty uudelleen!
|
||||
zen-background-tab-opened-toast = Uusi taustavälilehti avattu!
|
||||
zen-workspace-renamed-toast = Työtila on nimetty uudelleen!
|
||||
zen-library-sidebar-workspaces =
|
||||
.label = Spaces
|
||||
.label = Työtilat
|
||||
zen-library-sidebar-mods =
|
||||
.label = Mods
|
||||
.label = Modit
|
||||
zen-toggle-compact-mode-button =
|
||||
.label = Compact Mode
|
||||
.tooltiptext = Toggle Compact Mode
|
||||
.label = Kompakti Tila
|
||||
.tooltiptext = Ota käyttöön Kompakti tila
|
||||
|
||||
# note: Do not translate the "<br/>" tags in the following string
|
||||
|
||||
zen-learn-more-text = Learn More
|
||||
zen-close-label = Close
|
||||
zen-learn-more-text = Lue Lisää
|
||||
zen-close-label = Sulje
|
||||
zen-singletoolbar-urlbar-placeholder-with-name =
|
||||
.placeholder = Search...
|
||||
.placeholder = Hae...
|
||||
zen-icons-picker-emoji =
|
||||
.label = Emojis
|
||||
.label = Emojit
|
||||
zen-icons-picker-svg =
|
||||
.label = Icons
|
||||
urlbar-search-mode-zen_actions = Actions
|
||||
zen-site-data-settings = Settings
|
||||
zen-generic-manage = Manage
|
||||
zen-generic-more = More
|
||||
zen-generic-next = Next
|
||||
.label = Kuvakkeet
|
||||
urlbar-search-mode-zen_actions = Toiminnot
|
||||
zen-site-data-settings = Asetukset
|
||||
zen-generic-manage = Hallitse
|
||||
zen-generic-more = Lisää
|
||||
zen-generic-next = Seuraava
|
||||
# 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-setting-allow = Sallittu
|
||||
zen-site-data-setting-block = Estetty
|
||||
zen-site-data-protections-enabled = Käytössä
|
||||
zen-site-data-protections-disabled = Pois käytöstä
|
||||
zen-site-data-setting-cross-site = Sivuston välinen eväste
|
||||
zen-site-data-security-info-extension =
|
||||
.label = Extension
|
||||
.label = Laajennus
|
||||
zen-site-data-security-info-secure =
|
||||
.label = Secure
|
||||
.label = Turvallinen
|
||||
zen-site-data-security-info-not-secure =
|
||||
.label = Not Secure
|
||||
.label = Ei turvallinen
|
||||
zen-site-data-manage-addons =
|
||||
.label = Manage Extensions
|
||||
.label = Hallita Laajennuksia
|
||||
zen-site-data-get-addons =
|
||||
.label = Add Extensions
|
||||
.label = Lisää Laajennuksia
|
||||
zen-site-data-site-settings =
|
||||
.label = All Site Settings
|
||||
.label = Kaikki Sivuston Asetukset
|
||||
zen-site-data-header-share =
|
||||
.tooltiptext = Share This Page
|
||||
.tooltiptext = Jaa Tämä Sivu
|
||||
zen-site-data-header-reader-mode =
|
||||
.tooltiptext = Enter Reader Mode
|
||||
.tooltiptext = Siirry lukutilaan
|
||||
zen-site-data-header-screenshot =
|
||||
.tooltiptext = Take a Screenshot
|
||||
.tooltiptext = Ota kuvakaappaus
|
||||
zen-site-data-header-bookmark =
|
||||
.tooltiptext = Bookmark This Page
|
||||
.tooltiptext = Lisää Tämä Sivu Kirjanmerkkeihin
|
||||
zen-urlbar-copy-url-button =
|
||||
.tooltiptext = Copy URL
|
||||
zen-site-data-setting-site-protection = Tracking Protection
|
||||
.tooltiptext = Kopioi URL
|
||||
zen-site-data-setting-site-protection = Seuranta Suojaus
|
||||
|
||||
# Section: Feature callouts
|
||||
|
||||
zen-site-data-panel-feature-callout-title = A new home for add-ons, permissions, and more
|
||||
zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site settings, view security info, access extensions, and perform common actions.
|
||||
zen-site-data-panel-feature-callout-title = Uusi koti lisäosille, käyttöoikeuksille ja paljon muuta
|
||||
zen-site-data-panel-feature-callout-subtitle = Klikkaa kuvaketta hallitaksesi sivuston asetuksia, tarkastella tietoturvatietoja, käyttää laajennuksia ja suorittaa yhteisiä toimintoja.
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.label = Avaa linkki vilkaisussa
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Päivitys valmis!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = Mitä uutta { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = Katso Julkaisutiedot
|
||||
zen-sidebar-notification-restart-safe-mode-label = Jotain rikki?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Käynnistä uudelleen vianmääritystilassa
|
||||
|
||||
@@ -11,29 +11,29 @@ zen-toolbar-context-compact-mode-enable =
|
||||
.label = Ota kompakti tila käyttöön
|
||||
.accesskey = D
|
||||
zen-toolbar-context-compact-mode-just-tabs =
|
||||
.label = Hide sidebar
|
||||
.label = Piilota sivupalkki
|
||||
zen-toolbar-context-compact-mode-just-toolbar =
|
||||
.label = Piilota työkalupalkki
|
||||
zen-toolbar-context-compact-mode-hide-both =
|
||||
.label = Piilota molemmat
|
||||
.accesskey = H
|
||||
zen-toolbar-context-new-folder =
|
||||
.label = New Folder
|
||||
.label = Uusi kansio
|
||||
.accesskey = N
|
||||
sidebar-zen-expand =
|
||||
.label = Expand Sidebar
|
||||
.label = Laajenna sivupalkkia
|
||||
sidebar-zen-create-new =
|
||||
.label = Create New...
|
||||
.label = Luo uusi...
|
||||
tabbrowser-unload-tab-button =
|
||||
.tooltiptext =
|
||||
{ $tabCount ->
|
||||
[one] Unload and switch to tab
|
||||
*[other] Unload { $tabCount } tabs and switch to the first
|
||||
[one] Pura ja vaihda välilehteen
|
||||
*[other] Pura { $tabCount } välilehdet ja vaihda ensimmäiseen
|
||||
}
|
||||
tabbrowser-reset-pin-button =
|
||||
.tooltiptext =
|
||||
{ $tabCount ->
|
||||
[one] Reset and pin tab
|
||||
*[other] Reset and pin { $tabCount } tabs
|
||||
[one] Nollaa ja kiinnitä välilehti
|
||||
*[other] Nollaa ja kiinnitä { $tabCount } välilehdet
|
||||
}
|
||||
tab-reset-pin-label = Back to pinned url
|
||||
tab-reset-pin-label = Takaisin kiinnitettyyn URL-osoitteeseen
|
||||
|
||||
@@ -2,25 +2,25 @@
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
zen-welcome-title-line1 = Welcome to
|
||||
zen-welcome-title-line2 = a calmer internet
|
||||
zen-welcome-import-title = A Fresh Start, Same Bookmarks
|
||||
zen-welcome-import-description-1 = Your bookmarks, history, and passwords are like a trail of breadcrumbs through the internet—don’t leave them behind!
|
||||
zen-welcome-import-description-2 = Easily bring them over from another browser and pick up right where you left off..
|
||||
zen-welcome-import-button = Import now
|
||||
zen-welcome-set-default-browser = Set { -brand-short-name } as your default browser
|
||||
zen-welcome-dont-set-default-browser = DON’T set { -brand-short-name } as your default browser
|
||||
zen-welcome-initial-essentials-title = Your Key Tabs, Always Within Reach
|
||||
zen-welcome-initial-essentials-description-1 = Keep your most important tabs easily accessible and always at hand, no matter how many you open.
|
||||
zen-welcome-initial-essentials-description-2 = Essential tabs are always visible, no matter what workspace you are in.
|
||||
zen-welcome-workspace-colors-title = Your Workspaces, Your Colors
|
||||
zen-welcome-workspace-colors-description = Personalize your browser by giving each workspace its own unique color identity.
|
||||
zen-welcome-title-line1 = Tervetuloa
|
||||
zen-welcome-title-line2 = rauhellisempaan internettiin
|
||||
zen-welcome-import-title = Tuore Aloitus, Samat Kirjanmerkit
|
||||
zen-welcome-import-description-1 = Kirjanmerkit, historia ja salasanat ovat kuin polku leivänmurteita Internetin kautta - älä jätä niitä taakse!
|
||||
zen-welcome-import-description-2 = Tuo ne helposti toisesta selaimesta ja jatka eteenpäin siitä, mihin jäit.
|
||||
zen-welcome-import-button = Tuo nyt
|
||||
zen-welcome-set-default-browser = Aseta { -brand-short-name } oletusselaimeksi
|
||||
zen-welcome-dont-set-default-browser = ÄLÄ asettanut { -brand-short-name } oletusselaimeksi
|
||||
zen-welcome-initial-essentials-title = Tärkeimmät Välilehtesi, Aina Saavutuksen Sisällä
|
||||
zen-welcome-initial-essentials-description-1 = Pidä tärkeimmät välilehdet helposti saatavilla riippumatta siitä, kuinka monta olet avannut.
|
||||
zen-welcome-initial-essentials-description-2 = Olennaiset välilehdet ovat aina näkyvissä, riippumatta siitä, missä työtilassa olet.
|
||||
zen-welcome-workspace-colors-title = Sinun Työtilasi, Sinun Värisi
|
||||
zen-welcome-workspace-colors-description = Mukauta selainta antamalla jokaiselle työtilalle oma väri-identiteetti.
|
||||
zen-welcome-start-browsing-title =
|
||||
All set?<br/>
|
||||
Let’s get rolling!
|
||||
zen-welcome-start-browsing-description-1 = You’re all set up and ready to go. Click the button below to start browsing with { -brand-short-name }.
|
||||
zen-welcome-start-browsing = Dive in!
|
||||
zen-welcome-default-search-title = Your Default Search Engine
|
||||
zen-welcome-default-search-description = Choose your default search engine. You can always change it later!
|
||||
zen-welcome-skip-button = Skip
|
||||
zen-welcome-finished = Your Zen has been set up correctly!
|
||||
Kaikki asetettu?<br/>
|
||||
Aletaan toimiin!
|
||||
zen-welcome-start-browsing-description-1 = Kaikki on asetettu ja olet valmis menemään. Napsauta alla olevaa painiketta aloittaaksesi selailun { -brand-short-name } -sovelluksella.
|
||||
zen-welcome-start-browsing = Sukella sisään!
|
||||
zen-welcome-default-search-title = Sinun Oletushakukone
|
||||
zen-welcome-default-search-description = Valitse oletushakukone. Voit aina muuttaa sitä myöhemmin!
|
||||
zen-welcome-skip-button = Ohita
|
||||
zen-welcome-finished = Zen on määritetty oikein!
|
||||
|
||||
@@ -4,26 +4,26 @@
|
||||
|
||||
zen-panel-ui-workspaces-text = Työtilat
|
||||
zen-panel-ui-workspaces-create =
|
||||
.label = Create Space
|
||||
.label = Luo työtila
|
||||
zen-panel-ui-folder-create =
|
||||
.label = Create Folder
|
||||
.label = Luo kansio
|
||||
zen-panel-ui-new-empty-split =
|
||||
.label = New Split
|
||||
.label = Uusi Jako
|
||||
zen-workspaces-panel-context-delete =
|
||||
.label = Poista Työtila
|
||||
.accesskey = D
|
||||
zen-workspaces-panel-change-name =
|
||||
.label = Change Name
|
||||
.label = Vaihda nimi
|
||||
zen-workspaces-panel-change-icon =
|
||||
.label = Change Icon
|
||||
.label = Vaihda kuvake
|
||||
zen-workspaces-panel-context-default-profile =
|
||||
.label = Set Profile
|
||||
.label = Aseta Profiili
|
||||
zen-workspaces-panel-unload =
|
||||
.label = Unload Space
|
||||
zen-workspaces-how-to-reorder-title = How to reorder spaces
|
||||
zen-workspaces-how-to-reorder-desc = Drag the space icons at the bottom of the sidebar to reorder them
|
||||
.label = Poista Työtila
|
||||
zen-workspaces-how-to-reorder-title = Kuinka järjestää työtiloja
|
||||
zen-workspaces-how-to-reorder-desc = Vedä työtilan kuvakkeet sivupalkin alareunaan järjestääksesi ne uudelleen
|
||||
zen-workspaces-change-theme =
|
||||
.label = Edit Theme
|
||||
.label = Muokkaa teemaa
|
||||
zen-workspaces-panel-context-open =
|
||||
.label = Avaa Työtila
|
||||
.accesskey = O
|
||||
@@ -37,29 +37,29 @@ zen-bookmark-edit-panel-workspace-selector =
|
||||
.value = Työtilat
|
||||
.accesskey = W
|
||||
zen-panel-ui-gradient-generator-algo-complementary =
|
||||
.label = Complementary
|
||||
.label = Täydentävä
|
||||
zen-panel-ui-gradient-generator-algo-splitComplementary =
|
||||
.label = Split
|
||||
.label = Jaa osiin
|
||||
zen-panel-ui-gradient-generator-algo-analogous =
|
||||
.label = Analogous
|
||||
.label = Analoginen
|
||||
zen-panel-ui-gradient-generator-algo-triadic =
|
||||
.label = Triadic
|
||||
.label = Triadiikki
|
||||
zen-panel-ui-gradient-generator-algo-floating =
|
||||
.label = Floating
|
||||
zen-panel-ui-gradient-click-to-add = Click to add a color
|
||||
.label = Kelluva
|
||||
zen-panel-ui-gradient-click-to-add = Klikkaa lisätäksesi väri
|
||||
zen-workspace-creation-name =
|
||||
.placeholder = Space Name
|
||||
.placeholder = Työtilan nimi
|
||||
zen-workspaces-panel-context-reorder =
|
||||
.label = Reorder Spaces
|
||||
zen-workspace-creation-profile = Profile
|
||||
.tooltiptext = Profiles are used to separate cookies and site data between spaces.
|
||||
zen-workspace-creation-header = Create a Space
|
||||
zen-workspace-creation-label = Spaces are used to organize your tabs and sessions.
|
||||
zen-workspaces-delete-workspace-title = Delete Workspace?
|
||||
zen-workspaces-delete-workspace-body = Are you sure you want to delete { $name }? This action cannot be undone.
|
||||
.label = Järjestä Työtilat Uudelleen
|
||||
zen-workspace-creation-profile = Profiili
|
||||
.tooltiptext = Profiileja käytetään erottamaan evästeet ja sivustontiedot tiloihin.
|
||||
zen-workspace-creation-header = Luo työtila
|
||||
zen-workspace-creation-label = Työtiloja käytetään järjestämään sinun välilehtiä ja istuntoja.
|
||||
zen-workspaces-delete-workspace-title = Poista Työtila?
|
||||
zen-workspaces-delete-workspace-body = Oletko varma, että haluat poistaa { $name }? Tätä toimintoa ei voi peruuttaa.
|
||||
# Note that the html tag MUST not be changed or removed, as it is used to better
|
||||
# display the shortcut in the toast notification.
|
||||
zen-workspaces-close-all-unpinned-tabs-toast = Tabs Closed! Use <span>{ $shortcut }</span> to undo.
|
||||
zen-workspaces-close-all-unpinned-tabs-toast = Välilehdet suljettu! Peruuta toiminto käyttämällä <span>{ $shortcut }</span>.
|
||||
zen-workspaces-close-all-unpinned-tabs-title =
|
||||
.label = Clear
|
||||
.tooltiptext = Close all unpinned tabs
|
||||
.label = Tyhjennä
|
||||
.tooltiptext = Sulje kaikki kiinnittämättömät välilehdet
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Cliquez sur l'icône pour gérer
|
||||
zen-open-link-in-glance =
|
||||
.label = Ouvrir le lien dans Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Mise à jour terminée !
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = Quoi de neuf dans { -brand-short-name } ?
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = Voir les notes de version
|
||||
zen-sidebar-notification-restart-safe-mode-label = Un problème est survenu ?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Redémarrer en mode de dépannage
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Cliceáil an deilbhín chun socru
|
||||
zen-open-link-in-glance =
|
||||
.label = Oscail an Nasc i Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Nuashonrú críochnaithe!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = Cad atá nua i { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = Féach ar Nótaí Eisiúna
|
||||
zen-sidebar-notification-restart-safe-mode-label = Bhris rud éigin?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Atosaigh i Mód Sábháilte
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = ניתן ללחוץ על הסמל
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Kattints az ikonra a webhely beá
|
||||
zen-open-link-in-glance =
|
||||
.label = Link megnyitása a bepillantóban
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Frissítés befejezve!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = { -brand-short-name } újdonságai
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = Változások listájának megtekintése
|
||||
zen-sidebar-notification-restart-safe-mode-label = Valami elromlott?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Újraindítás biztonságos módban
|
||||
|
||||
@@ -10,7 +10,7 @@ tab-zen-split-tabs =
|
||||
}
|
||||
.accesskey = S
|
||||
zen-split-link =
|
||||
.label = Link felosztása új lapban
|
||||
.label = Hivatkozás felosztása új lapban
|
||||
.accesskey = S
|
||||
zen-split-view-modifier-header = Osztott nézet
|
||||
zen-split-view-modifier-activate-reallocation =
|
||||
|
||||
@@ -45,9 +45,9 @@ pane-settings-workspaces-title = Ruang Kerja
|
||||
zen-tabs-unloader-enabled =
|
||||
.label = Aktifkan Pelepas Tab
|
||||
zen-tabs-close-on-back-with-no-history =
|
||||
.label = Close tab and switch to its owner tab (or most recently used tab) when going back with no history
|
||||
.label = Tutup tab dan beralih ke tab pemiliknya (atau tab yang terakhir digunakan) saat kembali tanpa riwayat
|
||||
zen-tabs-cycle-by-attribute =
|
||||
.label = Ctrl+Tab cycles within Essential or Workspace tabs only
|
||||
.label = Ctrl+Tab berputar hanya dalam tab Esensial atau Ruang Kerja
|
||||
zen-tabs-cycle-ignore-pending-tabs =
|
||||
.label = Ignore Pending tabs when cycling with Ctrl+Tab
|
||||
zen-tabs-cycle-by-attribute-warning = Ctrl+Tab will cycle by recently used order, as it is enabled
|
||||
@@ -311,4 +311,4 @@ zen-devtools-toggle-performance-shortcut = Ubah Performance
|
||||
zen-devtools-toggle-storage-shortcut = Ubah Penyimpanan
|
||||
zen-devtools-toggle-dom-shortcut = Ubah DOM
|
||||
zen-devtools-toggle-accessibility-shortcut = Ubah Aksesibilitas
|
||||
zen-close-all-unpinned-tabs-shortcut = Close All Unpinned Tabs
|
||||
zen-close-all-unpinned-tabs-shortcut = Tutup Semua Tab yang Tidak Disematkan
|
||||
|
||||
@@ -8,9 +8,9 @@ tab-context-zen-reset-pinned-tab =
|
||||
.label = Kembalikan ke URL Awal
|
||||
.accesskey = R
|
||||
tab-context-zen-add-essential =
|
||||
.label = Add to Essentials
|
||||
.label = Tambahkan ke Essentials
|
||||
.accesskey = E
|
||||
tab-context-zen-add-essential-badge = { $num } / { $max } slots filled
|
||||
tab-context-zen-add-essential-badge = { $num } / { $max } slot terisi
|
||||
tab-context-zen-remove-essential =
|
||||
.label = Hapus dari Essentials
|
||||
.accesskey = R
|
||||
@@ -96,5 +96,15 @@ zen-site-data-setting-site-protection = Perlindungan Pelacakan
|
||||
zen-site-data-panel-feature-callout-title = Rumah baru untuk add-on, izin, dan lainnya
|
||||
zen-site-data-panel-feature-callout-subtitle = Klik ikon untuk mengelola pengaturan situs, melihat info keamanan, mengakses ekstensi, dan melakukan tindakan umum.
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.label = Buka Tautan di Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -59,7 +59,7 @@ zen-workspaces-delete-workspace-title = Delete Workspace?
|
||||
zen-workspaces-delete-workspace-body = Apakah Anda yakin ingin menghapus { $name }? Tindakan ini tidak bisa dibatalkan.
|
||||
# Note that the html tag MUST not be changed or removed, as it is used to better
|
||||
# display the shortcut in the toast notification.
|
||||
zen-workspaces-close-all-unpinned-tabs-toast = Tabs Closed! Use <span>{ $shortcut }</span> to undo.
|
||||
zen-workspaces-close-all-unpinned-tabs-toast = Tab Ditutup! Gunakan <span>{ $shortcut }</span> untuk membatalkan.
|
||||
zen-workspaces-close-all-unpinned-tabs-title =
|
||||
.label = Clear
|
||||
.tooltiptext = Close all unpinned tabs
|
||||
.label = Bersihkan
|
||||
.tooltiptext = Tutup semua tab yang tidak disematkan
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -96,3 +96,13 @@ zen-site-data-panel-feature-callout-subtitle = Clicca l'icona per gestire le imp
|
||||
zen-open-link-in-glance =
|
||||
.label = Apri collegamento in Sguardo
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = 아이콘을 클릭해 사이트
|
||||
zen-open-link-in-glance =
|
||||
.label = 글랜스로 링크 열기
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -8,9 +8,9 @@ tab-context-zen-reset-pinned-tab =
|
||||
.label = Atkurti prisegtą kortelę
|
||||
.accesskey = R
|
||||
tab-context-zen-add-essential =
|
||||
.label = Add to Essentials
|
||||
.label = Įtraukti į būtiniausius
|
||||
.accesskey = E
|
||||
tab-context-zen-add-essential-badge = { $num } / { $max } slots filled
|
||||
tab-context-zen-add-essential-badge = { $num } / { $max } užpildytų vietų
|
||||
tab-context-zen-remove-essential =
|
||||
.label = Šalinti iš būtiniausių
|
||||
.accesskey = R
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Spustelėkite piktogramą, kad tv
|
||||
zen-open-link-in-glance =
|
||||
.label = Atverti nuorodą spartiuojame pažiūrėjime
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Naujinimas baigtas.
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = Kas naujo naršyklėje „{ -brand-short-name }“
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = Peržiūrėti leidimo pastabas
|
||||
zen-sidebar-notification-restart-safe-mode-label = Kažkas sugedo?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Paleisti iš naujo saugioje režime
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Klik op het icoon om de site-inst
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Kliknij ikonę, aby zarządzać u
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -96,3 +96,13 @@ zen-site-data-panel-feature-callout-subtitle = Clique no ícone para gerenciar c
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Clique no ícone para gerir defin
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Нажмите на значок
|
||||
zen-open-link-in-glance =
|
||||
.label = Открыть ссылку в предпросмотре
|
||||
.accesskey = П
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Натисніть значок,
|
||||
zen-open-link-in-glance =
|
||||
.label = Відкрити посилання в передперегляді
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Оновлення завершено!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = Що нового в { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = Переглянути примітки до випуску
|
||||
zen-sidebar-notification-restart-safe-mode-label = Щось зламалося?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Перезапустити в безпечному режимі
|
||||
|
||||
@@ -98,3 +98,13 @@ zen-site-data-panel-feature-callout-subtitle = Bấm vào biểu tượng để
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -96,3 +96,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
@@ -96,3 +96,13 @@ zen-site-data-panel-feature-callout-subtitle = Click the icon to manage site set
|
||||
zen-open-link-in-glance =
|
||||
.label = Open Link in Glance
|
||||
.accesskey = G
|
||||
zen-sidebar-notification-updated-heading = Update Complete!
|
||||
|
||||
# See ZenSidebarNotification.mjs to see how these would be used
|
||||
|
||||
zen-sidebar-notification-updated-label = What's new in { -brand-short-name }
|
||||
zen-sidebar-notification-updated-tooltip =
|
||||
.title = View Release Notes
|
||||
zen-sidebar-notification-restart-safe-mode-label = Something broke?
|
||||
zen-sidebar-notification-restart-safe-mode-tooltip =
|
||||
.title = Restart in Safe Mode
|
||||
|
||||
101
package-lock.json
generated
101
package-lock.json
generated
@@ -9,7 +9,7 @@
|
||||
"version": "1.0.0",
|
||||
"license": "MPL-2.0",
|
||||
"dependencies": {
|
||||
"@zen-browser/surfer": "^1.11.22"
|
||||
"@zen-browser/surfer": "^1.11.26"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-typescript": "^7.27.0",
|
||||
@@ -35,7 +35,6 @@
|
||||
"integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/gen-mapping": "^0.3.5",
|
||||
"@jridgewell/trace-mapping": "^0.3.24"
|
||||
@@ -65,7 +64,6 @@
|
||||
"integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
@@ -108,7 +106,6 @@
|
||||
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
}
|
||||
@@ -149,7 +146,6 @@
|
||||
"integrity": "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/compat-data": "^7.26.8",
|
||||
"@babel/helper-validator-option": "^7.25.9",
|
||||
@@ -167,7 +163,6 @@
|
||||
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
}
|
||||
@@ -341,7 +336,6 @@
|
||||
"integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@babel/template": "^7.27.0",
|
||||
"@babel/types": "^7.27.0"
|
||||
@@ -617,13 +611,6 @@
|
||||
"url": "https://opencollective.com/eslint"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/eslintrc/node_modules/argparse": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
||||
"dev": true,
|
||||
"license": "Python-2.0"
|
||||
},
|
||||
"node_modules/@eslint/eslintrc/node_modules/globals": {
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
|
||||
@@ -637,19 +624,6 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/eslintrc/node_modules/js-yaml": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"argparse": "^2.0.1"
|
||||
},
|
||||
"bin": {
|
||||
"js-yaml": "bin/js-yaml.js"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/eslintrc/node_modules/strip-json-comments": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
|
||||
@@ -1135,9 +1109,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@zen-browser/surfer": {
|
||||
"version": "1.11.22",
|
||||
"resolved": "https://registry.npmjs.org/@zen-browser/surfer/-/surfer-1.11.22.tgz",
|
||||
"integrity": "sha512-fvV+8stPXJDyX/6lv4bvgkxq1hNGyJJyOU1ysjJSrElxo9CerB35XU8LMjAs6SjuV1olLMILg2DwCIP2gVn0+Q==",
|
||||
"version": "1.11.26",
|
||||
"resolved": "https://registry.npmjs.org/@zen-browser/surfer/-/surfer-1.11.26.tgz",
|
||||
"integrity": "sha512-NZcFZ4a/HWvEJlEr5IlQto/xHLOr6tZjkZALue2qHg+rjRKR5v2BEV4hV5mfAo85gKhyM2Ism0sD+0+/VQIESg==",
|
||||
"license": "MPL-2.0",
|
||||
"dependencies": {
|
||||
"@resvg/resvg-js": "^1.4.0",
|
||||
@@ -1173,6 +1147,7 @@
|
||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
@@ -1252,13 +1227,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/argparse": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
}
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
||||
"dev": true,
|
||||
"license": "Python-2.0"
|
||||
},
|
||||
"node_modules/array-buffer-byte-length": {
|
||||
"version": "1.0.2",
|
||||
@@ -1846,8 +1819,7 @@
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"license": "CC-BY-4.0",
|
||||
"peer": true
|
||||
"license": "CC-BY-4.0"
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "4.1.2",
|
||||
@@ -2034,8 +2006,7 @@
|
||||
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
|
||||
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/core-js-pure": {
|
||||
"version": "3.41.0",
|
||||
@@ -2355,8 +2326,7 @@
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.139.tgz",
|
||||
"integrity": "sha512-GGnRYOTdN5LYpwbIr0rwP/ZHOQSvAF6TG0LSzp28uCBb9JiXHJGmaaKw29qjNJc5bGnnp6kXJqRnGMQoELwi5w==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"peer": true
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
@@ -2592,7 +2562,6 @@
|
||||
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
@@ -2616,6 +2585,7 @@
|
||||
"integrity": "sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.12.1",
|
||||
@@ -3463,7 +3433,6 @@
|
||||
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
@@ -4409,13 +4378,13 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/js-yaml": {
|
||||
"version": "3.14.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
|
||||
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
|
||||
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
"argparse": "^2.0.1"
|
||||
},
|
||||
"bin": {
|
||||
"js-yaml": "bin/js-yaml.js"
|
||||
@@ -4461,7 +4430,6 @@
|
||||
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"json5": "lib/cli.js"
|
||||
},
|
||||
@@ -4896,7 +4864,6 @@
|
||||
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"yallist": "^3.0.2"
|
||||
}
|
||||
@@ -5111,8 +5078,7 @@
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
|
||||
"integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/normalize-path": {
|
||||
"version": "3.0.0",
|
||||
@@ -5568,6 +5534,7 @@
|
||||
"integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"prettier": "bin/prettier.cjs"
|
||||
},
|
||||
@@ -6982,7 +6949,6 @@
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"escalade": "^3.2.0",
|
||||
"picocolors": "^1.1.1"
|
||||
@@ -7250,6 +7216,28 @@
|
||||
"node": ">=12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/xmlbuilder2/node_modules/argparse": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/xmlbuilder2/node_modules/js-yaml": {
|
||||
"version": "3.14.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
|
||||
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"js-yaml": "bin/js-yaml.js"
|
||||
}
|
||||
},
|
||||
"node_modules/xtend": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||
@@ -7264,8 +7252,7 @@
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
||||
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"peer": true
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/yaml": {
|
||||
"version": "2.7.0",
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
},
|
||||
"homepage": "https://github.com/zen-browser/desktop#readme",
|
||||
"dependencies": {
|
||||
"@zen-browser/surfer": "^1.11.22"
|
||||
"@zen-browser/surfer": "^1.11.26"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/preset-typescript": "^7.27.0",
|
||||
|
||||
6
prefs/zen/updates.yaml
Normal file
6
prefs/zen/updates.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
- name: zen.updates.show-update-notification
|
||||
value: true
|
||||
@@ -43,11 +43,8 @@
|
||||
- name: zen.view.drag-and-drop.move-over-threshold
|
||||
value: 70
|
||||
|
||||
- name: zen.view.drag-and-drop.drop-inside-upper-threshold
|
||||
value: 80
|
||||
|
||||
- name: zen.view.drag-and-drop.drop-inside-lower-threshold
|
||||
value: 30
|
||||
- name: zen.view.drag-and-drop.edge-zone-threshold
|
||||
value: 25
|
||||
|
||||
- name: zen.view.context-menu.refresh
|
||||
value: false
|
||||
@@ -60,3 +57,6 @@
|
||||
|
||||
- name: zen.view.show-clear-tabs-button
|
||||
value: true
|
||||
|
||||
- name: zen.view.draggable-sidebar
|
||||
value: true
|
||||
|
||||
@@ -43,18 +43,19 @@
|
||||
<script type="text/javascript" src="chrome://browser/content/ZenPreloadedScripts.js"></script>
|
||||
|
||||
# Scripts used all over the browser
|
||||
<script type="text/javascript" src="chrome://browser/content/ZenUIManager.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenFolder.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenFolders.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenMods.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenCompactMode.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenPinnedTabsStorage.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenWorkspacesStorage.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenPinnedTabManager.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenGradientGenerator.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenViewSplitter.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenGlanceManager.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenMediaController.mjs"></script>
|
||||
<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="module" src="chrome://browser/content/ZenUIManager.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenFolder.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenCompactMode.mjs"></script>
|
||||
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenPinnedTabsStorage.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenWorkspacesStorage.mjs"></script>
|
||||
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenMediaController.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenWorkspaceCreation.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenGlanceManager.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenPinnedTabManager.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenViewSplitter.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenFolders.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenDownloadAnimation.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenEmojiPicker.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenMods.mjs"></script>
|
||||
|
||||
@@ -2,104 +2,18 @@
|
||||
# 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/.
|
||||
|
||||
content/browser/zenThemeModifier.js (../../zen/common/zenThemeModifier.js)
|
||||
content/browser/ZenStartup.mjs (../../zen/common/ZenStartup.mjs)
|
||||
content/browser/ZenPreloadedScripts.js (../../zen/common/ZenPreloadedScripts.js)
|
||||
content/browser/zen-sets.js (../../zen/common/zen-sets.js)
|
||||
content/browser/ZenUIManager.mjs (../../zen/common/ZenUIManager.mjs)
|
||||
content/browser/zen-components/ZenCommonUtils.mjs (../../zen/common/ZenCommonUtils.mjs)
|
||||
content/browser/zen-components/ZenSessionStore.mjs (../../zen/common/ZenSessionStore.mjs)
|
||||
content/browser/zen-components/ZenEmojisData.min.mjs (../../zen/common/emojis/ZenEmojisData.min.mjs)
|
||||
content/browser/zen-components/ZenEmojiPicker.mjs (../../zen/common/emojis/ZenEmojiPicker.mjs)
|
||||
content/browser/zen-components/ZenHasPolyfill.mjs (../../zen/common/ZenHasPolyfill.mjs)
|
||||
|
||||
* content/browser/zen-styles/zen-theme.css (../../zen/common/styles/zen-theme.css)
|
||||
content/browser/zen-styles/zen-buttons.css (../../zen/common/styles/zen-buttons.css)
|
||||
content/browser/zen-styles/zen-browser-ui.css (../../zen/common/styles/zen-browser-ui.css)
|
||||
content/browser/zen-styles/zen-animations.css (../../zen/common/styles/zen-animations.css)
|
||||
content/browser/zen-styles/zen-panel-ui.css (../../zen/common/styles/zen-panel-ui.css)
|
||||
content/browser/zen-styles/zen-single-components.css (../../zen/common/styles/zen-single-components.css)
|
||||
content/browser/zen-styles/zen-sidebar.css (../../zen/common/styles/zen-sidebar.css)
|
||||
content/browser/zen-styles/zen-toolbar.css (../../zen/common/styles/zen-toolbar.css)
|
||||
content/browser/zen-styles/zen-browser-container.css (../../zen/common/styles/zen-browser-container.css)
|
||||
content/browser/zen-styles/zen-omnibox.css (../../zen/common/styles/zen-omnibox.css)
|
||||
content/browser/zen-styles/zen-popup.css (../../zen/common/styles/zen-popup.css)
|
||||
content/browser/zen-styles/zen-branding.css (../../zen/common/styles/zen-branding.css)
|
||||
|
||||
content/browser/zen-styles/zen-panels/bookmarks.css (../../zen/common/styles/zen-panels/bookmarks.css)
|
||||
content/browser/zen-styles/zen-panels/print.css (../../zen/common/styles/zen-panels/print.css)
|
||||
content/browser/zen-styles/zen-panels/dialog.css (../../zen/common/styles/zen-panels/dialog.css)
|
||||
|
||||
content/browser/zen-components/ZenCompactMode.mjs (../../zen/compact-mode/ZenCompactMode.mjs)
|
||||
* content/browser/zen-styles/zen-compact-mode.css (../../zen/compact-mode/zen-compact-mode.css)
|
||||
|
||||
content/browser/zen-components/ZenViewSplitter.mjs (../../zen/split-view/ZenViewSplitter.mjs)
|
||||
* content/browser/zen-styles/zen-decks.css (../../zen/split-view/zen-decks.css)
|
||||
|
||||
content/browser/zen-components/ZenMods.mjs (../../zen/mods/ZenMods.mjs)
|
||||
|
||||
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/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)
|
||||
content/browser/zen-components/ZenGradientGenerator.mjs (../../zen/workspaces/ZenGradientGenerator.mjs)
|
||||
* content/browser/zen-styles/zen-workspaces.css (../../zen/workspaces/zen-workspaces.css)
|
||||
content/browser/zen-styles/zen-gradient-generator.css (../../zen/workspaces/zen-gradient-generator.css)
|
||||
|
||||
content/browser/zen-components/ZenKeyboardShortcuts.mjs (../../zen/kbs/ZenKeyboardShortcuts.mjs)
|
||||
|
||||
content/browser/zen-components/ZenPinnedTabsStorage.mjs (../../zen/tabs/ZenPinnedTabsStorage.mjs)
|
||||
content/browser/zen-components/ZenPinnedTabManager.mjs (../../zen/tabs/ZenPinnedTabManager.mjs)
|
||||
* content/browser/zen-styles/zen-tabs.css (../../zen/tabs/zen-tabs.css)
|
||||
content/browser/zen-styles/zen-tabs/vertical-tabs.css (../../zen/tabs/zen-tabs/vertical-tabs.css)
|
||||
|
||||
content/browser/zen-components/ZenGlanceManager.mjs (../../zen/glance/ZenGlanceManager.mjs)
|
||||
content/browser/zen-styles/zen-glance.css (../../zen/glance/zen-glance.css)
|
||||
|
||||
content/browser/zen-components/ZenFolder.mjs (../../zen/folders/ZenFolder.mjs)
|
||||
content/browser/zen-components/ZenFolders.mjs (../../zen/folders/ZenFolders.mjs)
|
||||
content/browser/zen-styles/zen-folders.css (../../zen/folders/zen-folders.css)
|
||||
|
||||
content/browser/zen-components/ZenWelcome.mjs (../../zen/welcome/ZenWelcome.mjs)
|
||||
content/browser/zen-styles/zen-welcome.css (../../zen/welcome/zen-welcome.css)
|
||||
|
||||
content/browser/zen-components/ZenMediaController.mjs (../../zen/media/ZenMediaController.mjs)
|
||||
content/browser/zen-styles/zen-media-controls.css (../../zen/media/zen-media-controls.css)
|
||||
|
||||
content/browser/zen-components/ZenDownloadAnimation.mjs (../../zen/downloads/ZenDownloadAnimation.mjs)
|
||||
content/browser/zen-styles/zen-download-arc-animation.css (../../zen/downloads/zen-download-arc-animation.css)
|
||||
content/browser/zen-styles/zen-download-box-animation.css (../../zen/downloads/zen-download-box-animation.css)
|
||||
|
||||
|
||||
# Images
|
||||
content/browser/zen-images/brand-header.svg (../../zen/images/brand-header.svg)
|
||||
content/browser/zen-images/layouts/collapsed.png (../../zen/images/layouts/collapsed.png)
|
||||
content/browser/zen-images/layouts/multiple-toolbar.png (../../zen/images/layouts/multiple-toolbar.png)
|
||||
content/browser/zen-images/layouts/single-toolbar.png (../../zen/images/layouts/single-toolbar.png)
|
||||
content/browser/zen-images/grain-bg.png (../../zen/images/grain-bg.png)
|
||||
content/browser/zen-images/note-indicator.svg (../../zen/images/note-indicator.svg)
|
||||
|
||||
content/browser/zen-images/downloads/download.svg (../../zen/images/downloads/download.svg)
|
||||
content/browser/zen-images/downloads/archive.svg (../../zen/images/downloads/archive.svg)
|
||||
|
||||
# Fonts
|
||||
content/browser/zen-fonts/JunicodeVF-Italic.woff2 (../../zen/fonts/JunicodeVF-Italic.woff2)
|
||||
content/browser/zen-fonts/JunicodeVF-Roman.woff2 (../../zen/fonts/JunicodeVF-Roman.woff2)
|
||||
|
||||
# JS Vendor
|
||||
content/browser/zen-vendor/tsparticles.confetti.bundle.min.js (../../zen/vendor/tsparticles.confetti.bundle.min.js)
|
||||
content/browser/zen-vendor/motion.min.mjs (../../zen/vendor/motion.min.mjs)
|
||||
|
||||
# FavIcons for startup
|
||||
content/browser/zen-images/favicons/calendar.svg (../../zen/images/favicons/calendar.svg)
|
||||
content/browser/zen-images/favicons/discord.svg (../../zen/images/favicons/discord.svg)
|
||||
content/browser/zen-images/favicons/figma.svg (../../zen/images/favicons/figma.svg)
|
||||
content/browser/zen-images/favicons/github.svg (../../zen/images/favicons/github.svg)
|
||||
content/browser/zen-images/favicons/notion.svg (../../zen/images/favicons/notion.svg)
|
||||
content/browser/zen-images/favicons/obsidian.svg (../../zen/images/favicons/obsidian.svg)
|
||||
content/browser/zen-images/favicons/slack.svg (../../zen/images/favicons/slack.svg)
|
||||
content/browser/zen-images/favicons/reddit.svg (../../zen/images/favicons/reddit.svg)
|
||||
content/browser/zen-images/favicons/x.svg (../../zen/images/favicons/x.svg)
|
||||
content/browser/zen-images/favicons/trello.svg (../../zen/images/favicons/trello.svg)
|
||||
#include ../../../zen/common/jar.inc.mn
|
||||
#include ../../../zen/compact-mode/jar.inc.mn
|
||||
#include ../../../zen/split-view/jar.inc.mn
|
||||
#include ../../../zen/mods/jar.inc.mn
|
||||
#include ../../../zen/workspaces/jar.inc.mn
|
||||
#include ../../../zen/tabs/jar.inc.mn
|
||||
#include ../../../zen/kbs/jar.inc.mn
|
||||
#include ../../../zen/glance/jar.inc.mn
|
||||
#include ../../../zen/folders/jar.inc.mn
|
||||
#include ../../../zen/welcome/jar.inc.mn
|
||||
#include ../../../zen/media/jar.inc.mn
|
||||
#include ../../../zen/downloads/jar.inc.mn
|
||||
#include ../../../zen/images/jar.inc.mn
|
||||
#include ../../../zen/vendor/jar.inc.mn
|
||||
#include ../../../zen/fonts/jar.inc.mn
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
# the window is fully loaded.
|
||||
# Make sure they are loaded before the global-scripts.inc file.
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-sets.js"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenHasPolyfill.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenCommonUtils.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenKeyboardShortcuts.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenWorkspaceIcons.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenWorkspace.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenWorkspaces.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenWorkspacesSync.mjs"></script>
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-components/ZenSessionStore.mjs"></script>
|
||||
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenKeyboardShortcuts.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenHasPolyfill.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenSessionStore.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenWorkspaces.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenWorkspace.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenWorkspaceIcons.mjs"></script>
|
||||
@@ -1,8 +1,20 @@
|
||||
/* eslint-disable no-undef */
|
||||
/* eslint-disable no-undef, no-unused-vars */
|
||||
// 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 { nsZenMultiWindowFeature } = ChromeUtils.importESModule(
|
||||
'chrome://browser/content/zen-components/ZenCommonUtils.mjs',
|
||||
{ global: 'current' }
|
||||
);
|
||||
|
||||
const { nsKeyShortcutModifiers } = ChromeUtils.importESModule(
|
||||
'chrome://browser/content/zen-components/ZenKeyboardShortcuts.mjs',
|
||||
{
|
||||
global: 'current',
|
||||
}
|
||||
);
|
||||
|
||||
var gZenMarketplaceManager = {
|
||||
async init() {
|
||||
const checkForUpdates = document.getElementById('zenThemeMarketplaceCheckForUpdates');
|
||||
@@ -634,7 +646,6 @@ var gZenMarketplaceManager = {
|
||||
const kZenExtendedSidebar = 'zen.view.sidebar-expanded';
|
||||
const kZenSingleToolbar = 'zen.view.use-single-toolbar';
|
||||
|
||||
/* eslint-disable no-unused-vars */
|
||||
var gZenLooksAndFeel = {
|
||||
init() {
|
||||
if (this.__hasInitialized) return;
|
||||
@@ -696,7 +707,6 @@ var gZenLooksAndFeel = {
|
||||
},
|
||||
};
|
||||
|
||||
/* eslint-disable no-unused-vars */
|
||||
var gZenWorkspacesSettings = {
|
||||
init() {
|
||||
var tabsUnloaderPrefListener = {
|
||||
@@ -751,7 +761,7 @@ const ZEN_CKS_WRAPPER_ID = `${ZEN_CKS_CLASS_BASE}-wrapper`;
|
||||
const ZEN_CKS_GROUP_PREFIX = `${ZEN_CKS_CLASS_BASE}-group`;
|
||||
const KEYBIND_ATTRIBUTE_KEY = 'key';
|
||||
|
||||
var zenMissingKeyboardShortcutL10n = {
|
||||
const zenMissingKeyboardShortcutL10n = {
|
||||
key_quickRestart: 'zen-key-quick-restart',
|
||||
key_delete: 'zen-key-delete',
|
||||
goBackKb: 'zen-key-go-back',
|
||||
@@ -805,7 +815,6 @@ var zenIgnoreKeyboardShortcutL10n = [
|
||||
'zen-full-zoom-reduce-shortcut-alt-a',
|
||||
];
|
||||
|
||||
/* eslint-disable no-unused-vars */
|
||||
var gZenCKSSettings = {
|
||||
async init() {
|
||||
await this._initializeCKS();
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
# 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/.
|
||||
|
||||
<script src="chrome://browser/content/zen-components/ZenKeyboardShortcuts.mjs"/>
|
||||
<html:template id="template-paneZenCKS">
|
||||
<hbox id="ZenCKSCategory"
|
||||
class="subcategory"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# 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/.
|
||||
|
||||
<script src="chrome://browser/content/preferences/zen-settings.js"/>
|
||||
<script type="text/javascript" src="chrome://browser/content/preferences/zen-settings.js"/>
|
||||
<html:template id="template-paneZenLooks">
|
||||
|
||||
<hbox id="zenVerticalTabsCategory"
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
# 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/.
|
||||
|
||||
<script src="chrome://browser/content/zen-components/ZenCommonUtils.mjs" defer=""/>
|
||||
<html:template id="template-paneZenMarketplace">
|
||||
<hbox id="ZenMarketplaceCategory"
|
||||
class="subcategory"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
diff --git a/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs b/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
|
||||
index bcd7689e9d68ef8b171c327188174334c4271e21..f69180acb87644f109aa91b871e347f1b1835f53 100644
|
||||
index bcd7689e9d68ef8b171c327188174334c4271e21..0a95e1137fdf4b63e0d841776ad934da1a513c6f 100644
|
||||
--- a/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
|
||||
+++ b/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
|
||||
@@ -938,6 +938,7 @@ export class AsyncTabSwitcher {
|
||||
this.tabbrowser._printPreviewBrowsers.has(browser) ||
|
||||
this.tabbrowser.splitViewBrowsers.includes(browser) ||
|
||||
lazy.PictureInPicture.isOriginatingBrowser(browser)
|
||||
+ || browser?.parentNode?.parentNode?.parentNode?.classList?.contains("zen-glance-background")
|
||||
+ || browser?.zenModeActive
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
||||
index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326cbd973686 100644
|
||||
index c0eafd4faf8d57b8486c5bf8917375850ec8147e..cead9e6e52f7354e20b8b64ad06a075e6923fe5f 100644
|
||||
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
||||
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
||||
@@ -450,15 +450,64 @@
|
||||
@@ -386,6 +386,7 @@
|
||||
* @type {MozBrowser[]}
|
||||
*/
|
||||
get splitViewBrowsers() {
|
||||
+ return gZenViewSplitter.splitViewBrowsers;
|
||||
const browsers = [];
|
||||
if (this.#activeSplitView) {
|
||||
for (const tab of this.#activeSplitView.tabs) {
|
||||
@@ -450,15 +451,64 @@
|
||||
return this.tabContainer.visibleTabs;
|
||||
}
|
||||
|
||||
@@ -69,7 +77,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
set selectedTab(val) {
|
||||
if (
|
||||
gSharedTabWarning.willShowSharedTabWarning(val) ||
|
||||
@@ -613,6 +662,7 @@
|
||||
@@ -613,6 +663,7 @@
|
||||
this.tabpanels.appendChild(panel);
|
||||
|
||||
let tab = this.tabs[0];
|
||||
@@ -77,7 +85,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
tab.linkedPanel = uniqueId;
|
||||
this._selectedTab = tab;
|
||||
this._selectedBrowser = browser;
|
||||
@@ -898,13 +948,17 @@
|
||||
@@ -898,13 +949,17 @@
|
||||
}
|
||||
|
||||
this.showTab(aTab);
|
||||
@@ -96,7 +104,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
|
||||
aTab.setAttribute("pinned", "true");
|
||||
this._updateTabBarForPinnedTabs();
|
||||
@@ -917,11 +971,15 @@
|
||||
@@ -917,11 +972,15 @@
|
||||
}
|
||||
|
||||
this.#handleTabMove(aTab, () => {
|
||||
@@ -113,7 +121,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
});
|
||||
|
||||
aTab.style.marginInlineStart = "";
|
||||
@@ -1098,6 +1156,8 @@
|
||||
@@ -1098,6 +1157,8 @@
|
||||
|
||||
let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"];
|
||||
|
||||
@@ -122,7 +130,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
if (
|
||||
aIconURL &&
|
||||
!LOCAL_PROTOCOLS.some(protocol => aIconURL.startsWith(protocol))
|
||||
@@ -1107,6 +1167,9 @@
|
||||
@@ -1107,6 +1168,9 @@
|
||||
);
|
||||
return;
|
||||
}
|
||||
@@ -132,7 +140,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
|
||||
let browser = this.getBrowserForTab(aTab);
|
||||
browser.mIconURL = aIconURL;
|
||||
@@ -1379,7 +1442,6 @@
|
||||
@@ -1379,7 +1443,6 @@
|
||||
|
||||
// Preview mode should not reset the owner
|
||||
if (!this._previewMode && !oldTab.selected) {
|
||||
@@ -140,7 +148,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
}
|
||||
|
||||
let lastRelatedTab = this._lastRelatedTabMap.get(oldTab);
|
||||
@@ -1470,6 +1532,7 @@
|
||||
@@ -1470,6 +1533,7 @@
|
||||
if (!this._previewMode) {
|
||||
newTab.recordTimeFromUnloadToReload();
|
||||
newTab.updateLastAccessed();
|
||||
@@ -148,7 +156,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
oldTab.updateLastAccessed();
|
||||
// if this is the foreground window, update the last-seen timestamps.
|
||||
if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) {
|
||||
@@ -1622,6 +1685,9 @@
|
||||
@@ -1622,6 +1686,9 @@
|
||||
}
|
||||
|
||||
let activeEl = document.activeElement;
|
||||
@@ -158,7 +166,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
// If focus is on the old tab, move it to the new tab.
|
||||
if (activeEl == oldTab) {
|
||||
newTab.focus();
|
||||
@@ -1945,7 +2011,8 @@
|
||||
@@ -1945,7 +2012,8 @@
|
||||
}
|
||||
|
||||
_setTabLabel(aTab, aLabel, { beforeTabOpen, isContentTitle, isURL } = {}) {
|
||||
@@ -168,7 +176,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -2053,7 +2120,7 @@
|
||||
@@ -2053,7 +2121,7 @@
|
||||
newIndex = this.selectedTab._tPos + 1;
|
||||
}
|
||||
|
||||
@@ -177,7 +185,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
if (this.isTabGroupLabel(targetTab)) {
|
||||
throw new Error(
|
||||
"Replacing a tab group label with a tab is not supported"
|
||||
@@ -2328,6 +2395,7 @@
|
||||
@@ -2328,6 +2396,7 @@
|
||||
uriIsAboutBlank,
|
||||
userContextId,
|
||||
skipLoad,
|
||||
@@ -185,7 +193,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
} = {}) {
|
||||
let b = document.createXULElement("browser");
|
||||
// Use the JSM global to create the permanentKey, so that if the
|
||||
@@ -2401,8 +2469,7 @@
|
||||
@@ -2401,8 +2470,7 @@
|
||||
// we use a different attribute name for this?
|
||||
b.setAttribute("name", name);
|
||||
}
|
||||
@@ -195,7 +203,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
b.setAttribute("transparent", "true");
|
||||
}
|
||||
|
||||
@@ -2567,7 +2634,7 @@
|
||||
@@ -2567,7 +2635,7 @@
|
||||
|
||||
let panel = this.getPanel(browser);
|
||||
let uniqueId = this._generateUniquePanelID();
|
||||
@@ -204,7 +212,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
aTab.linkedPanel = uniqueId;
|
||||
|
||||
// Inject the <browser> into the DOM if necessary.
|
||||
@@ -2626,8 +2693,8 @@
|
||||
@@ -2626,8 +2694,8 @@
|
||||
// If we transitioned from one browser to two browsers, we need to set
|
||||
// hasSiblings=false on both the existing browser and the new browser.
|
||||
if (this.tabs.length == 2) {
|
||||
@@ -215,7 +223,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
} else {
|
||||
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
||||
}
|
||||
@@ -2814,7 +2881,6 @@
|
||||
@@ -2814,7 +2882,6 @@
|
||||
this.selectedTab = this.addTrustedTab(BROWSER_NEW_TAB_URL, {
|
||||
tabIndex: tab._tPos + 1,
|
||||
userContextId: tab.userContextId,
|
||||
@@ -223,7 +231,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
focusUrlBar: true,
|
||||
});
|
||||
resolve(this.selectedBrowser);
|
||||
@@ -2923,6 +2989,8 @@
|
||||
@@ -2923,6 +2990,8 @@
|
||||
schemelessInput,
|
||||
hasValidUserGestureActivation = false,
|
||||
textDirectiveUserActivation = false,
|
||||
@@ -232,7 +240,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
} = {}
|
||||
) {
|
||||
// all callers of addTab that pass a params object need to pass
|
||||
@@ -2933,10 +3001,17 @@
|
||||
@@ -2933,10 +3002,17 @@
|
||||
);
|
||||
}
|
||||
|
||||
@@ -250,7 +258,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
// If we're opening a foreground tab, set the owner by default.
|
||||
ownerTab ??= inBackground ? null : this.selectedTab;
|
||||
|
||||
@@ -2944,6 +3019,7 @@
|
||||
@@ -2944,6 +3020,7 @@
|
||||
if (this.selectedTab.owner) {
|
||||
this.selectedTab.owner = null;
|
||||
}
|
||||
@@ -258,7 +266,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
|
||||
// Find the tab that opened this one, if any. This is used for
|
||||
// determining positioning, and inherited attributes such as the
|
||||
@@ -2996,6 +3072,19 @@
|
||||
@@ -2996,6 +3073,19 @@
|
||||
noInitialLabel,
|
||||
skipBackgroundNotify,
|
||||
});
|
||||
@@ -278,7 +286,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
if (insertTab) {
|
||||
// Insert the tab into the tab container in the correct position.
|
||||
this.#insertTabAtIndex(t, {
|
||||
@@ -3004,6 +3093,7 @@
|
||||
@@ -3004,6 +3094,7 @@
|
||||
ownerTab,
|
||||
openerTab,
|
||||
pinned,
|
||||
@@ -286,7 +294,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
bulkOrderedOpen,
|
||||
tabGroup: tabGroup ?? openerTab?.group,
|
||||
});
|
||||
@@ -3022,6 +3112,7 @@
|
||||
@@ -3022,6 +3113,7 @@
|
||||
openWindowInfo,
|
||||
skipLoad,
|
||||
triggeringRemoteType,
|
||||
@@ -294,7 +302,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
}));
|
||||
|
||||
if (focusUrlBar) {
|
||||
@@ -3146,6 +3237,12 @@
|
||||
@@ -3146,6 +3238,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -307,7 +315,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
// Additionally send pinned tab events
|
||||
if (pinned) {
|
||||
this.#notifyPinnedStatus(t);
|
||||
@@ -3330,10 +3427,10 @@
|
||||
@@ -3330,10 +3428,10 @@
|
||||
isAdoptingGroup = false,
|
||||
isUserTriggered = false,
|
||||
telemetryUserCreateSource = "unknown",
|
||||
@@ -319,7 +327,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
}
|
||||
|
||||
if (!color) {
|
||||
@@ -3354,9 +3451,14 @@
|
||||
@@ -3354,9 +3452,14 @@
|
||||
label,
|
||||
isAdoptingGroup
|
||||
);
|
||||
@@ -336,7 +344,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
);
|
||||
group.addTabs(tabs);
|
||||
|
||||
@@ -3477,7 +3579,7 @@
|
||||
@@ -3477,7 +3580,7 @@
|
||||
}
|
||||
|
||||
this.#handleTabMove(tab, () =>
|
||||
@@ -345,7 +353,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
);
|
||||
}
|
||||
|
||||
@@ -3679,6 +3781,7 @@
|
||||
@@ -3679,6 +3782,7 @@
|
||||
openWindowInfo,
|
||||
skipLoad,
|
||||
triggeringRemoteType,
|
||||
@@ -353,7 +361,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
}
|
||||
) {
|
||||
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
|
||||
@@ -3748,6 +3851,7 @@
|
||||
@@ -3748,6 +3852,7 @@
|
||||
openWindowInfo,
|
||||
name,
|
||||
skipLoad,
|
||||
@@ -361,7 +369,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3935,7 +4039,7 @@
|
||||
@@ -3935,7 +4040,7 @@
|
||||
// Add a new tab if needed.
|
||||
if (!tab) {
|
||||
let createLazyBrowser =
|
||||
@@ -370,7 +378,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
|
||||
let url = "about:blank";
|
||||
if (tabData.entries?.length) {
|
||||
@@ -3972,8 +4076,10 @@
|
||||
@@ -3972,8 +4077,10 @@
|
||||
insertTab: false,
|
||||
skipLoad: true,
|
||||
preferredRemoteType,
|
||||
@@ -382,7 +390,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
if (select) {
|
||||
tabToSelect = tab;
|
||||
}
|
||||
@@ -3985,7 +4091,8 @@
|
||||
@@ -3985,7 +4092,8 @@
|
||||
this.pinTab(tab);
|
||||
// Then ensure all the tab open/pinning information is sent.
|
||||
this._fireTabOpen(tab, {});
|
||||
@@ -392,7 +400,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
let { groupId } = tabData;
|
||||
const tabGroup = tabGroupWorkingData.get(groupId);
|
||||
// if a tab refers to a tab group we don't know, skip any group
|
||||
@@ -3999,7 +4106,10 @@
|
||||
@@ -3999,7 +4107,10 @@
|
||||
tabGroup.stateData.id,
|
||||
tabGroup.stateData.color,
|
||||
tabGroup.stateData.collapsed,
|
||||
@@ -404,7 +412,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
);
|
||||
tabsFragment.appendChild(tabGroup.node);
|
||||
}
|
||||
@@ -4044,9 +4154,23 @@
|
||||
@@ -4044,9 +4155,23 @@
|
||||
// to remove the old selected tab.
|
||||
if (tabToSelect) {
|
||||
let leftoverTab = this.selectedTab;
|
||||
@@ -428,7 +436,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
|
||||
if (tabs.length > 1 || !tabs[0].selected) {
|
||||
this._updateTabsAfterInsert();
|
||||
@@ -4237,11 +4361,14 @@
|
||||
@@ -4237,11 +4362,14 @@
|
||||
if (ownerTab) {
|
||||
tab.owner = ownerTab;
|
||||
}
|
||||
@@ -444,7 +452,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
if (
|
||||
!bulkOrderedOpen &&
|
||||
((openerTab &&
|
||||
@@ -4253,7 +4380,7 @@
|
||||
@@ -4253,7 +4381,7 @@
|
||||
let lastRelatedTab =
|
||||
openerTab && this._lastRelatedTabMap.get(openerTab);
|
||||
let previousTab = lastRelatedTab || openerTab || this.selectedTab;
|
||||
@@ -453,7 +461,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
tabGroup = previousTab.group;
|
||||
}
|
||||
if (
|
||||
@@ -4264,7 +4391,7 @@
|
||||
@@ -4264,7 +4392,7 @@
|
||||
) {
|
||||
elementIndex = Infinity;
|
||||
} else if (previousTab.visible) {
|
||||
@@ -462,7 +470,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
} else if (previousTab == FirefoxViewHandler.tab) {
|
||||
elementIndex = 0;
|
||||
}
|
||||
@@ -4292,14 +4419,14 @@
|
||||
@@ -4292,14 +4420,14 @@
|
||||
}
|
||||
// Ensure index is within bounds.
|
||||
if (tab.pinned) {
|
||||
@@ -481,7 +489,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
|
||||
if (pinned && !itemAfter?.pinned) {
|
||||
itemAfter = null;
|
||||
@@ -4310,7 +4437,7 @@
|
||||
@@ -4310,7 +4438,7 @@
|
||||
|
||||
this.tabContainer._invalidateCachedTabs();
|
||||
|
||||
@@ -490,7 +498,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
if (this.isTab(itemAfter) && itemAfter.group == tabGroup) {
|
||||
// Place at the front of, or between tabs in, the same tab group
|
||||
this.tabContainer.insertBefore(tab, itemAfter);
|
||||
@@ -4338,7 +4465,11 @@
|
||||
@@ -4338,7 +4466,11 @@
|
||||
const tabContainer = pinned
|
||||
? this.tabContainer.pinnedTabsContainer
|
||||
: this.tabContainer;
|
||||
@@ -502,7 +510,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
}
|
||||
|
||||
this._updateTabsAfterInsert();
|
||||
@@ -4346,6 +4477,7 @@
|
||||
@@ -4346,6 +4478,7 @@
|
||||
if (pinned) {
|
||||
this._updateTabBarForPinnedTabs();
|
||||
}
|
||||
@@ -510,7 +518,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
|
||||
TabBarVisibility.update();
|
||||
}
|
||||
@@ -4635,6 +4767,9 @@
|
||||
@@ -4635,6 +4768,9 @@
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -520,7 +528,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
this.removeTabs(selectedTabs, { isUserTriggered, telemetrySource });
|
||||
}
|
||||
|
||||
@@ -4896,6 +5031,7 @@
|
||||
@@ -4896,6 +5032,7 @@
|
||||
telemetrySource,
|
||||
} = {}
|
||||
) {
|
||||
@@ -528,7 +536,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs
|
||||
// can be considered equivalent to closing the window.
|
||||
if (
|
||||
@@ -4985,6 +5121,7 @@
|
||||
@@ -4985,6 +5122,7 @@
|
||||
if (lastToClose) {
|
||||
this.removeTab(lastToClose, aParams);
|
||||
}
|
||||
@@ -536,7 +544,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
@@ -5023,6 +5160,12 @@
|
||||
@@ -5023,6 +5161,12 @@
|
||||
aTab._closeTimeNoAnimTimerId = Glean.browserTabclose.timeNoAnim.start();
|
||||
}
|
||||
|
||||
@@ -549,7 +557,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
// Handle requests for synchronously removing an already
|
||||
// asynchronously closing tab.
|
||||
if (!animate && aTab.closing) {
|
||||
@@ -5037,6 +5180,9 @@
|
||||
@@ -5037,6 +5181,9 @@
|
||||
// state).
|
||||
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
|
||||
let isLastTab = this.#isLastTabInWindow(aTab);
|
||||
@@ -559,7 +567,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
if (
|
||||
!this._beginRemoveTab(aTab, {
|
||||
closeWindowFastpath: true,
|
||||
@@ -5085,7 +5231,13 @@
|
||||
@@ -5085,7 +5232,13 @@
|
||||
// We're not animating, so we can cancel the animation stopwatch.
|
||||
Glean.browserTabclose.timeAnim.cancel(aTab._closeTimeAnimTimerId);
|
||||
aTab._closeTimeAnimTimerId = null;
|
||||
@@ -574,7 +582,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -5219,7 +5371,7 @@
|
||||
@@ -5219,7 +5372,7 @@
|
||||
closeWindowWithLastTab != null
|
||||
? closeWindowWithLastTab
|
||||
: !window.toolbar.visible ||
|
||||
@@ -583,7 +591,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
|
||||
if (closeWindow) {
|
||||
// We've already called beforeunload on all the relevant tabs if we get here,
|
||||
@@ -5243,6 +5395,7 @@
|
||||
@@ -5243,6 +5396,7 @@
|
||||
|
||||
newTab = true;
|
||||
}
|
||||
@@ -591,7 +599,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
aTab._endRemoveArgs = [closeWindow, newTab];
|
||||
|
||||
// swapBrowsersAndCloseOther will take care of closing the window without animation.
|
||||
@@ -5283,13 +5436,7 @@
|
||||
@@ -5283,13 +5437,7 @@
|
||||
aTab._mouseleave();
|
||||
|
||||
if (newTab) {
|
||||
@@ -606,7 +614,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
} else {
|
||||
TabBarVisibility.update();
|
||||
}
|
||||
@@ -5422,6 +5569,7 @@
|
||||
@@ -5422,6 +5570,7 @@
|
||||
this.tabs[i]._tPos = i;
|
||||
}
|
||||
|
||||
@@ -614,7 +622,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
if (!this._windowIsClosing) {
|
||||
// update tab close buttons state
|
||||
this.tabContainer._updateCloseButtons();
|
||||
@@ -5643,6 +5791,7 @@
|
||||
@@ -5643,6 +5792,7 @@
|
||||
}
|
||||
|
||||
let excludeTabs = new Set(aExcludeTabs);
|
||||
@@ -622,7 +630,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
|
||||
// If this tab has a successor, it should be selectable, since
|
||||
// hiding or closing a tab removes that tab as a successor.
|
||||
@@ -5655,13 +5804,13 @@
|
||||
@@ -5655,13 +5805,13 @@
|
||||
!excludeTabs.has(aTab.owner) &&
|
||||
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
|
||||
) {
|
||||
@@ -638,7 +646,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
);
|
||||
|
||||
let tab = this.tabContainer.findNextTab(aTab, {
|
||||
@@ -5677,7 +5826,7 @@
|
||||
@@ -5677,7 +5827,7 @@
|
||||
}
|
||||
|
||||
if (tab) {
|
||||
@@ -647,7 +655,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
}
|
||||
|
||||
// If no qualifying visible tab was found, see if there is a tab in
|
||||
@@ -5698,7 +5847,7 @@
|
||||
@@ -5698,7 +5848,7 @@
|
||||
});
|
||||
}
|
||||
|
||||
@@ -656,7 +664,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
}
|
||||
|
||||
_blurTab(aTab) {
|
||||
@@ -6104,10 +6253,10 @@
|
||||
@@ -6104,10 +6254,10 @@
|
||||
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
||||
}
|
||||
|
||||
@@ -669,7 +677,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
aTab.selected ||
|
||||
aTab.closing ||
|
||||
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
||||
@@ -6166,6 +6315,7 @@
|
||||
@@ -6166,6 +6316,7 @@
|
||||
* @param {MozTabbrowserTab|MozTabbrowserTabGroup|MozTabbrowserTabGroup.labelElement} aTab
|
||||
*/
|
||||
replaceTabWithWindow(aTab, aOptions) {
|
||||
@@ -677,7 +685,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
if (this.tabs.length == 1) {
|
||||
return null;
|
||||
}
|
||||
@@ -6299,7 +6449,7 @@
|
||||
@@ -6299,7 +6450,7 @@
|
||||
* `true` if element is a `<tab-group>`
|
||||
*/
|
||||
isTabGroup(element) {
|
||||
@@ -686,7 +694,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -6375,8 +6525,8 @@
|
||||
@@ -6375,8 +6526,8 @@
|
||||
}
|
||||
|
||||
// Don't allow mixing pinned and unpinned tabs.
|
||||
@@ -697,7 +705,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
} else {
|
||||
tabIndex = Math.max(tabIndex, this.pinnedTabCount);
|
||||
}
|
||||
@@ -6402,10 +6552,16 @@
|
||||
@@ -6402,10 +6553,16 @@
|
||||
this.#handleTabMove(
|
||||
element,
|
||||
() => {
|
||||
@@ -716,7 +724,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
if (neighbor && this.isTab(element) && tabIndex > element._tPos) {
|
||||
neighbor.after(element);
|
||||
} else {
|
||||
@@ -6463,23 +6619,28 @@
|
||||
@@ -6463,23 +6620,28 @@
|
||||
#moveTabNextTo(element, targetElement, moveBefore = false, metricsContext) {
|
||||
if (this.isTabGroupLabel(targetElement)) {
|
||||
targetElement = targetElement.group;
|
||||
@@ -751,7 +759,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
} else if (!element.pinned && targetElement && targetElement.pinned) {
|
||||
// If the caller asks to move an unpinned element next to a pinned
|
||||
// tab, move the unpinned element to be the first unpinned element
|
||||
@@ -6492,14 +6653,34 @@
|
||||
@@ -6492,14 +6654,34 @@
|
||||
// move the tab group right before the first unpinned tab.
|
||||
// 4. Moving a tab group and the first unpinned tab is grouped:
|
||||
// move the tab group right before the first unpinned tab's tab group.
|
||||
@@ -787,7 +795,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
element.pinned
|
||||
? this.tabContainer.pinnedTabsContainer
|
||||
: this.tabContainer;
|
||||
@@ -6508,7 +6689,7 @@
|
||||
@@ -6508,7 +6690,7 @@
|
||||
element,
|
||||
() => {
|
||||
if (moveBefore) {
|
||||
@@ -796,7 +804,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
} else if (targetElement) {
|
||||
targetElement.after(element);
|
||||
} else {
|
||||
@@ -6580,10 +6761,10 @@
|
||||
@@ -6580,10 +6762,10 @@
|
||||
* @param {TabMetricsContext} [metricsContext]
|
||||
*/
|
||||
moveTabToGroup(aTab, aGroup, metricsContext) {
|
||||
@@ -809,7 +817,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
return;
|
||||
}
|
||||
if (aTab.group && aTab.group.id === aGroup.id) {
|
||||
@@ -6613,6 +6794,7 @@
|
||||
@@ -6613,6 +6795,7 @@
|
||||
|
||||
let state = {
|
||||
tabIndex: tab._tPos,
|
||||
@@ -817,7 +825,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
};
|
||||
if (tab.visible) {
|
||||
state.elementIndex = tab.elementIndex;
|
||||
@@ -6639,7 +6821,7 @@
|
||||
@@ -6639,7 +6822,7 @@
|
||||
let changedTabGroup =
|
||||
previousTabState.tabGroupId != currentTabState.tabGroupId;
|
||||
|
||||
@@ -826,7 +834,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
tab.dispatchEvent(
|
||||
new CustomEvent("TabMove", {
|
||||
bubbles: true,
|
||||
@@ -6676,6 +6858,10 @@
|
||||
@@ -6676,6 +6859,10 @@
|
||||
|
||||
moveActionCallback();
|
||||
|
||||
@@ -837,7 +845,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
// Clear tabs cache after moving nodes because the order of tabs may have
|
||||
// changed.
|
||||
this.tabContainer._invalidateCachedTabs();
|
||||
@@ -7576,7 +7762,7 @@
|
||||
@@ -7576,7 +7763,7 @@
|
||||
// preventDefault(). It will still raise the window if appropriate.
|
||||
break;
|
||||
}
|
||||
@@ -846,7 +854,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
window.focus();
|
||||
aEvent.preventDefault();
|
||||
break;
|
||||
@@ -7593,7 +7779,6 @@
|
||||
@@ -7593,7 +7780,6 @@
|
||||
}
|
||||
case "TabGroupCollapse":
|
||||
aEvent.target.tabs.forEach(tab => {
|
||||
@@ -854,7 +862,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
});
|
||||
break;
|
||||
case "TabGroupCreateByUser":
|
||||
@@ -8542,6 +8727,7 @@
|
||||
@@ -8542,6 +8728,7 @@
|
||||
aWebProgress.isTopLevel
|
||||
) {
|
||||
this.mTab.setAttribute("busy", "true");
|
||||
@@ -862,7 +870,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
||||
this.mTab._notselectedsinceload = !this.mTab.selected;
|
||||
}
|
||||
@@ -9543,7 +9729,7 @@ var TabContextMenu = {
|
||||
@@ -9543,7 +9730,7 @@ var TabContextMenu = {
|
||||
);
|
||||
contextUnpinSelectedTabs.hidden =
|
||||
!this.contextTab.pinned || !this.multiselected;
|
||||
@@ -871,7 +879,7 @@ index c0eafd4faf8d57b8486c5bf8917375850ec8147e..1bf95403333f914f082b38441d31326c
|
||||
// Build Ask Chat items
|
||||
TabContextMenu.GenAI.buildTabMenu(
|
||||
document.getElementById("context_askChat"),
|
||||
@@ -9863,6 +10049,7 @@ var TabContextMenu = {
|
||||
@@ -9863,6 +10050,7 @@ var TabContextMenu = {
|
||||
)
|
||||
);
|
||||
} else {
|
||||
|
||||
15
src/browser/components/urlbar/UrlbarResult-sys-mjs.patch
Normal file
15
src/browser/components/urlbar/UrlbarResult-sys-mjs.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
diff --git a/browser/components/urlbar/UrlbarResult.sys.mjs b/browser/components/urlbar/UrlbarResult.sys.mjs
|
||||
index 0882c0a01d17184cadb56aa1236ca97adf7f866b..4a5842eda6280205b96f9aee9b6f3b49fac7077c 100644
|
||||
--- a/browser/components/urlbar/UrlbarResult.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarResult.sys.mjs
|
||||
@@ -172,6 +172,10 @@ export class UrlbarResult {
|
||||
return this.#heuristic;
|
||||
}
|
||||
|
||||
+ set heuristic(value) {
|
||||
+ this.#heuristic = value;
|
||||
+ }
|
||||
+
|
||||
get hideRowLabel() {
|
||||
return this.#hideRowLabel;
|
||||
}
|
||||
73
src/browser/themes/shared/zen-icons/check_unused_icons.py
Normal file
73
src/browser/themes/shared/zen-icons/check_unused_icons.py
Normal file
@@ -0,0 +1,73 @@
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
# Note: You'll need to be on the root directory of the repo to run this script:
|
||||
# python3 src/browser/themes/shared/zen-icons/check_unused_icons.py
|
||||
|
||||
import os
|
||||
import sys
|
||||
import argparse
|
||||
|
||||
IGNORE_DIRS = ['node_modules', 'engine']
|
||||
|
||||
|
||||
def get_all_icon_files(icon_dir):
|
||||
icon_files = []
|
||||
for root, _, files in os.walk(icon_dir):
|
||||
for file in files:
|
||||
if file.endswith('.svg'):
|
||||
icon_files.append(file)
|
||||
return icon_files
|
||||
|
||||
|
||||
def find_icon_usage(icon_files):
|
||||
used_icons = set()
|
||||
for root, _, files in os.walk('src'):
|
||||
if any(ignored in root for ignored in IGNORE_DIRS):
|
||||
continue
|
||||
for file in files:
|
||||
# ignore jar files
|
||||
if file.endswith(('.mn')):
|
||||
continue
|
||||
try:
|
||||
with open(os.path.join(root, file), 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
for icon in icon_files:
|
||||
if icon in content:
|
||||
used_icons.add(icon)
|
||||
except BaseException:
|
||||
continue
|
||||
return used_icons
|
||||
|
||||
|
||||
def main(args):
|
||||
parser = argparse.ArgumentParser(description='Check for unused zen icons.')
|
||||
parser.add_argument('--remove', action='store_true', help='Remove unused icons')
|
||||
parsed_args = parser.parse_args(args)
|
||||
|
||||
icon_dir = 'src/browser/themes/shared/zen-icons/lin'
|
||||
icon_files = get_all_icon_files(icon_dir)
|
||||
used_icons = find_icon_usage(icon_files)
|
||||
|
||||
unused_icons = set(icon_files) - used_icons
|
||||
|
||||
if unused_icons:
|
||||
print("Unused icons:")
|
||||
for icon in sorted(unused_icons):
|
||||
if parsed_args.remove:
|
||||
os.remove(os.path.join(icon_dir, icon))
|
||||
print(f"Removed {icon}")
|
||||
else:
|
||||
print(icon)
|
||||
else:
|
||||
print("No unused icons found.")
|
||||
|
||||
if parsed_args.remove:
|
||||
print("Unused icons removed.")
|
||||
os.chdir('src/browser/themes/shared/zen-icons')
|
||||
os.system("sh ./update-resources.sh")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(sys.argv[1:])
|
||||
@@ -3,13 +3,10 @@
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
#ifdef XP_WIN
|
||||
* skin/classic/browser/zen-icons/accessibility.svg (../shared/zen-icons/lin/accessibility.svg)
|
||||
* skin/classic/browser/zen-icons/add-to-dictionary.svg (../shared/zen-icons/lin/add-to-dictionary.svg)
|
||||
* skin/classic/browser/zen-icons/arrow-down.svg (../shared/zen-icons/lin/arrow-down.svg)
|
||||
* skin/classic/browser/zen-icons/arrow-left.svg (../shared/zen-icons/lin/arrow-left.svg)
|
||||
* skin/classic/browser/zen-icons/arrow-right.svg (../shared/zen-icons/lin/arrow-right.svg)
|
||||
* skin/classic/browser/zen-icons/arrow-up.svg (../shared/zen-icons/lin/arrow-up.svg)
|
||||
* skin/classic/browser/zen-icons/audio-save.svg (../shared/zen-icons/lin/audio-save.svg)
|
||||
* skin/classic/browser/zen-icons/autoplay-media-blocked.svg (../shared/zen-icons/lin/autoplay-media-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/lin/autoplay-media-fill.svg)
|
||||
* skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/lin/autoplay-media.svg)
|
||||
@@ -22,9 +19,7 @@
|
||||
* skin/classic/browser/zen-icons/camera.svg (../shared/zen-icons/lin/camera.svg)
|
||||
* skin/classic/browser/zen-icons/canvas-blocked.svg (../shared/zen-icons/lin/canvas-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/canvas.svg (../shared/zen-icons/lin/canvas.svg)
|
||||
* skin/classic/browser/zen-icons/checkmark.svg (../shared/zen-icons/lin/checkmark.svg)
|
||||
* skin/classic/browser/zen-icons/chevron.svg (../shared/zen-icons/lin/chevron.svg)
|
||||
* skin/classic/browser/zen-icons/close-all.svg (../shared/zen-icons/lin/close-all.svg)
|
||||
* skin/classic/browser/zen-icons/close.svg (../shared/zen-icons/lin/close.svg)
|
||||
* skin/classic/browser/zen-icons/container-tab.svg (../shared/zen-icons/lin/container-tab.svg)
|
||||
* skin/classic/browser/zen-icons/cookies-fill.svg (../shared/zen-icons/lin/cookies-fill.svg)
|
||||
@@ -41,20 +36,14 @@
|
||||
* skin/classic/browser/zen-icons/edit-cut.svg (../shared/zen-icons/lin/edit-cut.svg)
|
||||
* skin/classic/browser/zen-icons/edit-delete.svg (../shared/zen-icons/lin/edit-delete.svg)
|
||||
* skin/classic/browser/zen-icons/edit-paste.svg (../shared/zen-icons/lin/edit-paste.svg)
|
||||
* skin/classic/browser/zen-icons/edit-redo.svg (../shared/zen-icons/lin/edit-redo.svg)
|
||||
* skin/classic/browser/zen-icons/edit-select-all.svg (../shared/zen-icons/lin/edit-select-all.svg)
|
||||
* skin/classic/browser/zen-icons/edit-theme.svg (../shared/zen-icons/lin/edit-theme.svg)
|
||||
* skin/classic/browser/zen-icons/edit-undo.svg (../shared/zen-icons/lin/edit-undo.svg)
|
||||
* skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
|
||||
* skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/lin/essential-add.svg)
|
||||
* skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
|
||||
* skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
|
||||
* skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
|
||||
* skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/extension-fill.svg (../shared/zen-icons/lin/extension-fill.svg)
|
||||
* skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
|
||||
* skin/classic/browser/zen-icons/face-sun.svg (../shared/zen-icons/lin/face-sun.svg)
|
||||
* skin/classic/browser/zen-icons/firefox.svg (../shared/zen-icons/lin/firefox.svg)
|
||||
* skin/classic/browser/zen-icons/folder.svg (../shared/zen-icons/lin/folder.svg)
|
||||
* skin/classic/browser/zen-icons/forget.svg (../shared/zen-icons/lin/forget.svg)
|
||||
* skin/classic/browser/zen-icons/forward.svg (../shared/zen-icons/lin/forward.svg)
|
||||
@@ -63,28 +52,21 @@
|
||||
* skin/classic/browser/zen-icons/geo-blocked.svg (../shared/zen-icons/lin/geo-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/geo-fill.svg (../shared/zen-icons/lin/geo-fill.svg)
|
||||
* skin/classic/browser/zen-icons/geo.svg (../shared/zen-icons/lin/geo.svg)
|
||||
* skin/classic/browser/zen-icons/heart-circle-fill.svg (../shared/zen-icons/lin/heart-circle-fill.svg)
|
||||
* skin/classic/browser/zen-icons/help.svg (../shared/zen-icons/lin/help.svg)
|
||||
* skin/classic/browser/zen-icons/history.svg (../shared/zen-icons/lin/history.svg)
|
||||
* skin/classic/browser/zen-icons/home.svg (../shared/zen-icons/lin/home.svg)
|
||||
* skin/classic/browser/zen-icons/image-copy.svg (../shared/zen-icons/lin/image-copy.svg)
|
||||
* skin/classic/browser/zen-icons/image-open.svg (../shared/zen-icons/lin/image-open.svg)
|
||||
* skin/classic/browser/zen-icons/image-save.svg (../shared/zen-icons/lin/image-save.svg)
|
||||
* skin/classic/browser/zen-icons/info.svg (../shared/zen-icons/lin/info.svg)
|
||||
* skin/classic/browser/zen-icons/inspect.svg (../shared/zen-icons/lin/inspect.svg)
|
||||
* skin/classic/browser/zen-icons/library.svg (../shared/zen-icons/lin/library.svg)
|
||||
* skin/classic/browser/zen-icons/link.svg (../shared/zen-icons/lin/link.svg)
|
||||
* skin/classic/browser/zen-icons/mail.svg (../shared/zen-icons/lin/mail.svg)
|
||||
* skin/classic/browser/zen-icons/manage.svg (../shared/zen-icons/lin/manage.svg)
|
||||
* skin/classic/browser/zen-icons/media-loop.svg (../shared/zen-icons/lin/media-loop.svg)
|
||||
* skin/classic/browser/zen-icons/media-mute.svg (../shared/zen-icons/lin/media-mute.svg)
|
||||
* skin/classic/browser/zen-icons/media-next.svg (../shared/zen-icons/lin/media-next.svg)
|
||||
* skin/classic/browser/zen-icons/media-pause.svg (../shared/zen-icons/lin/media-pause.svg)
|
||||
* skin/classic/browser/zen-icons/media-pip.svg (../shared/zen-icons/lin/media-pip.svg)
|
||||
* skin/classic/browser/zen-icons/media-play.svg (../shared/zen-icons/lin/media-play.svg)
|
||||
* skin/classic/browser/zen-icons/media-previous.svg (../shared/zen-icons/lin/media-previous.svg)
|
||||
* skin/classic/browser/zen-icons/media-speed.svg (../shared/zen-icons/lin/media-speed.svg)
|
||||
* skin/classic/browser/zen-icons/media-unmute.svg (../shared/zen-icons/lin/media-unmute.svg)
|
||||
* skin/classic/browser/zen-icons/menu-bar.svg (../shared/zen-icons/lin/menu-bar.svg)
|
||||
* skin/classic/browser/zen-icons/menu.svg (../shared/zen-icons/lin/menu.svg)
|
||||
* skin/classic/browser/zen-icons/microphone-blocked-fill.svg (../shared/zen-icons/lin/microphone-blocked-fill.svg)
|
||||
* skin/classic/browser/zen-icons/microphone-blocked.svg (../shared/zen-icons/lin/microphone-blocked.svg)
|
||||
@@ -92,13 +74,11 @@
|
||||
* skin/classic/browser/zen-icons/microphone.svg (../shared/zen-icons/lin/microphone.svg)
|
||||
* skin/classic/browser/zen-icons/midi.svg (../shared/zen-icons/lin/midi.svg)
|
||||
* skin/classic/browser/zen-icons/moon-stars.svg (../shared/zen-icons/lin/moon-stars.svg)
|
||||
* skin/classic/browser/zen-icons/move-tab.svg (../shared/zen-icons/lin/move-tab.svg)
|
||||
* skin/classic/browser/zen-icons/new-tab-image.svg (../shared/zen-icons/lin/new-tab-image.svg)
|
||||
* skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/lin/open.svg)
|
||||
* skin/classic/browser/zen-icons/page-portrait.svg (../shared/zen-icons/lin/page-portrait.svg)
|
||||
* skin/classic/browser/zen-icons/palette.svg (../shared/zen-icons/lin/palette.svg)
|
||||
* skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/lin/passwords.svg)
|
||||
* skin/classic/browser/zen-icons/paste-and-go.svg (../shared/zen-icons/lin/paste-and-go.svg)
|
||||
* skin/classic/browser/zen-icons/permissions-fill.svg (../shared/zen-icons/lin/permissions-fill.svg)
|
||||
* skin/classic/browser/zen-icons/permissions.svg (../shared/zen-icons/lin/permissions.svg)
|
||||
* skin/classic/browser/zen-icons/persistent-storage-blocked.svg (../shared/zen-icons/lin/persistent-storage-blocked.svg)
|
||||
@@ -113,7 +93,6 @@
|
||||
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
|
||||
* skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/lin/reader-mode.svg)
|
||||
* skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/lin/reload.svg)
|
||||
* skin/classic/browser/zen-icons/report.svg (../shared/zen-icons/lin/report.svg)
|
||||
* skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/lin/save.svg)
|
||||
* skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/lin/screen-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/lin/screen.svg)
|
||||
@@ -130,7 +109,6 @@
|
||||
* skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/lin/sidebar-right.svg)
|
||||
* skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/lin/sidebar.svg)
|
||||
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
|
||||
* skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/lin/source-code.svg)
|
||||
* skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/lin/sparkles.svg)
|
||||
* skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/lin/spell-check.svg)
|
||||
* skin/classic/browser/zen-icons/split.svg (../shared/zen-icons/lin/split.svg)
|
||||
@@ -146,23 +124,17 @@
|
||||
* skin/classic/browser/zen-icons/unpin.svg (../shared/zen-icons/lin/unpin.svg)
|
||||
* skin/classic/browser/zen-icons/video-blocked-fill.svg (../shared/zen-icons/lin/video-blocked-fill.svg)
|
||||
* skin/classic/browser/zen-icons/video-fill.svg (../shared/zen-icons/lin/video-fill.svg)
|
||||
* skin/classic/browser/zen-icons/video-open.svg (../shared/zen-icons/lin/video-open.svg)
|
||||
* skin/classic/browser/zen-icons/video-save.svg (../shared/zen-icons/lin/video-save.svg)
|
||||
* skin/classic/browser/zen-icons/window.svg (../shared/zen-icons/lin/window.svg)
|
||||
* skin/classic/browser/zen-icons/xr-blocked.svg (../shared/zen-icons/lin/xr-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/xr-fill.svg (../shared/zen-icons/lin/xr-fill.svg)
|
||||
* skin/classic/browser/zen-icons/xr.svg (../shared/zen-icons/lin/xr.svg)
|
||||
* skin/classic/browser/zen-icons/zoom-control.svg (../shared/zen-icons/lin/zoom-control.svg)
|
||||
* skin/classic/browser/zen-icons/zoom-out.svg (../shared/zen-icons/lin/zoom-out.svg)
|
||||
#endif
|
||||
#ifdef XP_MACOSX
|
||||
* skin/classic/browser/zen-icons/accessibility.svg (../shared/zen-icons/lin/accessibility.svg)
|
||||
* skin/classic/browser/zen-icons/add-to-dictionary.svg (../shared/zen-icons/lin/add-to-dictionary.svg)
|
||||
* skin/classic/browser/zen-icons/arrow-down.svg (../shared/zen-icons/lin/arrow-down.svg)
|
||||
* skin/classic/browser/zen-icons/arrow-left.svg (../shared/zen-icons/lin/arrow-left.svg)
|
||||
* skin/classic/browser/zen-icons/arrow-right.svg (../shared/zen-icons/lin/arrow-right.svg)
|
||||
* skin/classic/browser/zen-icons/arrow-up.svg (../shared/zen-icons/lin/arrow-up.svg)
|
||||
* skin/classic/browser/zen-icons/audio-save.svg (../shared/zen-icons/lin/audio-save.svg)
|
||||
* skin/classic/browser/zen-icons/autoplay-media-blocked.svg (../shared/zen-icons/lin/autoplay-media-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/lin/autoplay-media-fill.svg)
|
||||
* skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/lin/autoplay-media.svg)
|
||||
@@ -175,9 +147,7 @@
|
||||
* skin/classic/browser/zen-icons/camera.svg (../shared/zen-icons/lin/camera.svg)
|
||||
* skin/classic/browser/zen-icons/canvas-blocked.svg (../shared/zen-icons/lin/canvas-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/canvas.svg (../shared/zen-icons/lin/canvas.svg)
|
||||
* skin/classic/browser/zen-icons/checkmark.svg (../shared/zen-icons/lin/checkmark.svg)
|
||||
* skin/classic/browser/zen-icons/chevron.svg (../shared/zen-icons/lin/chevron.svg)
|
||||
* skin/classic/browser/zen-icons/close-all.svg (../shared/zen-icons/lin/close-all.svg)
|
||||
* skin/classic/browser/zen-icons/close.svg (../shared/zen-icons/lin/close.svg)
|
||||
* skin/classic/browser/zen-icons/container-tab.svg (../shared/zen-icons/lin/container-tab.svg)
|
||||
* skin/classic/browser/zen-icons/cookies-fill.svg (../shared/zen-icons/lin/cookies-fill.svg)
|
||||
@@ -194,20 +164,14 @@
|
||||
* skin/classic/browser/zen-icons/edit-cut.svg (../shared/zen-icons/lin/edit-cut.svg)
|
||||
* skin/classic/browser/zen-icons/edit-delete.svg (../shared/zen-icons/lin/edit-delete.svg)
|
||||
* skin/classic/browser/zen-icons/edit-paste.svg (../shared/zen-icons/lin/edit-paste.svg)
|
||||
* skin/classic/browser/zen-icons/edit-redo.svg (../shared/zen-icons/lin/edit-redo.svg)
|
||||
* skin/classic/browser/zen-icons/edit-select-all.svg (../shared/zen-icons/lin/edit-select-all.svg)
|
||||
* skin/classic/browser/zen-icons/edit-theme.svg (../shared/zen-icons/lin/edit-theme.svg)
|
||||
* skin/classic/browser/zen-icons/edit-undo.svg (../shared/zen-icons/lin/edit-undo.svg)
|
||||
* skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
|
||||
* skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/lin/essential-add.svg)
|
||||
* skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
|
||||
* skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
|
||||
* skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
|
||||
* skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/extension-fill.svg (../shared/zen-icons/lin/extension-fill.svg)
|
||||
* skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
|
||||
* skin/classic/browser/zen-icons/face-sun.svg (../shared/zen-icons/lin/face-sun.svg)
|
||||
* skin/classic/browser/zen-icons/firefox.svg (../shared/zen-icons/lin/firefox.svg)
|
||||
* skin/classic/browser/zen-icons/folder.svg (../shared/zen-icons/lin/folder.svg)
|
||||
* skin/classic/browser/zen-icons/forget.svg (../shared/zen-icons/lin/forget.svg)
|
||||
* skin/classic/browser/zen-icons/forward.svg (../shared/zen-icons/lin/forward.svg)
|
||||
@@ -216,28 +180,21 @@
|
||||
* skin/classic/browser/zen-icons/geo-blocked.svg (../shared/zen-icons/lin/geo-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/geo-fill.svg (../shared/zen-icons/lin/geo-fill.svg)
|
||||
* skin/classic/browser/zen-icons/geo.svg (../shared/zen-icons/lin/geo.svg)
|
||||
* skin/classic/browser/zen-icons/heart-circle-fill.svg (../shared/zen-icons/lin/heart-circle-fill.svg)
|
||||
* skin/classic/browser/zen-icons/help.svg (../shared/zen-icons/lin/help.svg)
|
||||
* skin/classic/browser/zen-icons/history.svg (../shared/zen-icons/lin/history.svg)
|
||||
* skin/classic/browser/zen-icons/home.svg (../shared/zen-icons/lin/home.svg)
|
||||
* skin/classic/browser/zen-icons/image-copy.svg (../shared/zen-icons/lin/image-copy.svg)
|
||||
* skin/classic/browser/zen-icons/image-open.svg (../shared/zen-icons/lin/image-open.svg)
|
||||
* skin/classic/browser/zen-icons/image-save.svg (../shared/zen-icons/lin/image-save.svg)
|
||||
* skin/classic/browser/zen-icons/info.svg (../shared/zen-icons/lin/info.svg)
|
||||
* skin/classic/browser/zen-icons/inspect.svg (../shared/zen-icons/lin/inspect.svg)
|
||||
* skin/classic/browser/zen-icons/library.svg (../shared/zen-icons/lin/library.svg)
|
||||
* skin/classic/browser/zen-icons/link.svg (../shared/zen-icons/lin/link.svg)
|
||||
* skin/classic/browser/zen-icons/mail.svg (../shared/zen-icons/lin/mail.svg)
|
||||
* skin/classic/browser/zen-icons/manage.svg (../shared/zen-icons/lin/manage.svg)
|
||||
* skin/classic/browser/zen-icons/media-loop.svg (../shared/zen-icons/lin/media-loop.svg)
|
||||
* skin/classic/browser/zen-icons/media-mute.svg (../shared/zen-icons/lin/media-mute.svg)
|
||||
* skin/classic/browser/zen-icons/media-next.svg (../shared/zen-icons/lin/media-next.svg)
|
||||
* skin/classic/browser/zen-icons/media-pause.svg (../shared/zen-icons/lin/media-pause.svg)
|
||||
* skin/classic/browser/zen-icons/media-pip.svg (../shared/zen-icons/lin/media-pip.svg)
|
||||
* skin/classic/browser/zen-icons/media-play.svg (../shared/zen-icons/lin/media-play.svg)
|
||||
* skin/classic/browser/zen-icons/media-previous.svg (../shared/zen-icons/lin/media-previous.svg)
|
||||
* skin/classic/browser/zen-icons/media-speed.svg (../shared/zen-icons/lin/media-speed.svg)
|
||||
* skin/classic/browser/zen-icons/media-unmute.svg (../shared/zen-icons/lin/media-unmute.svg)
|
||||
* skin/classic/browser/zen-icons/menu-bar.svg (../shared/zen-icons/lin/menu-bar.svg)
|
||||
* skin/classic/browser/zen-icons/menu.svg (../shared/zen-icons/lin/menu.svg)
|
||||
* skin/classic/browser/zen-icons/microphone-blocked-fill.svg (../shared/zen-icons/lin/microphone-blocked-fill.svg)
|
||||
* skin/classic/browser/zen-icons/microphone-blocked.svg (../shared/zen-icons/lin/microphone-blocked.svg)
|
||||
@@ -245,13 +202,11 @@
|
||||
* skin/classic/browser/zen-icons/microphone.svg (../shared/zen-icons/lin/microphone.svg)
|
||||
* skin/classic/browser/zen-icons/midi.svg (../shared/zen-icons/lin/midi.svg)
|
||||
* skin/classic/browser/zen-icons/moon-stars.svg (../shared/zen-icons/lin/moon-stars.svg)
|
||||
* skin/classic/browser/zen-icons/move-tab.svg (../shared/zen-icons/lin/move-tab.svg)
|
||||
* skin/classic/browser/zen-icons/new-tab-image.svg (../shared/zen-icons/lin/new-tab-image.svg)
|
||||
* skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/lin/open.svg)
|
||||
* skin/classic/browser/zen-icons/page-portrait.svg (../shared/zen-icons/lin/page-portrait.svg)
|
||||
* skin/classic/browser/zen-icons/palette.svg (../shared/zen-icons/lin/palette.svg)
|
||||
* skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/lin/passwords.svg)
|
||||
* skin/classic/browser/zen-icons/paste-and-go.svg (../shared/zen-icons/lin/paste-and-go.svg)
|
||||
* skin/classic/browser/zen-icons/permissions-fill.svg (../shared/zen-icons/lin/permissions-fill.svg)
|
||||
* skin/classic/browser/zen-icons/permissions.svg (../shared/zen-icons/lin/permissions.svg)
|
||||
* skin/classic/browser/zen-icons/persistent-storage-blocked.svg (../shared/zen-icons/lin/persistent-storage-blocked.svg)
|
||||
@@ -266,7 +221,6 @@
|
||||
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
|
||||
* skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/lin/reader-mode.svg)
|
||||
* skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/lin/reload.svg)
|
||||
* skin/classic/browser/zen-icons/report.svg (../shared/zen-icons/lin/report.svg)
|
||||
* skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/lin/save.svg)
|
||||
* skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/lin/screen-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/lin/screen.svg)
|
||||
@@ -283,7 +237,6 @@
|
||||
* skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/lin/sidebar-right.svg)
|
||||
* skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/lin/sidebar.svg)
|
||||
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
|
||||
* skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/lin/source-code.svg)
|
||||
* skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/lin/sparkles.svg)
|
||||
* skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/lin/spell-check.svg)
|
||||
* skin/classic/browser/zen-icons/split.svg (../shared/zen-icons/lin/split.svg)
|
||||
@@ -299,23 +252,17 @@
|
||||
* skin/classic/browser/zen-icons/unpin.svg (../shared/zen-icons/lin/unpin.svg)
|
||||
* skin/classic/browser/zen-icons/video-blocked-fill.svg (../shared/zen-icons/lin/video-blocked-fill.svg)
|
||||
* skin/classic/browser/zen-icons/video-fill.svg (../shared/zen-icons/lin/video-fill.svg)
|
||||
* skin/classic/browser/zen-icons/video-open.svg (../shared/zen-icons/lin/video-open.svg)
|
||||
* skin/classic/browser/zen-icons/video-save.svg (../shared/zen-icons/lin/video-save.svg)
|
||||
* skin/classic/browser/zen-icons/window.svg (../shared/zen-icons/lin/window.svg)
|
||||
* skin/classic/browser/zen-icons/xr-blocked.svg (../shared/zen-icons/lin/xr-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/xr-fill.svg (../shared/zen-icons/lin/xr-fill.svg)
|
||||
* skin/classic/browser/zen-icons/xr.svg (../shared/zen-icons/lin/xr.svg)
|
||||
* skin/classic/browser/zen-icons/zoom-control.svg (../shared/zen-icons/lin/zoom-control.svg)
|
||||
* skin/classic/browser/zen-icons/zoom-out.svg (../shared/zen-icons/lin/zoom-out.svg)
|
||||
#endif
|
||||
#ifdef XP_LINUX
|
||||
* skin/classic/browser/zen-icons/accessibility.svg (../shared/zen-icons/lin/accessibility.svg)
|
||||
* skin/classic/browser/zen-icons/add-to-dictionary.svg (../shared/zen-icons/lin/add-to-dictionary.svg)
|
||||
* skin/classic/browser/zen-icons/arrow-down.svg (../shared/zen-icons/lin/arrow-down.svg)
|
||||
* skin/classic/browser/zen-icons/arrow-left.svg (../shared/zen-icons/lin/arrow-left.svg)
|
||||
* skin/classic/browser/zen-icons/arrow-right.svg (../shared/zen-icons/lin/arrow-right.svg)
|
||||
* skin/classic/browser/zen-icons/arrow-up.svg (../shared/zen-icons/lin/arrow-up.svg)
|
||||
* skin/classic/browser/zen-icons/audio-save.svg (../shared/zen-icons/lin/audio-save.svg)
|
||||
* skin/classic/browser/zen-icons/autoplay-media-blocked.svg (../shared/zen-icons/lin/autoplay-media-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/lin/autoplay-media-fill.svg)
|
||||
* skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/lin/autoplay-media.svg)
|
||||
@@ -328,9 +275,7 @@
|
||||
* skin/classic/browser/zen-icons/camera.svg (../shared/zen-icons/lin/camera.svg)
|
||||
* skin/classic/browser/zen-icons/canvas-blocked.svg (../shared/zen-icons/lin/canvas-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/canvas.svg (../shared/zen-icons/lin/canvas.svg)
|
||||
* skin/classic/browser/zen-icons/checkmark.svg (../shared/zen-icons/lin/checkmark.svg)
|
||||
* skin/classic/browser/zen-icons/chevron.svg (../shared/zen-icons/lin/chevron.svg)
|
||||
* skin/classic/browser/zen-icons/close-all.svg (../shared/zen-icons/lin/close-all.svg)
|
||||
* skin/classic/browser/zen-icons/close.svg (../shared/zen-icons/lin/close.svg)
|
||||
* skin/classic/browser/zen-icons/container-tab.svg (../shared/zen-icons/lin/container-tab.svg)
|
||||
* skin/classic/browser/zen-icons/cookies-fill.svg (../shared/zen-icons/lin/cookies-fill.svg)
|
||||
@@ -347,20 +292,14 @@
|
||||
* skin/classic/browser/zen-icons/edit-cut.svg (../shared/zen-icons/lin/edit-cut.svg)
|
||||
* skin/classic/browser/zen-icons/edit-delete.svg (../shared/zen-icons/lin/edit-delete.svg)
|
||||
* skin/classic/browser/zen-icons/edit-paste.svg (../shared/zen-icons/lin/edit-paste.svg)
|
||||
* skin/classic/browser/zen-icons/edit-redo.svg (../shared/zen-icons/lin/edit-redo.svg)
|
||||
* skin/classic/browser/zen-icons/edit-select-all.svg (../shared/zen-icons/lin/edit-select-all.svg)
|
||||
* skin/classic/browser/zen-icons/edit-theme.svg (../shared/zen-icons/lin/edit-theme.svg)
|
||||
* skin/classic/browser/zen-icons/edit-undo.svg (../shared/zen-icons/lin/edit-undo.svg)
|
||||
* skin/classic/browser/zen-icons/edit.svg (../shared/zen-icons/lin/edit.svg)
|
||||
* skin/classic/browser/zen-icons/essential-add.svg (../shared/zen-icons/lin/essential-add.svg)
|
||||
* skin/classic/browser/zen-icons/essential-remove.svg (../shared/zen-icons/lin/essential-remove.svg)
|
||||
* skin/classic/browser/zen-icons/expand-sidebar.svg (../shared/zen-icons/lin/expand-sidebar.svg)
|
||||
* skin/classic/browser/zen-icons/ext-link.svg (../shared/zen-icons/lin/ext-link.svg)
|
||||
* skin/classic/browser/zen-icons/extension-blocked.svg (../shared/zen-icons/lin/extension-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/extension-fill.svg (../shared/zen-icons/lin/extension-fill.svg)
|
||||
* skin/classic/browser/zen-icons/extension.svg (../shared/zen-icons/lin/extension.svg)
|
||||
* skin/classic/browser/zen-icons/face-sun.svg (../shared/zen-icons/lin/face-sun.svg)
|
||||
* skin/classic/browser/zen-icons/firefox.svg (../shared/zen-icons/lin/firefox.svg)
|
||||
* skin/classic/browser/zen-icons/folder.svg (../shared/zen-icons/lin/folder.svg)
|
||||
* skin/classic/browser/zen-icons/forget.svg (../shared/zen-icons/lin/forget.svg)
|
||||
* skin/classic/browser/zen-icons/forward.svg (../shared/zen-icons/lin/forward.svg)
|
||||
@@ -369,28 +308,21 @@
|
||||
* skin/classic/browser/zen-icons/geo-blocked.svg (../shared/zen-icons/lin/geo-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/geo-fill.svg (../shared/zen-icons/lin/geo-fill.svg)
|
||||
* skin/classic/browser/zen-icons/geo.svg (../shared/zen-icons/lin/geo.svg)
|
||||
* skin/classic/browser/zen-icons/heart-circle-fill.svg (../shared/zen-icons/lin/heart-circle-fill.svg)
|
||||
* skin/classic/browser/zen-icons/help.svg (../shared/zen-icons/lin/help.svg)
|
||||
* skin/classic/browser/zen-icons/history.svg (../shared/zen-icons/lin/history.svg)
|
||||
* skin/classic/browser/zen-icons/home.svg (../shared/zen-icons/lin/home.svg)
|
||||
* skin/classic/browser/zen-icons/image-copy.svg (../shared/zen-icons/lin/image-copy.svg)
|
||||
* skin/classic/browser/zen-icons/image-open.svg (../shared/zen-icons/lin/image-open.svg)
|
||||
* skin/classic/browser/zen-icons/image-save.svg (../shared/zen-icons/lin/image-save.svg)
|
||||
* skin/classic/browser/zen-icons/info.svg (../shared/zen-icons/lin/info.svg)
|
||||
* skin/classic/browser/zen-icons/inspect.svg (../shared/zen-icons/lin/inspect.svg)
|
||||
* skin/classic/browser/zen-icons/library.svg (../shared/zen-icons/lin/library.svg)
|
||||
* skin/classic/browser/zen-icons/link.svg (../shared/zen-icons/lin/link.svg)
|
||||
* skin/classic/browser/zen-icons/mail.svg (../shared/zen-icons/lin/mail.svg)
|
||||
* skin/classic/browser/zen-icons/manage.svg (../shared/zen-icons/lin/manage.svg)
|
||||
* skin/classic/browser/zen-icons/media-loop.svg (../shared/zen-icons/lin/media-loop.svg)
|
||||
* skin/classic/browser/zen-icons/media-mute.svg (../shared/zen-icons/lin/media-mute.svg)
|
||||
* skin/classic/browser/zen-icons/media-next.svg (../shared/zen-icons/lin/media-next.svg)
|
||||
* skin/classic/browser/zen-icons/media-pause.svg (../shared/zen-icons/lin/media-pause.svg)
|
||||
* skin/classic/browser/zen-icons/media-pip.svg (../shared/zen-icons/lin/media-pip.svg)
|
||||
* skin/classic/browser/zen-icons/media-play.svg (../shared/zen-icons/lin/media-play.svg)
|
||||
* skin/classic/browser/zen-icons/media-previous.svg (../shared/zen-icons/lin/media-previous.svg)
|
||||
* skin/classic/browser/zen-icons/media-speed.svg (../shared/zen-icons/lin/media-speed.svg)
|
||||
* skin/classic/browser/zen-icons/media-unmute.svg (../shared/zen-icons/lin/media-unmute.svg)
|
||||
* skin/classic/browser/zen-icons/menu-bar.svg (../shared/zen-icons/lin/menu-bar.svg)
|
||||
* skin/classic/browser/zen-icons/menu.svg (../shared/zen-icons/lin/menu.svg)
|
||||
* skin/classic/browser/zen-icons/microphone-blocked-fill.svg (../shared/zen-icons/lin/microphone-blocked-fill.svg)
|
||||
* skin/classic/browser/zen-icons/microphone-blocked.svg (../shared/zen-icons/lin/microphone-blocked.svg)
|
||||
@@ -398,13 +330,11 @@
|
||||
* skin/classic/browser/zen-icons/microphone.svg (../shared/zen-icons/lin/microphone.svg)
|
||||
* skin/classic/browser/zen-icons/midi.svg (../shared/zen-icons/lin/midi.svg)
|
||||
* skin/classic/browser/zen-icons/moon-stars.svg (../shared/zen-icons/lin/moon-stars.svg)
|
||||
* skin/classic/browser/zen-icons/move-tab.svg (../shared/zen-icons/lin/move-tab.svg)
|
||||
* skin/classic/browser/zen-icons/new-tab-image.svg (../shared/zen-icons/lin/new-tab-image.svg)
|
||||
* skin/classic/browser/zen-icons/open.svg (../shared/zen-icons/lin/open.svg)
|
||||
* skin/classic/browser/zen-icons/page-portrait.svg (../shared/zen-icons/lin/page-portrait.svg)
|
||||
* skin/classic/browser/zen-icons/palette.svg (../shared/zen-icons/lin/palette.svg)
|
||||
* skin/classic/browser/zen-icons/passwords.svg (../shared/zen-icons/lin/passwords.svg)
|
||||
* skin/classic/browser/zen-icons/paste-and-go.svg (../shared/zen-icons/lin/paste-and-go.svg)
|
||||
* skin/classic/browser/zen-icons/permissions-fill.svg (../shared/zen-icons/lin/permissions-fill.svg)
|
||||
* skin/classic/browser/zen-icons/permissions.svg (../shared/zen-icons/lin/permissions.svg)
|
||||
* skin/classic/browser/zen-icons/persistent-storage-blocked.svg (../shared/zen-icons/lin/persistent-storage-blocked.svg)
|
||||
@@ -419,7 +349,6 @@
|
||||
* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/lin/privateBrowsing.svg)
|
||||
* skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/lin/reader-mode.svg)
|
||||
* skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/lin/reload.svg)
|
||||
* skin/classic/browser/zen-icons/report.svg (../shared/zen-icons/lin/report.svg)
|
||||
* skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/lin/save.svg)
|
||||
* skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/lin/screen-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/lin/screen.svg)
|
||||
@@ -436,7 +365,6 @@
|
||||
* skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/lin/sidebar-right.svg)
|
||||
* skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/lin/sidebar.svg)
|
||||
* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/lin/sidebars-right.svg)
|
||||
* skin/classic/browser/zen-icons/source-code.svg (../shared/zen-icons/lin/source-code.svg)
|
||||
* skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/lin/sparkles.svg)
|
||||
* skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/lin/spell-check.svg)
|
||||
* skin/classic/browser/zen-icons/split.svg (../shared/zen-icons/lin/split.svg)
|
||||
@@ -452,13 +380,10 @@
|
||||
* skin/classic/browser/zen-icons/unpin.svg (../shared/zen-icons/lin/unpin.svg)
|
||||
* skin/classic/browser/zen-icons/video-blocked-fill.svg (../shared/zen-icons/lin/video-blocked-fill.svg)
|
||||
* skin/classic/browser/zen-icons/video-fill.svg (../shared/zen-icons/lin/video-fill.svg)
|
||||
* skin/classic/browser/zen-icons/video-open.svg (../shared/zen-icons/lin/video-open.svg)
|
||||
* skin/classic/browser/zen-icons/video-save.svg (../shared/zen-icons/lin/video-save.svg)
|
||||
* skin/classic/browser/zen-icons/window.svg (../shared/zen-icons/lin/window.svg)
|
||||
* skin/classic/browser/zen-icons/xr-blocked.svg (../shared/zen-icons/lin/xr-blocked.svg)
|
||||
* skin/classic/browser/zen-icons/xr-fill.svg (../shared/zen-icons/lin/xr-fill.svg)
|
||||
* skin/classic/browser/zen-icons/xr.svg (../shared/zen-icons/lin/xr.svg)
|
||||
* skin/classic/browser/zen-icons/zoom-control.svg (../shared/zen-icons/lin/zoom-control.svg)
|
||||
* skin/classic/browser/zen-icons/zoom-out.svg (../shared/zen-icons/lin/zoom-out.svg)
|
||||
#endif
|
||||
* skin/classic/browser/zen-icons/urlbar-arrow.svg (../shared/zen-icons/common/urlbar-arrow.svg)
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="9" cy="2.25" r="1.5" data-color="color-2"></circle><line x1="7.25" y1="16.5" x2="7.25" y2="6.24"></line><line x1="10.75" y1="6.24" x2="10.75" y2="16.5"></line><path d="M2.75,5.75c1.751,.3,3.86,.531,6.25,.531,1.777,0,3.894-.128,6.25-.531"></path><line x1="7.25" y1="11.25" x2="10.75" y2="11.25"></line></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M14.181,3.257c-.221-.865-.998-1.507-1.931-1.507H5.75c-1.105,0-2,.896-2,2v12.5l5.25-3.5,5.25,3.5v-3"></path><line x1="14.25" y1="5.75" x2="14.25" y2="10.75" data-color="color-2"></line><line x1="16.75" y1="8.25" x2="11.75" y2="8.25" data-color="color-2"></line></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="5.75" y1="7.25" x2="5.75" y2="13.75"></line><line x1="14.75" y1="5.75" x2="14.75" y2="12.25"></line><path d="m8.6399,3.0186l4.9461-.8246c.61-.102,1.164.368,1.164.986v2.57l-9,1.5"></path><circle cx="3.75" cy="13.75" r="2"></circle><circle cx="12.75" cy="12.25" r="2"></circle><line x1="3.75" y1="1.25" x2="3.75" y2="6.25" data-color="color-2"></line><line x1="6.25" y1="3.75" x2="1.25" y2="3.75" data-color="color-2"></line></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="2.75 9.5 6.5 13.25 15.25 4.5"></polyline></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M1.75,16.25v-.5c0-1.105,.895-2,2-2H14.25c1.105,0,2,.895,2,2v.5"></path><path d="M3.75,11.25c0-.828,.672-1.5,1.5-1.5h7.5c.828,0,1.5,.672,1.5,1.5"></path><polyline points="11.5 4.75 9 7.25 6.5 4.75" data-color="color-2"></polyline><line x1="9" y1="7" x2="9" y2="1.75" data-color="color-2"></line></g></svg>
|
||||
@@ -2,4 +2,4 @@
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="14" y1="4" x2="4" y2="14" data-color="color-2"></line><line x1="4" y1="4" x2="14" y2="14"></line></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="2" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="14" y1="4" x2="4" y2="14" data-color="color-2"></line><line x1="4" y1="4" x2="14" y2="14"></line></g></svg>
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M15,10c-.528-.461-2.7-2.251-6-2.251s-5.472,1.79-6,2.251" data-color="color-2"></path><polyline points="13.375 5.598 15 10 10.47 11.222"></polyline></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><line x1="14.75" y1=".75" x2="14.75" y2="5.75" data-color="color-2"></line><line x1="17.25" y1="3.25" x2="12.25" y2="3.25" data-color="color-2"></line><path d="M2.25,5.25c0-1.105,.895-2,2-2"></path><path d="M14.75,13.75c0,1.105-.895,2-2,2"></path><path d="M4.25,15.75c-1.105,0-2-.895-2-2"></path><line x1="7.25" y1="3.25" x2="9.25" y2="3.25"></line><line x1="7.25" y1="15.75" x2="9.75" y2="15.75"></line><line x1="14.75" y1="8.75" x2="14.75" y2="10.75"></line><line x1="2.25" y1="8.25" x2="2.25" y2="10.75"></line></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M3,10c.528-.461,2.7-2.251,6-2.251s5.472,1.79,6,2.251" data-color="color-2"></path><polyline points="4.625 5.598 3 10 7.53 11.222"></polyline></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M2.75,15.25s3.599-.568,4.546-1.515c.947-.947,7.327-7.327,7.327-7.327,.837-.837,.837-2.194,0-3.03-.837-.837-2.194-.837-3.03,0,0,0-6.38,6.38-7.327,7.327s-1.515,4.546-1.515,4.546h0Z"></path></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M4.25,9.25V3.75c0-1.105,.895-2,2-2h6c1.105,0,2,.895,2,2V13.25c0,1.105-.895,2-2,2H7.25"></path><polyline points="7.24 6.75 11.25 6.75 11.25 10.76" data-color="color-2"></polyline><line x1="11.25" y1="6.75" x2="1.75" y2="16.25" data-color="color-2"></line></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg id="a" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" fill-opacity="context-fill-opacity"><path d="M14.7498,13.0913c-.0154.9253-.7896,1.6587-1.715,1.6587h-6.956c-.2705,0-.4541-.275-.3505-.5248l.0024-.0057c.4574-1.1044,1.1996-2.0362,2.1473-2.7161.1179-.0846.2601-.1284.4052-.1284h4.7793c.9416,0,1.703.7711,1.6873,1.7163Z"/><path d="M9.9212,1.25c.2705,0,.4541.275.3505.5248l-.0024.0057c-.4574,1.1044-1.1996,2.0362-2.1473,2.7161-.1179.0846-.2601.1284-.4052.1284H2.9653c-.9254,0-1.6996-.7334-1.715-1.6587-.0158-.9452.7457-1.7163,1.6873-1.7163h6.9837Z"/><path d="M2.9372,14.75c-.2152,0-.4339-.0414-.6451-.1289-.861-.3566-1.2699-1.3437-.9132-2.2047.5485-1.3241,1.3346-2.5112,2.3367-3.5283,1.0381-1.0537,2.2623-1.877,3.6387-2.4471,1.8919-.7837,3.3654-2.2571,4.149-4.149.3566-.861,1.3437-1.2698,2.2047-.9132.861.3566,1.2699,1.3437.9132,2.2047-.5485,1.3241-1.3346,2.5112-2.3367,3.5283-1.0381,1.0537-2.2623,1.877-3.6387,2.4471-1.8919.7837-3.3654,2.2571-4.149,4.149-.2691.6498-.8975,1.0421-1.5596,1.0421Z"/></svg>
|
||||
@@ -0,0 +1,5 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g fill="context-fill" fill-opacity="context-fill-opacity" class="nc-icon-wrapper"><path d="M9 1C13.4183 1 17 4.58172 17 9C17 13.4183 13.4183 17 9 17C4.58172 17 1 13.4183 1 9C1 4.58172 4.58172 1 9 1ZM10.7285 5.55176C10.0566 5.5598 9.42663 5.86058 9 6.36914C8.57267 5.86121 7.94219 5.56042 7.26758 5.55176C6.01248 5.55999 4.99539 6.58541 5 7.83789C5 10.5743 7.79989 12.25 8.6582 12.6982C8.76478 12.7542 8.88246 12.7812 8.99902 12.7812C9.11561 12.7812 9.2339 12.7535 9.33984 12.6982C10.1978 12.2503 12.9989 10.5754 12.999 7.83887C13.0037 6.58553 11.9872 5.55909 10.7285 5.55176Z"/></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M6.587,12.243l5.206-5.2c.391-.391,1.024-.391,1.414,0l3.043,3.043" data-color="color-2"></path><path d="M1.75,6.75v6.5c0,1.105,.895,2,2,2H12.25" data-color="color-2"></path><rect x="4.75" y="2.75" width="11.5" height="9.5" rx="2" ry="2" transform="translate(21 15) rotate(180)"></rect><path d="M8,7c-.551,0-1-.449-1-1s.449-1,1-1,1,.449,1,1-.449,1-1,1Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M4,15.25l5.836-5.836c.781-.781,2.047-.781,2.828,0l3.086,3.086" data-color="color-2"></path><rect x="2.25" y="4.75" width="13.5" height="10.5" rx="2" ry="2"></rect><line x1="4.75" y1="1.75" x2="13.25" y2="1.75" data-color="color-2"></line><circle cx="5.75" cy="8.25" r="1.25" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="m3.762,14.989l6.074-6.075c.781-.781,2.047-.781,2.828,0l2.586,2.586"></path><circle cx="6.25" cy="7.25" r="1.25" stroke-width="0" fill="currentColor"></circle><line x1="14.25" y1="1.25" x2="14.25" y2="6.25" data-color="color-2"></line><path d="m9.461,2.75h-4.711c-1.1046,0-2,.8955-2,2v8.5c0,1.1045.8954,2,2,2h8.5c1.1046,0,2-.8955,2-2v-4.7109"></path><line x1="16.75" y1="3.75" x2="11.75" y2="3.75" data-color="color-2"></line></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="14 6.25 16.25 4 14 1.75" data-color="color-2"></polyline><path d="M6.596,2.75h-1.846c-1.105,0-2,.896-2,2V13.25c0,1.104,.895,2,2,2H13.25c1.105,0,2-.896,2-2v-4.846"></path><polyline points="11 6.25 8.75 4 11 1.75" data-color="color-2"></polyline></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M5,13.75h-.75c-1.105,0-2-.895-2-2V6.25c0-1.105,.895-2,2-2H13.75c1.105,0,2,.895,2,2v5.5c0,1.105-.895,2-2,2h-5.742" data-color="color-2"></path><polyline points="10.5 11.25 8.008 13.742 10.5 16.235"></polyline></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M5.75,12.25h-2c-1.105,0-2-.895-2-2V5.75c0-1.105,.895-2,2-2H12.25c1.105,0,2,.895,2,2v2"></path><rect x="8.75" y="10.75" width="7.5" height="4.5" rx="1.5" ry="1.5"></rect><polyline points="7.25 6.25 7.25 9.25 4.25 9.25" data-color="color-2"></polyline><line x1="7.25" y1="9.25" x2="4.25" y2="6.25" data-color="color-2"></line></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="9" cy="12" r="1" fill="currentColor" data-color="color-2"></circle><path d="M12.75,12.25h3.487c.003-.083,.013-.166,.013-.25,0-4.004-3.246-7.25-7.25-7.25S1.75,7.996,1.75,12c0,.084,.01,.167,.013,.25h3.487"></path><line x1="8.495" y1="11.137" x2="6.557" y2="7.827" data-color="color-2"></line></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="9" cy="9" r=".5" fill="currentColor" data-color="color-2"></circle><circle cx="9" cy="3.25" r=".5" fill="currentColor"></circle><circle cx="9" cy="14.75" r=".5" fill="currentColor"></circle></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><rect x="11.25" y="10.75" width="5" height="5" rx="1.5" ry="1.5" data-color="color-2"></rect><rect x="11.25" y="2.25" width="5" height="5" rx="1.5" ry="1.5"></rect><polyline points="6.75 11.5 9 13.75 6.75 16"></polyline><path d="M9,13.75h-2.5c-2.623,0-4.75-2.127-4.75-4.75h0c0-2.623,2.127-4.75,4.75-4.75h1.75"></path></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M6.25,2.75h-1c-1.105,0-2,.895-2,2V14.25c0,1.105,.895,2,2,2h7.5c1.105,0,2-.895,2-2V4.75c0-1.105-.895-2-2-2h-1"></path><rect x="6.25" y="1.25" width="5.5" height="3" rx="1" ry="1" data-color="color-2"></rect><polyline points="6.25 10.25 8 12.25 11.75 7.25" data-color="color-2"></polyline></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M7.638,3.495L2.213,12.891c-.605,1.048,.151,2.359,1.362,2.359H14.425c1.211,0,1.967-1.31,1.362-2.359L10.362,3.495c-.605-1.048-2.119-1.048-2.724,0Z"></path><line x1="9" y1="6.5" x2="9" y2="10" data-color="color-2"></line><path d="M9,13.569c-.552,0-1-.449-1-1s.448-1,1-1,1,.449,1,1-.448,1-1,1Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><polyline points="5.25 13.25 1.75 9 5.25 4.75"></polyline><polyline points="12.75 13.25 16.25 9 12.75 4.75"></polyline><line x1="7.75" y1="13.25" x2="10.25" y2="4.75" data-color="color-2"></line></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M12.211,6.984l-2.296-1.385c-.402-.243-.915,.047-.915,.516v2.771c0,.47,.513,.759,.915,.516l2.296-1.385c.389-.235,.389-.798,0-1.033Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path><path d="M1.75,6.75v6.5c0,1.105,.895,2,2,2H12.25" data-color="color-2"></path><rect x="4.75" y="2.75" width="11.5" height="9.5" rx="2" ry="2" transform="translate(21 15) rotate(180)"></rect></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><path d="M2.25,8.75V4.75c0-1.105,.895-2,2-2h1.951c.607,0,1.18,.275,1.56,.748l.603,.752h5.386c1.105,0,2,.895,2,2v2.844"></path><path d="M15.75,10.313v-1.563c0-1.104-.895-2-2-2H4.25c-1.105,0-2,.896-2,2v4.5c0,1.104,.895,2,2,2h5"></path><path d="M12.539,11.323l4.204,2.477c.343,.202,.343,.697,0,.899l-4.204,2.477c-.349,.206-.789-.045-.789-.449v-4.955c0-.404,.441-.655,.789-.449Z" data-color="color-2"></path></g></svg>
|
||||
@@ -1,5 +0,0 @@
|
||||
#filter dumbComments emptyLines substitution
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="18" width="18" viewBox="0 0 18 18"><g stroke-linecap="round" stroke-width="1.5" fill="none" stroke="context-fill" stroke-opacity="context-fill-opacity" stroke-linejoin="round" class="nc-icon-wrapper"><circle cx="7.75" cy="7.75" r="5"></circle><line x1="15.25" y1="15.25" x2="11.285" y2="11.285"></line><circle cx="5.5" cy="7.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle><circle cx="10" cy="7.25" r=".75" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></circle><path d="M6.75,8.5h2c.276,0,.5,.224,.5,.5h0c0,.828-.672,1.5-1.5,1.5h0c-.828,0-1.5-.672-1.5-1.5h0c0-.276,.224-.5,.5-.5Z" fill="currentColor" data-color="color-2" data-stroke="none" stroke="none"></path></g></svg>
|
||||
@@ -1,77 +0,0 @@
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
{
|
||||
class nsHasPolyfill {
|
||||
constructor() {
|
||||
this.observers = [];
|
||||
this.idStore = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {{selector: string, exists: boolean}} descendantSelectors
|
||||
*/
|
||||
observeSelectorExistence(element, descendantSelectors, stateAttribute, attributeFilter = []) {
|
||||
const updateState = () => {
|
||||
const exists = descendantSelectors.some(({ selector }) => {
|
||||
let selected = element.querySelector(selector);
|
||||
if (selected?.tagName?.toLowerCase() === 'menu') {
|
||||
return null;
|
||||
}
|
||||
return selected;
|
||||
});
|
||||
const { exists: shouldExist = true } = descendantSelectors;
|
||||
if (exists === shouldExist) {
|
||||
if (!element.hasAttribute(stateAttribute)) {
|
||||
gZenCompactModeManager._setElementExpandAttribute(element, true, stateAttribute);
|
||||
}
|
||||
} else {
|
||||
if (element.hasAttribute(stateAttribute)) {
|
||||
gZenCompactModeManager._setElementExpandAttribute(element, false, stateAttribute);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const observer = new MutationObserver(updateState);
|
||||
updateState();
|
||||
const observerId = this.idStore++;
|
||||
this.observers.push({
|
||||
id: observerId,
|
||||
observer,
|
||||
element,
|
||||
attributeFilter,
|
||||
});
|
||||
return observerId;
|
||||
}
|
||||
|
||||
disconnectObserver(observerId) {
|
||||
const index = this.observers.findIndex((o) => o.id === observerId);
|
||||
if (index !== -1) {
|
||||
this.observers[index].observer.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
connectObserver(observerId) {
|
||||
const observer = this.observers.find((o) => o.id === observerId);
|
||||
if (observer) {
|
||||
observer.observer.observe(observer.element, {
|
||||
childList: true,
|
||||
subtree: true,
|
||||
attributes: true,
|
||||
attributeFilter: observer.attributeFilter.length ? observer.attributeFilter : undefined,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
destroy() {
|
||||
this.observers.forEach((observer) => observer.observer.disconnect());
|
||||
this.observers = [];
|
||||
}
|
||||
}
|
||||
|
||||
const hasPolyfillInstance = new nsHasPolyfill();
|
||||
window.addEventListener('unload', () => hasPolyfillInstance.destroy(), { once: true });
|
||||
|
||||
window.ZenHasPolyfill = hasPolyfillInstance;
|
||||
}
|
||||
@@ -5,5 +5,5 @@
|
||||
// prettier-ignore
|
||||
|
||||
{
|
||||
Services.scriptloader.loadSubScript("chrome://browser/content/ZenStartup.mjs", this);
|
||||
ChromeUtils.importESModule("chrome://browser/content/ZenStartup.mjs", { global: "current" });
|
||||
}
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
{
|
||||
class ZenSessionStore extends nsZenPreloadedFeature {
|
||||
init() {
|
||||
this.#waitAndCleanup();
|
||||
}
|
||||
|
||||
promiseInitialized = new Promise((resolve) => {
|
||||
this._resolveInitialized = resolve;
|
||||
});
|
||||
|
||||
restoreInitialTabData(tab, tabData) {
|
||||
if (tabData.zenWorkspace) {
|
||||
tab.setAttribute('zen-workspace-id', tabData.zenWorkspace);
|
||||
}
|
||||
if (tabData.zenPinnedId) {
|
||||
tab.setAttribute('zen-pin-id', tabData.zenPinnedId);
|
||||
}
|
||||
if (tabData.zenHasStaticLabel) {
|
||||
tab.setAttribute('zen-has-static-label', 'true');
|
||||
}
|
||||
if (tabData.zenEssential) {
|
||||
tab.setAttribute('zen-essential', 'true');
|
||||
}
|
||||
if (tabData.zenDefaultUserContextId) {
|
||||
tab.setAttribute('zenDefaultUserContextId', 'true');
|
||||
}
|
||||
if (tabData.zenPinnedEntry) {
|
||||
tab.setAttribute('zen-pinned-entry', tabData.zenPinnedEntry);
|
||||
}
|
||||
}
|
||||
|
||||
async #waitAndCleanup() {
|
||||
await SessionStore.promiseInitialized;
|
||||
this.#cleanup();
|
||||
}
|
||||
|
||||
#cleanup() {
|
||||
this._resolveInitialized();
|
||||
}
|
||||
}
|
||||
|
||||
window.gZenSessionStore = new ZenSessionStore();
|
||||
}
|
||||
@@ -1,227 +0,0 @@
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
{
|
||||
var gZenStartup = new (class {
|
||||
#watermarkIgnoreElements = ['zen-toast-container'];
|
||||
#hasInitializedLayout = false;
|
||||
|
||||
isReady = false;
|
||||
|
||||
async init() {
|
||||
// important: We do this to ensure that some firefox components
|
||||
// are initialized before we start our own initialization.
|
||||
// please, do not remove this line and if you do, make sure to
|
||||
// test the startup process.
|
||||
await new Promise((resolve) => setTimeout(resolve, 0));
|
||||
this.openWatermark();
|
||||
this.#initBrowserBackground();
|
||||
this.#changeSidebarLocation();
|
||||
this.#zenInitBrowserLayout();
|
||||
}
|
||||
|
||||
#initBrowserBackground() {
|
||||
const background = document.createXULElement('box');
|
||||
background.id = 'zen-browser-background';
|
||||
background.classList.add('zen-browser-generic-background');
|
||||
const grain = document.createXULElement('box');
|
||||
grain.classList.add('zen-browser-grain');
|
||||
background.appendChild(grain);
|
||||
document.getElementById('browser').prepend(background);
|
||||
const toolbarBackground = background.cloneNode(true);
|
||||
toolbarBackground.removeAttribute('id');
|
||||
toolbarBackground.classList.add('zen-toolbar-background');
|
||||
document.getElementById('titlebar').prepend(toolbarBackground);
|
||||
}
|
||||
|
||||
#zenInitBrowserLayout() {
|
||||
if (this.#hasInitializedLayout) return;
|
||||
this.#hasInitializedLayout = true;
|
||||
try {
|
||||
const kNavbarItems = ['nav-bar', 'PersonalToolbar'];
|
||||
const kNewContainerId = 'zen-appcontent-navbar-container';
|
||||
let newContainer = document.getElementById(kNewContainerId);
|
||||
for (let id of kNavbarItems) {
|
||||
const node = document.getElementById(id);
|
||||
console.assert(node, 'Could not find node with id: ' + id);
|
||||
if (!node) continue;
|
||||
newContainer.appendChild(node);
|
||||
}
|
||||
|
||||
// Fix notification deck
|
||||
const deckTemplate = document.getElementById('tab-notification-deck-template');
|
||||
if (deckTemplate) {
|
||||
document.getElementById('zen-appcontent-wrapper').prepend(deckTemplate);
|
||||
}
|
||||
|
||||
gZenWorkspaces.init();
|
||||
setTimeout(() => {
|
||||
gZenUIManager.init();
|
||||
this.#checkForWelcomePage();
|
||||
}, 0);
|
||||
} catch (e) {
|
||||
console.error('ZenThemeModifier: Error initializing browser layout', e);
|
||||
}
|
||||
if (gBrowserInit.delayedStartupFinished) {
|
||||
this.delayedStartupFinished();
|
||||
} else {
|
||||
Services.obs.addObserver(this, 'browser-delayed-startup-finished');
|
||||
}
|
||||
}
|
||||
|
||||
observe(aSubject, aTopic) {
|
||||
// This nsIObserver method allows us to defer initialization until after
|
||||
// this window has finished painting and starting up.
|
||||
if (aTopic == 'browser-delayed-startup-finished' && aSubject == window) {
|
||||
Services.obs.removeObserver(this, 'browser-delayed-startup-finished');
|
||||
this.delayedStartupFinished();
|
||||
}
|
||||
}
|
||||
|
||||
delayedStartupFinished() {
|
||||
gZenWorkspaces.promiseInitialized.then(async () => {
|
||||
await delayedStartupPromise;
|
||||
await SessionStore.promiseAllWindowsRestored;
|
||||
delete gZenUIManager.promiseInitialized;
|
||||
this.#initSearchBar();
|
||||
gZenCompactModeManager.init();
|
||||
// Fix for https://github.com/zen-browser/desktop/issues/7605, specially in compact mode
|
||||
if (gURLBar.hasAttribute('breakout-extend')) {
|
||||
gURLBar.focus();
|
||||
}
|
||||
// A bit of a hack to make sure the tabs toolbar is updated.
|
||||
// Just in case we didn't get the right size.
|
||||
gZenUIManager.updateTabsToolbar();
|
||||
this.closeWatermark();
|
||||
this.isReady = true;
|
||||
});
|
||||
}
|
||||
|
||||
openWatermark() {
|
||||
if (!Services.prefs.getBoolPref('zen.watermark.enabled', false)) {
|
||||
document.documentElement.removeAttribute('zen-before-loaded');
|
||||
return;
|
||||
}
|
||||
for (let elem of document.querySelectorAll('#browser > *, #urlbar')) {
|
||||
elem.style.opacity = 0;
|
||||
}
|
||||
}
|
||||
|
||||
closeWatermark() {
|
||||
document.documentElement.removeAttribute('zen-before-loaded');
|
||||
if (Services.prefs.getBoolPref('zen.watermark.enabled', false)) {
|
||||
let elementsToIgnore = this.#watermarkIgnoreElements.map((id) => '#' + id).join(', ');
|
||||
gZenUIManager.motion
|
||||
.animate(
|
||||
'#browser > *:not(' + elementsToIgnore + '), #urlbar, #tabbrowser-tabbox > *',
|
||||
{
|
||||
opacity: [0, 1],
|
||||
},
|
||||
{
|
||||
duration: 0.1,
|
||||
}
|
||||
)
|
||||
.then(() => {
|
||||
for (let elem of document.querySelectorAll(
|
||||
'#browser > *, #urlbar, #tabbrowser-tabbox > *'
|
||||
)) {
|
||||
elem.style.removeProperty('opacity');
|
||||
}
|
||||
});
|
||||
}
|
||||
window.requestAnimationFrame(() => {
|
||||
window.dispatchEvent(new window.Event('resize')); // To recalculate the layout
|
||||
});
|
||||
}
|
||||
|
||||
#changeSidebarLocation() {
|
||||
const kElementsToAppend = ['sidebar-splitter', 'sidebar-box'];
|
||||
|
||||
const browser = document.getElementById('browser');
|
||||
browser.prepend(gNavToolbox);
|
||||
|
||||
const sidebarPanelWrapper = document.getElementById('tabbrowser-tabbox');
|
||||
for (let id of kElementsToAppend) {
|
||||
const elem = document.getElementById(id);
|
||||
if (elem) {
|
||||
sidebarPanelWrapper.prepend(elem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#initSearchBar() {
|
||||
// Only focus the url bar
|
||||
gURLBar.focus();
|
||||
}
|
||||
|
||||
#checkForWelcomePage() {
|
||||
if (!Services.prefs.getBoolPref('zen.welcome-screen.seen', false)) {
|
||||
Services.prefs.setBoolPref('zen.welcome-screen.seen', true);
|
||||
Services.prefs.setStringPref('zen.updates.last-build-id', Services.appinfo.appBuildID);
|
||||
Services.scriptloader.loadSubScript(
|
||||
'chrome://browser/content/zen-components/ZenWelcome.mjs',
|
||||
window
|
||||
);
|
||||
} else {
|
||||
this.#createUpdateAnimation();
|
||||
}
|
||||
}
|
||||
|
||||
async #createUpdateAnimation() {
|
||||
const appID = Services.appinfo.appBuildID;
|
||||
if (
|
||||
Services.prefs.getStringPref('zen.updates.last-build-id', '') === appID ||
|
||||
gZenUIManager.testingEnabled
|
||||
) {
|
||||
return;
|
||||
}
|
||||
Services.prefs.setStringPref('zen.updates.last-build-id', appID);
|
||||
await gZenWorkspaces.promiseInitialized;
|
||||
const appWrapper = document.getElementById('zen-main-app-wrapper');
|
||||
const element = document.createElement('div');
|
||||
element.id = 'zen-update-animation';
|
||||
const elementBorder = document.createElement('div');
|
||||
elementBorder.id = 'zen-update-animation-border';
|
||||
requestIdleCallback(() => {
|
||||
if (gReduceMotion) {
|
||||
return;
|
||||
}
|
||||
appWrapper.appendChild(element);
|
||||
appWrapper.appendChild(elementBorder);
|
||||
Promise.all([
|
||||
gZenUIManager.motion.animate(
|
||||
'#zen-update-animation',
|
||||
{
|
||||
top: ['100%', '-50%'],
|
||||
opacity: [0.5, 1],
|
||||
},
|
||||
{
|
||||
duration: 0.35,
|
||||
}
|
||||
),
|
||||
gZenUIManager.motion.animate(
|
||||
'#zen-update-animation-border',
|
||||
{
|
||||
'--background-top': ['150%', '-50%'],
|
||||
},
|
||||
{
|
||||
duration: 0.35,
|
||||
delay: 0.08,
|
||||
}
|
||||
),
|
||||
]).then(() => {
|
||||
element.remove();
|
||||
elementBorder.remove();
|
||||
});
|
||||
});
|
||||
}
|
||||
})();
|
||||
|
||||
window.addEventListener(
|
||||
'MozBeforeInitialXULLayout',
|
||||
() => {
|
||||
gZenStartup.init();
|
||||
},
|
||||
{ once: true }
|
||||
);
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
// 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/.
|
||||
{
|
||||
// prettier-ignore
|
||||
const SVG_ICONS = [
|
||||
|
||||
import { nsZenDOMOperatedFeature } from 'chrome://browser/content/zen-components/ZenCommonUtils.mjs';
|
||||
|
||||
// prettier-ignore
|
||||
const SVG_ICONS = [
|
||||
"airplane.svg", "american-football.svg", "baseball.svg", "basket.svg",
|
||||
"bed.svg", "bell.svg", "bookmark.svg", "book.svg",
|
||||
"briefcase.svg", "brush.svg", "bug.svg", "build.svg",
|
||||
@@ -28,204 +30,201 @@
|
||||
"water.svg", "weight.svg",
|
||||
];
|
||||
|
||||
class nsZenEmojiPicker extends nsZenDOMOperatedFeature {
|
||||
#panel;
|
||||
class nsZenEmojiPicker extends nsZenDOMOperatedFeature {
|
||||
#panel;
|
||||
|
||||
#anchor;
|
||||
#anchor;
|
||||
|
||||
#currentPromise = null;
|
||||
#currentPromiseResolve = null;
|
||||
#currentPromiseReject = null;
|
||||
#currentPromise = null;
|
||||
#currentPromiseResolve = null;
|
||||
#currentPromiseReject = null;
|
||||
|
||||
init() {
|
||||
this.#panel = document.getElementById('PanelUI-zen-emojis-picker');
|
||||
this.#panel.addEventListener('popupshowing', this);
|
||||
this.#panel.addEventListener('popuphidden', this);
|
||||
this.#panel.addEventListener('command', this);
|
||||
this.searchInput.addEventListener('input', this);
|
||||
}
|
||||
init() {
|
||||
this.#panel = document.getElementById('PanelUI-zen-emojis-picker');
|
||||
this.#panel.addEventListener('popupshowing', this);
|
||||
this.#panel.addEventListener('popuphidden', this);
|
||||
this.#panel.addEventListener('command', this);
|
||||
this.searchInput.addEventListener('input', this);
|
||||
}
|
||||
|
||||
handleEvent(event) {
|
||||
switch (event.type) {
|
||||
case 'popupshowing':
|
||||
this.#onPopupShowing(event);
|
||||
break;
|
||||
case 'popuphidden':
|
||||
this.#onPopupHidden(event);
|
||||
break;
|
||||
case 'command':
|
||||
if (event.target.id === 'PanelUI-zen-emojis-picker-none') {
|
||||
this.#selectEmoji(null);
|
||||
} else if (event.target.id === 'PanelUI-zen-emojis-picker-change-emojis') {
|
||||
this.#changePage(false);
|
||||
} else if (event.target.id === 'PanelUI-zen-emojis-picker-change-svg') {
|
||||
this.#changePage(true);
|
||||
}
|
||||
break;
|
||||
case 'input':
|
||||
this.#onSearchInput(event);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
get #emojis() {
|
||||
if (this._emojis) {
|
||||
return this._emojis;
|
||||
}
|
||||
const lazy = {};
|
||||
Services.scriptloader.loadSubScript(
|
||||
'chrome://browser/content/zen-components/ZenEmojisData.min.mjs',
|
||||
lazy
|
||||
);
|
||||
this._emojis = lazy.ZenEmojisData;
|
||||
return this._emojis;
|
||||
}
|
||||
|
||||
get emojiList() {
|
||||
return document.getElementById('PanelUI-zen-emojis-picker-list');
|
||||
}
|
||||
|
||||
get svgList() {
|
||||
return document.getElementById('PanelUI-zen-emojis-picker-svgs');
|
||||
}
|
||||
|
||||
get searchInput() {
|
||||
return document.getElementById('PanelUI-zen-emojis-picker-search');
|
||||
}
|
||||
|
||||
#changePage(toSvg = false) {
|
||||
const itemToScroll = toSvg
|
||||
? this.svgList
|
||||
: document
|
||||
.getElementById('PanelUI-zen-emojis-picker-pages')
|
||||
.querySelector('[emojis="true"]');
|
||||
itemToScroll.scrollIntoView({
|
||||
behavior: 'smooth',
|
||||
block: 'nearest',
|
||||
inline: 'start',
|
||||
});
|
||||
const button = document.getElementById(
|
||||
`PanelUI-zen-emojis-picker-change-${toSvg ? 'svg' : 'emojis'}`
|
||||
);
|
||||
const otherButton = document.getElementById(
|
||||
`PanelUI-zen-emojis-picker-change-${toSvg ? 'emojis' : 'svg'}`
|
||||
);
|
||||
button.classList.add('selected');
|
||||
otherButton.classList.remove('selected');
|
||||
}
|
||||
|
||||
#clearEmojis() {
|
||||
delete this._emojis;
|
||||
}
|
||||
|
||||
#onSearchInput(event) {
|
||||
const input = event.target;
|
||||
const value = input.value.trim().toLowerCase();
|
||||
// search for emojis.tags and order by emojis.order
|
||||
const filteredEmojis = this.#emojis
|
||||
.filter((emoji) => {
|
||||
return emoji.tags.some((tag) => tag.toLowerCase().includes(value));
|
||||
})
|
||||
.sort((a, b) => a.order - b.order);
|
||||
for (const button of this.emojiList.children) {
|
||||
const buttonEmoji = button.getAttribute('label');
|
||||
const emojiObject = filteredEmojis.find((emoji) => emoji.emoji === buttonEmoji);
|
||||
if (emojiObject) {
|
||||
button.hidden = !emojiObject.tags.some((tag) => tag.toLowerCase().includes(value));
|
||||
button.style.order = emojiObject.order;
|
||||
} else {
|
||||
button.hidden = true;
|
||||
handleEvent(event) {
|
||||
switch (event.type) {
|
||||
case 'popupshowing':
|
||||
this.#onPopupShowing(event);
|
||||
break;
|
||||
case 'popuphidden':
|
||||
this.#onPopupHidden(event);
|
||||
break;
|
||||
case 'command':
|
||||
if (event.target.id === 'PanelUI-zen-emojis-picker-none') {
|
||||
this.#selectEmoji(null);
|
||||
} else if (event.target.id === 'PanelUI-zen-emojis-picker-change-emojis') {
|
||||
this.#changePage(false);
|
||||
} else if (event.target.id === 'PanelUI-zen-emojis-picker-change-svg') {
|
||||
this.#changePage(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// note: It's async on purpose so we can render the popup before processing the emojis
|
||||
async #onPopupShowing(event) {
|
||||
if (event.target !== this.#panel) return;
|
||||
this.searchInput.value = '';
|
||||
const allowEmojis = !this.#panel.hasAttribute('only-svg-icons');
|
||||
if (allowEmojis) {
|
||||
const emojiList = this.emojiList;
|
||||
for (const emoji of this.#emojis) {
|
||||
const item = document.createXULElement('toolbarbutton');
|
||||
item.className = 'toolbarbutton-1 zen-emojis-picker-emoji';
|
||||
item.setAttribute('label', emoji.emoji);
|
||||
item.setAttribute('tooltiptext', '');
|
||||
item.addEventListener('command', () => {
|
||||
this.#selectEmoji(emoji.emoji);
|
||||
});
|
||||
emojiList.appendChild(item);
|
||||
}
|
||||
setTimeout(() => {
|
||||
this.searchInput.focus();
|
||||
}, 500);
|
||||
}
|
||||
const svgList = this.svgList;
|
||||
for (const icon of SVG_ICONS) {
|
||||
const item = document.createXULElement('toolbarbutton');
|
||||
item.className = 'toolbarbutton-1 zen-emojis-picker-svg';
|
||||
item.setAttribute('label', icon);
|
||||
item.setAttribute('tooltiptext', '');
|
||||
item.style.listStyleImage = `url(${this.getSVGURL(icon)})`;
|
||||
item.setAttribute('icon', icon);
|
||||
item.addEventListener('command', () => {
|
||||
this.#selectEmoji(this.getSVGURL(icon));
|
||||
});
|
||||
svgList.appendChild(item);
|
||||
}
|
||||
}
|
||||
|
||||
#onPopupHidden(event) {
|
||||
if (event.target !== this.#panel) return;
|
||||
this.#clearEmojis();
|
||||
|
||||
this.#changePage(false);
|
||||
|
||||
const emojiList = this.emojiList;
|
||||
emojiList.innerHTML = '';
|
||||
|
||||
this.svgList.innerHTML = '';
|
||||
|
||||
if (this.#currentPromiseReject) {
|
||||
this.#currentPromiseReject(new Error('Emoji picker closed without selection'));
|
||||
}
|
||||
|
||||
this.#currentPromise = null;
|
||||
this.#currentPromiseResolve = null;
|
||||
this.#currentPromiseReject = null;
|
||||
|
||||
this.#anchor.removeAttribute('zen-emoji-open');
|
||||
this.#anchor = null;
|
||||
}
|
||||
|
||||
#selectEmoji(emoji) {
|
||||
this.#currentPromiseResolve?.(emoji);
|
||||
this.#panel.hidePopup();
|
||||
}
|
||||
|
||||
open(anchor, { onlySvgIcons = false } = {}) {
|
||||
if (this.#currentPromise) {
|
||||
return null;
|
||||
}
|
||||
this.#currentPromise = new Promise((resolve, reject) => {
|
||||
this.#currentPromiseResolve = resolve;
|
||||
this.#currentPromiseReject = reject;
|
||||
});
|
||||
this.#anchor = anchor;
|
||||
this.#anchor.setAttribute('zen-emoji-open', 'true');
|
||||
if (onlySvgIcons) {
|
||||
this.#panel.setAttribute('only-svg-icons', 'true');
|
||||
} else {
|
||||
this.#panel.removeAttribute('only-svg-icons');
|
||||
}
|
||||
this.#panel.openPopup(anchor, 'after_start', 0, 0, false, false);
|
||||
return this.#currentPromise;
|
||||
}
|
||||
|
||||
getSVGURL(icon) {
|
||||
return `chrome://browser/skin/zen-icons/selectable/${icon}`;
|
||||
break;
|
||||
case 'input':
|
||||
this.#onSearchInput(event);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
window.gZenEmojiPicker = new nsZenEmojiPicker();
|
||||
get #emojis() {
|
||||
if (this._emojis) {
|
||||
return this._emojis;
|
||||
}
|
||||
const lazy = {};
|
||||
Services.scriptloader.loadSubScript(
|
||||
'chrome://browser/content/zen-components/ZenEmojisData.min.mjs',
|
||||
lazy
|
||||
);
|
||||
this._emojis = lazy.ZenEmojisData;
|
||||
return this._emojis;
|
||||
}
|
||||
|
||||
get emojiList() {
|
||||
return document.getElementById('PanelUI-zen-emojis-picker-list');
|
||||
}
|
||||
|
||||
get svgList() {
|
||||
return document.getElementById('PanelUI-zen-emojis-picker-svgs');
|
||||
}
|
||||
|
||||
get searchInput() {
|
||||
return document.getElementById('PanelUI-zen-emojis-picker-search');
|
||||
}
|
||||
|
||||
#changePage(toSvg = false) {
|
||||
const itemToScroll = toSvg
|
||||
? this.svgList
|
||||
: document.getElementById('PanelUI-zen-emojis-picker-pages').querySelector('[emojis="true"]');
|
||||
itemToScroll.scrollIntoView({
|
||||
behavior: 'smooth',
|
||||
block: 'nearest',
|
||||
inline: 'start',
|
||||
});
|
||||
const button = document.getElementById(
|
||||
`PanelUI-zen-emojis-picker-change-${toSvg ? 'svg' : 'emojis'}`
|
||||
);
|
||||
const otherButton = document.getElementById(
|
||||
`PanelUI-zen-emojis-picker-change-${toSvg ? 'emojis' : 'svg'}`
|
||||
);
|
||||
button.classList.add('selected');
|
||||
otherButton.classList.remove('selected');
|
||||
}
|
||||
|
||||
#clearEmojis() {
|
||||
delete this._emojis;
|
||||
}
|
||||
|
||||
#onSearchInput(event) {
|
||||
const input = event.target;
|
||||
const value = input.value.trim().toLowerCase();
|
||||
// search for emojis.tags and order by emojis.order
|
||||
const filteredEmojis = this.#emojis
|
||||
.filter((emoji) => {
|
||||
return emoji.tags.some((tag) => tag.toLowerCase().includes(value));
|
||||
})
|
||||
.sort((a, b) => a.order - b.order);
|
||||
for (const button of this.emojiList.children) {
|
||||
const buttonEmoji = button.getAttribute('label');
|
||||
const emojiObject = filteredEmojis.find((emoji) => emoji.emoji === buttonEmoji);
|
||||
if (emojiObject) {
|
||||
button.hidden = !emojiObject.tags.some((tag) => tag.toLowerCase().includes(value));
|
||||
button.style.order = emojiObject.order;
|
||||
} else {
|
||||
button.hidden = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// note: It's async on purpose so we can render the popup before processing the emojis
|
||||
async #onPopupShowing(event) {
|
||||
if (event.target !== this.#panel) return;
|
||||
this.searchInput.value = '';
|
||||
const allowEmojis = !this.#panel.hasAttribute('only-svg-icons');
|
||||
if (allowEmojis) {
|
||||
const emojiList = this.emojiList;
|
||||
for (const emoji of this.#emojis) {
|
||||
const item = document.createXULElement('toolbarbutton');
|
||||
item.className = 'toolbarbutton-1 zen-emojis-picker-emoji';
|
||||
item.setAttribute('label', emoji.emoji);
|
||||
item.setAttribute('tooltiptext', '');
|
||||
item.addEventListener('command', () => {
|
||||
this.#selectEmoji(emoji.emoji);
|
||||
});
|
||||
emojiList.appendChild(item);
|
||||
}
|
||||
setTimeout(() => {
|
||||
this.searchInput.focus();
|
||||
}, 500);
|
||||
}
|
||||
const svgList = this.svgList;
|
||||
for (const icon of SVG_ICONS) {
|
||||
const item = document.createXULElement('toolbarbutton');
|
||||
item.className = 'toolbarbutton-1 zen-emojis-picker-svg';
|
||||
item.setAttribute('label', icon);
|
||||
item.setAttribute('tooltiptext', '');
|
||||
item.style.listStyleImage = `url(${this.getSVGURL(icon)})`;
|
||||
item.setAttribute('icon', icon);
|
||||
item.addEventListener('command', () => {
|
||||
this.#selectEmoji(this.getSVGURL(icon));
|
||||
});
|
||||
svgList.appendChild(item);
|
||||
}
|
||||
}
|
||||
|
||||
#onPopupHidden(event) {
|
||||
if (event.target !== this.#panel) return;
|
||||
this.#clearEmojis();
|
||||
|
||||
this.#changePage(false);
|
||||
|
||||
const emojiList = this.emojiList;
|
||||
emojiList.innerHTML = '';
|
||||
|
||||
this.svgList.innerHTML = '';
|
||||
|
||||
if (this.#currentPromiseReject) {
|
||||
this.#currentPromiseReject(new Error('Emoji picker closed without selection'));
|
||||
}
|
||||
|
||||
this.#currentPromise = null;
|
||||
this.#currentPromiseResolve = null;
|
||||
this.#currentPromiseReject = null;
|
||||
|
||||
this.#anchor.removeAttribute('zen-emoji-open');
|
||||
this.#anchor = null;
|
||||
}
|
||||
|
||||
#selectEmoji(emoji) {
|
||||
this.#currentPromiseResolve?.(emoji);
|
||||
this.#panel.hidePopup();
|
||||
}
|
||||
|
||||
open(anchor, { onlySvgIcons = false } = {}) {
|
||||
if (this.#currentPromise) {
|
||||
return null;
|
||||
}
|
||||
this.#currentPromise = new Promise((resolve, reject) => {
|
||||
this.#currentPromiseResolve = resolve;
|
||||
this.#currentPromiseReject = reject;
|
||||
});
|
||||
this.#anchor = anchor;
|
||||
this.#anchor.setAttribute('zen-emoji-open', 'true');
|
||||
if (onlySvgIcons) {
|
||||
this.#panel.setAttribute('only-svg-icons', 'true');
|
||||
} else {
|
||||
this.#panel.removeAttribute('only-svg-icons');
|
||||
}
|
||||
this.#panel.openPopup(anchor, 'after_start', 0, 0, false, false);
|
||||
return this.#currentPromise;
|
||||
}
|
||||
|
||||
getSVGURL(icon) {
|
||||
return `chrome://browser/skin/zen-icons/selectable/${icon}`;
|
||||
}
|
||||
}
|
||||
|
||||
window.gZenEmojiPicker = new nsZenEmojiPicker();
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#
|
||||
# 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/.
|
||||
|
||||
36
src/zen/common/jar.inc.mn
Normal file
36
src/zen/common/jar.inc.mn
Normal file
@@ -0,0 +1,36 @@
|
||||
# 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/.
|
||||
|
||||
content/browser/zenThemeModifier.js (../../zen/common/zenThemeModifier.js)
|
||||
content/browser/ZenPreloadedScripts.js (../../zen/common/ZenPreloadedScripts.js)
|
||||
content/browser/zen-sets.js (../../zen/common/zen-sets.js)
|
||||
|
||||
content/browser/ZenStartup.mjs (../../zen/common/modules/ZenStartup.mjs)
|
||||
content/browser/ZenUpdates.mjs (../../zen/common/modules/ZenUpdates.mjs)
|
||||
content/browser/ZenUIManager.mjs (../../zen/common/modules/ZenUIManager.mjs)
|
||||
content/browser/zen-components/ZenCommonUtils.mjs (../../zen/common/modules/ZenCommonUtils.mjs)
|
||||
content/browser/zen-components/ZenSessionStore.mjs (../../zen/common/modules/ZenSessionStore.mjs)
|
||||
content/browser/zen-components/ZenHasPolyfill.mjs (../../zen/common/modules/ZenHasPolyfill.mjs)
|
||||
content/browser/zen-components/ZenSidebarNotification.mjs (../../zen/common/modules/ZenSidebarNotification.mjs)
|
||||
|
||||
content/browser/zen-components/ZenEmojisData.min.mjs (../../zen/common/emojis/ZenEmojisData.min.mjs)
|
||||
content/browser/zen-components/ZenEmojiPicker.mjs (../../zen/common/emojis/ZenEmojiPicker.mjs)
|
||||
|
||||
* content/browser/zen-styles/zen-theme.css (../../zen/common/styles/zen-theme.css)
|
||||
content/browser/zen-styles/zen-buttons.css (../../zen/common/styles/zen-buttons.css)
|
||||
content/browser/zen-styles/zen-browser-ui.css (../../zen/common/styles/zen-browser-ui.css)
|
||||
content/browser/zen-styles/zen-animations.css (../../zen/common/styles/zen-animations.css)
|
||||
content/browser/zen-styles/zen-panel-ui.css (../../zen/common/styles/zen-panel-ui.css)
|
||||
content/browser/zen-styles/zen-single-components.css (../../zen/common/styles/zen-single-components.css)
|
||||
content/browser/zen-styles/zen-sidebar.css (../../zen/common/styles/zen-sidebar.css)
|
||||
content/browser/zen-styles/zen-toolbar.css (../../zen/common/styles/zen-toolbar.css)
|
||||
content/browser/zen-styles/zen-browser-container.css (../../zen/common/styles/zen-browser-container.css)
|
||||
content/browser/zen-styles/zen-omnibox.css (../../zen/common/styles/zen-omnibox.css)
|
||||
content/browser/zen-styles/zen-popup.css (../../zen/common/styles/zen-popup.css)
|
||||
content/browser/zen-styles/zen-branding.css (../../zen/common/styles/zen-branding.css)
|
||||
content/browser/zen-styles/zen-sidebar-notification.css (../../zen/common/styles/zen-sidebar-notification.css)
|
||||
|
||||
content/browser/zen-styles/zen-panels/bookmarks.css (../../zen/common/styles/zen-panels/bookmarks.css)
|
||||
content/browser/zen-styles/zen-panels/print.css (../../zen/common/styles/zen-panels/print.css)
|
||||
content/browser/zen-styles/zen-panels/dialog.css (../../zen/common/styles/zen-panels/dialog.css)
|
||||
@@ -15,8 +15,7 @@ window.gZenOperatingSystemCommonUtils = {
|
||||
},
|
||||
};
|
||||
|
||||
/* eslint-disable no-unused-vars */
|
||||
class nsZenMultiWindowFeature {
|
||||
export class nsZenMultiWindowFeature {
|
||||
constructor() {}
|
||||
|
||||
static get browsers() {
|
||||
@@ -50,23 +49,21 @@ class nsZenMultiWindowFeature {
|
||||
}
|
||||
}
|
||||
|
||||
/* eslint-disable no-unused-vars */
|
||||
class nsZenDOMOperatedFeature {
|
||||
export class nsZenDOMOperatedFeature {
|
||||
constructor() {
|
||||
var initBound = this.init.bind(this);
|
||||
document.addEventListener('DOMContentLoaded', initBound, { once: true });
|
||||
}
|
||||
}
|
||||
|
||||
/* eslint-disable no-unused-vars */
|
||||
class nsZenPreloadedFeature {
|
||||
export class nsZenPreloadedFeature {
|
||||
constructor() {
|
||||
var initBound = this.init.bind(this);
|
||||
document.addEventListener('MozBeforeInitialXULLayout', initBound, { once: true });
|
||||
}
|
||||
}
|
||||
|
||||
var gZenCommonActions = {
|
||||
window.gZenCommonActions = {
|
||||
copyCurrentURLToClipboard() {
|
||||
const [currentUrl, ClipboardHelper] = gURLBar.zenStrippedURI;
|
||||
const displaySpec = currentUrl.displaySpec;
|
||||
75
src/zen/common/modules/ZenHasPolyfill.mjs
Normal file
75
src/zen/common/modules/ZenHasPolyfill.mjs
Normal file
@@ -0,0 +1,75 @@
|
||||
// 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 nsHasPolyfill {
|
||||
constructor() {
|
||||
this.observers = [];
|
||||
this.idStore = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {{selector: string, exists: boolean}} descendantSelectors
|
||||
*/
|
||||
observeSelectorExistence(element, descendantSelectors, stateAttribute, attributeFilter = []) {
|
||||
const updateState = () => {
|
||||
const exists = descendantSelectors.some(({ selector }) => {
|
||||
let selected = element.querySelector(selector);
|
||||
if (selected?.tagName?.toLowerCase() === 'menu') {
|
||||
return null;
|
||||
}
|
||||
return selected;
|
||||
});
|
||||
const { exists: shouldExist = true } = descendantSelectors;
|
||||
if (exists === shouldExist) {
|
||||
if (!element.hasAttribute(stateAttribute)) {
|
||||
gZenCompactModeManager._setElementExpandAttribute(element, true, stateAttribute);
|
||||
}
|
||||
} else {
|
||||
if (element.hasAttribute(stateAttribute)) {
|
||||
gZenCompactModeManager._setElementExpandAttribute(element, false, stateAttribute);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const observer = new MutationObserver(updateState);
|
||||
updateState();
|
||||
const observerId = this.idStore++;
|
||||
this.observers.push({
|
||||
id: observerId,
|
||||
observer,
|
||||
element,
|
||||
attributeFilter,
|
||||
});
|
||||
return observerId;
|
||||
}
|
||||
|
||||
disconnectObserver(observerId) {
|
||||
const index = this.observers.findIndex((o) => o.id === observerId);
|
||||
if (index !== -1) {
|
||||
this.observers[index].observer.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
connectObserver(observerId) {
|
||||
const observer = this.observers.find((o) => o.id === observerId);
|
||||
if (observer) {
|
||||
observer.observer.observe(observer.element, {
|
||||
childList: true,
|
||||
subtree: true,
|
||||
attributes: true,
|
||||
attributeFilter: observer.attributeFilter.length ? observer.attributeFilter : undefined,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
destroy() {
|
||||
this.observers.forEach((observer) => observer.observer.disconnect());
|
||||
this.observers = [];
|
||||
}
|
||||
}
|
||||
|
||||
const hasPolyfillInstance = new nsHasPolyfill();
|
||||
window.addEventListener('unload', () => hasPolyfillInstance.destroy(), { once: true });
|
||||
|
||||
window.ZenHasPolyfill = hasPolyfillInstance;
|
||||
47
src/zen/common/modules/ZenSessionStore.mjs
Normal file
47
src/zen/common/modules/ZenSessionStore.mjs
Normal file
@@ -0,0 +1,47 @@
|
||||
// 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 { nsZenPreloadedFeature } from 'chrome://browser/content/zen-components/ZenCommonUtils.mjs';
|
||||
|
||||
class ZenSessionStore extends nsZenPreloadedFeature {
|
||||
init() {
|
||||
this.#waitAndCleanup();
|
||||
}
|
||||
|
||||
promiseInitialized = new Promise((resolve) => {
|
||||
this._resolveInitialized = resolve;
|
||||
});
|
||||
|
||||
restoreInitialTabData(tab, tabData) {
|
||||
if (tabData.zenWorkspace) {
|
||||
tab.setAttribute('zen-workspace-id', tabData.zenWorkspace);
|
||||
}
|
||||
if (tabData.zenPinnedId) {
|
||||
tab.setAttribute('zen-pin-id', tabData.zenPinnedId);
|
||||
}
|
||||
if (tabData.zenHasStaticLabel) {
|
||||
tab.setAttribute('zen-has-static-label', 'true');
|
||||
}
|
||||
if (tabData.zenEssential) {
|
||||
tab.setAttribute('zen-essential', 'true');
|
||||
}
|
||||
if (tabData.zenDefaultUserContextId) {
|
||||
tab.setAttribute('zenDefaultUserContextId', 'true');
|
||||
}
|
||||
if (tabData.zenPinnedEntry) {
|
||||
tab.setAttribute('zen-pinned-entry', tabData.zenPinnedEntry);
|
||||
}
|
||||
}
|
||||
|
||||
async #waitAndCleanup() {
|
||||
await SessionStore.promiseInitialized;
|
||||
this.#cleanup();
|
||||
}
|
||||
|
||||
#cleanup() {
|
||||
this._resolveInitialized();
|
||||
}
|
||||
}
|
||||
|
||||
window.gZenSessionStore = new ZenSessionStore();
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user