From 327380907e4d69b85d09f58e21271566a6d121ad Mon Sep 17 00:00:00 2001 From: mauro-balades Date: Tue, 8 Oct 2024 22:30:23 +0200 Subject: [PATCH] Refactor ZenCommonUtils and ZenPinnedTabManager classes --- src/ZenCommonUtils.mjs | 9 ++++++++- src/ZenPinnedTabManager.mjs | 8 ++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/ZenCommonUtils.mjs b/src/ZenCommonUtils.mjs index e2bd80f..cf8aec9 100644 --- a/src/ZenCommonUtils.mjs +++ b/src/ZenCommonUtils.mjs @@ -43,6 +43,13 @@ class ZenMultiWindowFeature { class ZenDOMOperatedFeature { constructor() { var initBound = this.init.bind(this); - window.addEventListener('DOMContentLoaded', initBound, { once: true }); + document.addEventListener('DOMContentLoaded', initBound, { once: true }); + } +} + +class ZenPreloadedFeature { + constructor() { + var initBound = this.init.bind(this); + document.addEventListener('MozBeforeInitialXULLayout', initBound, { once: true }); } } diff --git a/src/ZenPinnedTabManager.mjs b/src/ZenPinnedTabManager.mjs index 2552219..dcf940a 100644 --- a/src/ZenPinnedTabManager.mjs +++ b/src/ZenPinnedTabManager.mjs @@ -1,15 +1,15 @@ { const lazy = {}; - XPCOMUtils.defineLazyPreferenceGetter(lazy, 'zenPinnedTabRestorePinnedTabsToPinnedUrl', 'zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url', false); - XPCOMUtils.defineLazyPreferenceGetter(lazy, 'zenPinnedTabCloseShortcutBehavior', 'zen.pinned-tab-manager.close-shortcut-behavior', 'switch'); - class ZenPinnedTabsObserver { static ALL_EVENTS = ['TabPinned', 'TabUnpinned']; #listeners = []; constructor() { + XPCOMUtils.defineLazyPreferenceGetter(lazy, 'zenPinnedTabRestorePinnedTabsToPinnedUrl', 'zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url', false); + XPCOMUtils.defineLazyPreferenceGetter(lazy, 'zenPinnedTabCloseShortcutBehavior', 'zen.pinned-tab-manager.close-shortcut-behavior', 'switch'); + this.#listenPinnedTabEvents(); } @@ -36,7 +36,7 @@ } } - class ZenPinnedTabManager { + class ZenPinnedTabManager extends ZenPreloadedFeature { init() { this.observer = new ZenPinnedTabsObserver(); this._initClosePinnedTabShortcut();