diff --git a/src/browser/themes/shared/zen-icons/common/library/library-downloads-active.svg b/src/browser/themes/shared/zen-icons/common/library/library-downloads-active.svg new file mode 100644 index 000000000..4ad292573 --- /dev/null +++ b/src/browser/themes/shared/zen-icons/common/library/library-downloads-active.svg @@ -0,0 +1,36 @@ +#filter dumbComments emptyLines substitution +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + + + + + + + + + + + + + + + diff --git a/src/browser/themes/shared/zen-icons/common/library/library-downloads.svg b/src/browser/themes/shared/zen-icons/common/library/library-downloads.svg index dfe0eab65..b67510830 100644 --- a/src/browser/themes/shared/zen-icons/common/library/library-downloads.svg +++ b/src/browser/themes/shared/zen-icons/common/library/library-downloads.svg @@ -2,7 +2,7 @@ # 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/. - - - - \ No newline at end of file + + + + diff --git a/src/browser/themes/shared/zen-icons/common/library/library-history-active.svg b/src/browser/themes/shared/zen-icons/common/library/library-history-active.svg new file mode 100644 index 000000000..df078066b --- /dev/null +++ b/src/browser/themes/shared/zen-icons/common/library/library-history-active.svg @@ -0,0 +1,62 @@ +#filter dumbComments emptyLines substitution +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/browser/themes/shared/zen-icons/common/library/library-history.svg b/src/browser/themes/shared/zen-icons/common/library/library-history.svg index 2f8aa6d78..2cc30e8b1 100644 --- a/src/browser/themes/shared/zen-icons/common/library/library-history.svg +++ b/src/browser/themes/shared/zen-icons/common/library/library-history.svg @@ -2,7 +2,13 @@ # 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/. - - - - \ No newline at end of file + + + + + + + + + diff --git a/src/browser/themes/shared/zen-icons/common/library/library-media-active.svg b/src/browser/themes/shared/zen-icons/common/library/library-media-active.svg new file mode 100644 index 000000000..2233a7d53 --- /dev/null +++ b/src/browser/themes/shared/zen-icons/common/library/library-media-active.svg @@ -0,0 +1,74 @@ +#filter dumbComments emptyLines substitution +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/browser/themes/shared/zen-icons/common/library/library-media.svg b/src/browser/themes/shared/zen-icons/common/library/library-media.svg new file mode 100644 index 000000000..9f6b9f048 --- /dev/null +++ b/src/browser/themes/shared/zen-icons/common/library/library-media.svg @@ -0,0 +1,22 @@ +#filter dumbComments emptyLines substitution +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + + + + + + + + + + + + + + + + + + diff --git a/src/browser/themes/shared/zen-icons/common/library/library-spaces-active.svg b/src/browser/themes/shared/zen-icons/common/library/library-spaces-active.svg new file mode 100644 index 000000000..90ab225dc --- /dev/null +++ b/src/browser/themes/shared/zen-icons/common/library/library-spaces-active.svg @@ -0,0 +1,56 @@ +#filter dumbComments emptyLines substitution +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/browser/themes/shared/zen-icons/common/library/library-spaces.svg b/src/browser/themes/shared/zen-icons/common/library/library-spaces.svg index c4343ccec..a2165ea53 100644 --- a/src/browser/themes/shared/zen-icons/common/library/library-spaces.svg +++ b/src/browser/themes/shared/zen-icons/common/library/library-spaces.svg @@ -2,17 +2,21 @@ # 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/. - + - - - + + + + + - - + + + + - - + + - \ No newline at end of file + diff --git a/src/browser/themes/shared/zen-icons/jar.inc.mn b/src/browser/themes/shared/zen-icons/jar.inc.mn index 243cb317a..0538f9926 100644 --- a/src/browser/themes/shared/zen-icons/jar.inc.mn +++ b/src/browser/themes/shared/zen-icons/jar.inc.mn @@ -13,7 +13,6 @@ * skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/nucleo/autoplay-media-fill.svg) * skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/nucleo/autoplay-media.svg) * skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/nucleo/back.svg) -* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg) * skin/classic/browser/zen-icons/block.svg (../shared/zen-icons/nucleo/block.svg) * skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg) * skin/classic/browser/zen-icons/bolt.svg (../shared/zen-icons/nucleo/bolt.svg) @@ -104,26 +103,26 @@ * skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/nucleo/popup-fill.svg) * skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/nucleo/popup.svg) * skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/nucleo/print.svg) -* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg) * skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/nucleo/private-window.svg) +* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg) * skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/nucleo/reader-mode.svg) * skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/nucleo/reload.svg) * skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/nucleo/save.svg) * skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/nucleo/screen-blocked.svg) -* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg) * skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/nucleo/screen.svg) +* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg) * skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/nucleo/search-glass.svg) * skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/nucleo/search-page.svg) * skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/nucleo/security-broken.svg) -* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg) * skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/nucleo/security-warning.svg) +* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg) * skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/nucleo/send-to-device.svg) * skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/nucleo/settings-fill.svg) * skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/nucleo/settings.svg) * skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/nucleo/share.svg) * skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/nucleo/sidebar-right.svg) -* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg) * skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/nucleo/sidebar.svg) +* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg) * skin/classic/browser/zen-icons/sliders.svg (../shared/zen-icons/nucleo/sliders.svg) * skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/nucleo/sparkles.svg) * skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/nucleo/spell-check.svg) @@ -163,7 +162,6 @@ * skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/nucleo/autoplay-media-fill.svg) * skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/nucleo/autoplay-media.svg) * skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/nucleo/back.svg) -* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg) * skin/classic/browser/zen-icons/block.svg (../shared/zen-icons/nucleo/block.svg) * skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg) * skin/classic/browser/zen-icons/bolt.svg (../shared/zen-icons/nucleo/bolt.svg) @@ -254,26 +252,26 @@ * skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/nucleo/popup-fill.svg) * skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/nucleo/popup.svg) * skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/nucleo/print.svg) -* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg) * skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/nucleo/private-window.svg) +* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg) * skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/nucleo/reader-mode.svg) * skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/nucleo/reload.svg) * skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/nucleo/save.svg) * skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/nucleo/screen-blocked.svg) -* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg) * skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/nucleo/screen.svg) +* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg) * skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/nucleo/search-glass.svg) * skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/nucleo/search-page.svg) * skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/nucleo/security-broken.svg) -* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg) * skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/nucleo/security-warning.svg) +* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg) * skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/nucleo/send-to-device.svg) * skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/nucleo/settings-fill.svg) * skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/nucleo/settings.svg) * skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/nucleo/share.svg) * skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/nucleo/sidebar-right.svg) -* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg) * skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/nucleo/sidebar.svg) +* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg) * skin/classic/browser/zen-icons/sliders.svg (../shared/zen-icons/nucleo/sliders.svg) * skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/nucleo/sparkles.svg) * skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/nucleo/spell-check.svg) @@ -313,7 +311,6 @@ * skin/classic/browser/zen-icons/autoplay-media-fill.svg (../shared/zen-icons/nucleo/autoplay-media-fill.svg) * skin/classic/browser/zen-icons/autoplay-media.svg (../shared/zen-icons/nucleo/autoplay-media.svg) * skin/classic/browser/zen-icons/back.svg (../shared/zen-icons/nucleo/back.svg) -* skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg) * skin/classic/browser/zen-icons/block.svg (../shared/zen-icons/nucleo/block.svg) * skin/classic/browser/zen-icons/blocked-element.svg (../shared/zen-icons/nucleo/blocked-element.svg) * skin/classic/browser/zen-icons/bolt.svg (../shared/zen-icons/nucleo/bolt.svg) @@ -404,26 +401,26 @@ * skin/classic/browser/zen-icons/popup-fill.svg (../shared/zen-icons/nucleo/popup-fill.svg) * skin/classic/browser/zen-icons/popup.svg (../shared/zen-icons/nucleo/popup.svg) * skin/classic/browser/zen-icons/print.svg (../shared/zen-icons/nucleo/print.svg) -* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg) * skin/classic/browser/zen-icons/private-window.svg (../shared/zen-icons/nucleo/private-window.svg) +* skin/classic/browser/zen-icons/privateBrowsing.svg (../shared/zen-icons/nucleo/privateBrowsing.svg) * skin/classic/browser/zen-icons/reader-mode.svg (../shared/zen-icons/nucleo/reader-mode.svg) * skin/classic/browser/zen-icons/reload.svg (../shared/zen-icons/nucleo/reload.svg) * skin/classic/browser/zen-icons/save.svg (../shared/zen-icons/nucleo/save.svg) * skin/classic/browser/zen-icons/screen-blocked.svg (../shared/zen-icons/nucleo/screen-blocked.svg) -* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg) * skin/classic/browser/zen-icons/screen.svg (../shared/zen-icons/nucleo/screen.svg) +* skin/classic/browser/zen-icons/screenshot.svg (../shared/zen-icons/nucleo/screenshot.svg) * skin/classic/browser/zen-icons/search-glass.svg (../shared/zen-icons/nucleo/search-glass.svg) * skin/classic/browser/zen-icons/search-page.svg (../shared/zen-icons/nucleo/search-page.svg) * skin/classic/browser/zen-icons/security-broken.svg (../shared/zen-icons/nucleo/security-broken.svg) -* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg) * skin/classic/browser/zen-icons/security-warning.svg (../shared/zen-icons/nucleo/security-warning.svg) +* skin/classic/browser/zen-icons/security.svg (../shared/zen-icons/nucleo/security.svg) * skin/classic/browser/zen-icons/send-to-device.svg (../shared/zen-icons/nucleo/send-to-device.svg) * skin/classic/browser/zen-icons/settings-fill.svg (../shared/zen-icons/nucleo/settings-fill.svg) * skin/classic/browser/zen-icons/settings.svg (../shared/zen-icons/nucleo/settings.svg) * skin/classic/browser/zen-icons/share.svg (../shared/zen-icons/nucleo/share.svg) * skin/classic/browser/zen-icons/sidebar-right.svg (../shared/zen-icons/nucleo/sidebar-right.svg) -* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg) * skin/classic/browser/zen-icons/sidebar.svg (../shared/zen-icons/nucleo/sidebar.svg) +* skin/classic/browser/zen-icons/sidebars-right.svg (../shared/zen-icons/nucleo/sidebars-right.svg) * skin/classic/browser/zen-icons/sliders.svg (../shared/zen-icons/nucleo/sliders.svg) * skin/classic/browser/zen-icons/sparkles.svg (../shared/zen-icons/nucleo/sparkles.svg) * skin/classic/browser/zen-icons/spell-check.svg (../shared/zen-icons/nucleo/spell-check.svg) @@ -453,17 +450,22 @@ * skin/classic/browser/zen-icons/zoom-out.svg (../shared/zen-icons/nucleo/zoom-out.svg) #endif * skin/classic/browser/zen-icons/urlbar-arrow.svg (../shared/zen-icons/common/urlbar-arrow.svg) -* skin/classic/browser/zen-icons/library/library-downloads.svg (../shared/zen-icons/common/library/library-downloads.svg) -* skin/classic/browser/zen-icons/library/library-history.svg (../shared/zen-icons/common/library/library-history.svg) -* skin/classic/browser/zen-icons/library/library-spaces.svg (../shared/zen-icons/common/library/library-spaces.svg) +* skin/classic/browser/zen-icons/library/library-downloads.svg (../shared/zen-icons/common/library/library-downloads.svg) +* skin/classic/browser/zen-icons/library/library-downloads-active.svg (../shared/zen-icons/common/library/library-downloads-active.svg) +* skin/classic/browser/zen-icons/library/library-history.svg (../shared/zen-icons/common/library/library-history.svg) +* skin/classic/browser/zen-icons/library/library-history-active.svg (../shared/zen-icons/common/library/library-history-active.svg) +* skin/classic/browser/zen-icons/library/library-spaces.svg (../shared/zen-icons/common/library/library-spaces.svg) +* skin/classic/browser/zen-icons/library/library-spaces-active.svg (../shared/zen-icons/common/library/library-spaces-active.svg) +* skin/classic/browser/zen-icons/library/library-media.svg (../shared/zen-icons/common/library/library-media.svg) +* skin/classic/browser/zen-icons/library/library-media-active.svg (../shared/zen-icons/common/library/library-media-active.svg) * skin/classic/browser/zen-icons/selectable/airplane.svg (../shared/zen-icons/common/selectable/airplane.svg) * skin/classic/browser/zen-icons/selectable/american-football.svg (../shared/zen-icons/common/selectable/american-football.svg) * skin/classic/browser/zen-icons/selectable/baseball.svg (../shared/zen-icons/common/selectable/baseball.svg) * skin/classic/browser/zen-icons/selectable/basket.svg (../shared/zen-icons/common/selectable/basket.svg) * skin/classic/browser/zen-icons/selectable/bed.svg (../shared/zen-icons/common/selectable/bed.svg) * skin/classic/browser/zen-icons/selectable/bell.svg (../shared/zen-icons/common/selectable/bell.svg) -* skin/classic/browser/zen-icons/selectable/bookmark.svg (../shared/zen-icons/common/selectable/bookmark.svg) * skin/classic/browser/zen-icons/selectable/book.svg (../shared/zen-icons/common/selectable/book.svg) +* skin/classic/browser/zen-icons/selectable/bookmark.svg (../shared/zen-icons/common/selectable/bookmark.svg) * skin/classic/browser/zen-icons/selectable/briefcase.svg (../shared/zen-icons/common/selectable/briefcase.svg) * skin/classic/browser/zen-icons/selectable/brush.svg (../shared/zen-icons/common/selectable/brush.svg) * skin/classic/browser/zen-icons/selectable/bug.svg (../shared/zen-icons/common/selectable/bug.svg) @@ -525,8 +527,8 @@ * skin/classic/browser/zen-icons/selectable/shapes.svg (../shared/zen-icons/common/selectable/shapes.svg) * skin/classic/browser/zen-icons/selectable/shirt.svg (../shared/zen-icons/common/selectable/shirt.svg) * skin/classic/browser/zen-icons/selectable/skull.svg (../shared/zen-icons/common/selectable/skull.svg) -* skin/classic/browser/zen-icons/selectable/squares.svg (../shared/zen-icons/common/selectable/squares.svg) * skin/classic/browser/zen-icons/selectable/square.svg (../shared/zen-icons/common/selectable/square.svg) +* skin/classic/browser/zen-icons/selectable/squares.svg (../shared/zen-icons/common/selectable/squares.svg) * skin/classic/browser/zen-icons/selectable/star-1.svg (../shared/zen-icons/common/selectable/star-1.svg) * skin/classic/browser/zen-icons/selectable/star.svg (../shared/zen-icons/common/selectable/star.svg) * skin/classic/browser/zen-icons/selectable/stats-chart.svg (../shared/zen-icons/common/selectable/stats-chart.svg) diff --git a/src/zen/common/sys/ZenUIMigration.sys.mjs b/src/zen/common/sys/ZenUIMigration.sys.mjs index d025d97df..250a730a6 100644 --- a/src/zen/common/sys/ZenUIMigration.sys.mjs +++ b/src/zen/common/sys/ZenUIMigration.sys.mjs @@ -7,11 +7,14 @@ import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs"; const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { + CustomizableUI: "moz-src:///browser/components/customizableui/CustomizableUI.sys.mjs", SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs", }); class nsZenUIMigration { PREF_NAME = "zen.ui.migration.version"; + PREF_LIBRARY_REPLACED_DOWNLOADS = + "zen.ui.migration.library-button-replaced-downloads"; MIGRATION_VERSION = 6; init(isNewProfile) { @@ -22,6 +25,14 @@ class nsZenUIMigration { console.error("ZenUIMigration: Error during migration", e); } } + try { + this.#maybeReplaceDownloadsWithLibrary(isNewProfile); + } catch (e) { + console.error( + "ZenUIMigration: Error replacing downloads with library button", + e + ); + } this.clearVariables(); if (this.shouldRestart) { Services.startup.quit( @@ -50,6 +61,28 @@ class nsZenUIMigration { this._migrationVersion = this.MIGRATION_VERSION; } + #maybeReplaceDownloadsWithLibrary(isNewProfile) { + if ( + Services.prefs.getBoolPref(this.PREF_LIBRARY_REPLACED_DOWNLOADS, false) + ) { + return; + } + if (!isNewProfile) { + const placement = + lazy.CustomizableUI.getPlacementOfWidget("downloads-button"); + if (placement?.area === "zen-sidebar-foot-buttons") { + const { position } = placement; + lazy.CustomizableUI.removeWidgetFromArea("downloads-button"); + lazy.CustomizableUI.addWidgetToArea( + "zen-library-button", + "zen-sidebar-foot-buttons", + position + ); + } + } + Services.prefs.setBoolPref(this.PREF_LIBRARY_REPLACED_DOWNLOADS, true); + } + _migrateV1() { // If there's an userChrome.css or userContent.css existing, we set // 'toolkit.legacyUserProfileCustomizations.stylesheets' back to true diff --git a/src/zen/library/ZenLibrary.mjs b/src/zen/library/ZenLibrary.mjs index 6397e9178..99cbe2c42 100644 --- a/src/zen/library/ZenLibrary.mjs +++ b/src/zen/library/ZenLibrary.mjs @@ -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/. -import { html } from "chrome://global/content/vendor/lit.all.mjs"; +import { html, keyed } from "chrome://global/content/vendor/lit.all.mjs"; import { MozLitElement } from "chrome://global/content/lit-utils.mjs"; let lazy = {}; @@ -51,10 +51,16 @@ export class ZenLibrary extends MozLitElement { static queries = { _content: "#zen-library-content", _tabs: { all: "#zen-library-sidebar-tabs > .library-tab" }, + _header: "#zen-library-sidebar-header", }; + createRenderRoot() { + return this; + } + constructor() { super(); + this._iconKeys = {}; this.activeTab = Services.prefs.getStringPref(PREVIOUS_TAB_PREF, "") || "history"; } @@ -62,6 +68,7 @@ export class ZenLibrary extends MozLitElement { if (this.activeTab === value) { return; } + this._iconKeys[value] = Date.now(); this._activeTab = value; Services.prefs.setStringPref(PREVIOUS_TAB_PREF, value); } @@ -106,6 +113,13 @@ export class ZenLibrary extends MozLitElement { this.#initialized = false; } + firstUpdated() { + super.firstUpdated?.(); + this._header.appendChild( + gZenVerticalTabsManager.actualWindowButtons.cloneNode(true) + ); + } + render() { return html` (this.activeTab = Section.id)} + @click=${() => { + this._iconKeys[Section.id] = Date.now(); + if (this.activeTab !== Section.id) { + this.activeTab = Section.id; + } else { + this.requestUpdate(); + } + }} > - + ${this.activeTab === Section.id + ? keyed( + this._iconKeys[Section.id], + html`` + ) + : html``} ` @@ -237,8 +265,7 @@ export class ZenLibrary extends MozLitElement { */ #computeWrapperTargetPx() { const isRightSide = gZenVerticalTabsManager._prefsRightSide; - let translateX = - window.windowUtils.getBoundsWithoutFlushing(this)[ + let translateX = this.getBoundingClientRect()[ isRightSide ? "left" : "right" ]; const contentPosition = window.windowUtils.getBoundsWithoutFlushing( diff --git a/src/zen/library/ZenLibrarySections.mjs b/src/zen/library/ZenLibrarySections.mjs index 94d1ca38e..c5dbdf3df 100644 --- a/src/zen/library/ZenLibrarySections.mjs +++ b/src/zen/library/ZenLibrarySections.mjs @@ -490,8 +490,8 @@ class SearchSection extends LibrarySection { url, clientX: rect.left - tabPanelRect.left, clientY: rect.top - tabPanelRect.top, - width: rect.width, - height: rect.height, + width: 0, + height: 0, triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(), }); } diff --git a/src/zen/library/zen-library.css b/src/zen/library/zen-library.css index 03e0ca99b..cd53f24f8 100644 --- a/src/zen/library/zen-library.css +++ b/src/zen/library/zen-library.css @@ -4,7 +4,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -:host(zen-library) { +zen-library { @media (-moz-platform: windows) { --border-radius-medium: 6px; @@ -26,7 +26,7 @@ z-index: 2; } -:host(zen-library[open]) { +zen-library[open] { transform: translateX(0); opacity: 1; z-index: 9; @@ -114,12 +114,7 @@ height: 28px; fill: rgba(255, 255, 255, 0.8); stroke: var(--zen-colors-primary); - fill-opacity: 0; - -moz-context-properties: fill, fill-opacity, stroke; - } - - &[active] img { - fill-opacity: 1; + -moz-context-properties: fill, stroke; } }