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();