mirror of
https://github.com/zen-browser/desktop.git
synced 2025-09-11 05:48:21 +00:00
Add debug logging for pinned tab manager and ensure session store initialization
This commit is contained in:
@@ -170,6 +170,7 @@ pref('zen.tab-unloader.enabled', true);
|
|||||||
pref('zen.tab-unloader.timeout-minutes', 20);
|
pref('zen.tab-unloader.timeout-minutes', 20);
|
||||||
pref('zen.tab-unloader.excluded-urls', "example.com,example.org");
|
pref('zen.tab-unloader.excluded-urls', "example.com,example.org");
|
||||||
|
|
||||||
|
pref('zen.pinned-tab-manager.debug', false);
|
||||||
pref('zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url', false);
|
pref('zen.pinned-tab-manager.restore-pinned-tabs-to-pinned-url', false);
|
||||||
pref('zen.pinned-tab-manager.close-shortcut-behavior', 'switch');
|
pref('zen.pinned-tab-manager.close-shortcut-behavior', 'switch');
|
||||||
|
|
||||||
|
@@ -51,6 +51,7 @@
|
|||||||
if (!this.enabled) {
|
if (!this.enabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
this._canLog = Services.prefs.getBoolPref('zen.pinned-tab-manager.debug', false);
|
||||||
this.observer = new ZenPinnedTabsObserver();
|
this.observer = new ZenPinnedTabsObserver();
|
||||||
this._initClosePinnedTabShortcut();
|
this._initClosePinnedTabShortcut();
|
||||||
this._insertItemsIntoTabContextMenu();
|
this._insertItemsIntoTabContextMenu();
|
||||||
@@ -71,6 +72,12 @@
|
|||||||
await this._refreshPinnedTabs(newWorkspace, { init: onInit });
|
await this._refreshPinnedTabs(newWorkspace, { init: onInit });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log(message) {
|
||||||
|
if (this._canLog) {
|
||||||
|
console.log(`[ZenPinnedTabManager] ${message}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onTabIconChanged(tab, url = null) {
|
onTabIconChanged(tab, url = null) {
|
||||||
const iconUrl = url ?? tab.iconImage.src;
|
const iconUrl = url ?? tab.iconImage.src;
|
||||||
if (tab.hasAttribute('zen-essential')) {
|
if (tab.hasAttribute('zen-essential')) {
|
||||||
@@ -128,6 +135,7 @@
|
|||||||
this._pinsCache = [];
|
this._pinsCache = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.log(`Initialized pins cache with ${this._pinsCache.length} pins`);
|
||||||
return this._pinsCache;
|
return this._pinsCache;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -224,6 +232,7 @@
|
|||||||
SessionStore.setTabState(newTab, state);
|
SessionStore.setTabState(newTab, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.log(`Created new pinned tab for pin ${pin.uuid} (isEssential: ${pin.isEssential})`);
|
||||||
gBrowser.pinTab(newTab);
|
gBrowser.pinTab(newTab);
|
||||||
|
|
||||||
newTab.initialize();
|
newTab.initialize();
|
||||||
@@ -372,6 +381,7 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.log(`Setting pinned attributes for tab ${tab.linkedBrowser.currentURI.spec}`);
|
||||||
const browser = tab.linkedBrowser;
|
const browser = tab.linkedBrowser;
|
||||||
|
|
||||||
const uuid = gZenUIManager.generateUuidv4();
|
const uuid = gZenUIManager.generateUuidv4();
|
||||||
@@ -413,6 +423,7 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.log(`Removing pinned attributes for tab ${tab.getAttribute('zen-pin-id')}`);
|
||||||
await ZenPinnedTabsStorage.removePin(tab.getAttribute('zen-pin-id'));
|
await ZenPinnedTabsStorage.removePin(tab.getAttribute('zen-pin-id'));
|
||||||
|
|
||||||
if (!isClosing) {
|
if (!isClosing) {
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
var ZenPinnedTabsStorage = {
|
var ZenPinnedTabsStorage = {
|
||||||
async init() {
|
async init() {
|
||||||
await SessionStore.promiseInitialized;
|
|
||||||
await this._ensureTable();
|
await this._ensureTable();
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -47,6 +46,7 @@ var ZenPinnedTabsStorage = {
|
|||||||
CREATE INDEX IF NOT EXISTS idx_zen_pins_changes_uuid ON zen_pins_changes(uuid)
|
CREATE INDEX IF NOT EXISTS idx_zen_pins_changes_uuid ON zen_pins_changes(uuid)
|
||||||
`);
|
`);
|
||||||
|
|
||||||
|
await SessionStore.promiseInitialized;
|
||||||
this._resolveInitialized();
|
this._resolveInitialized();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@@ -30,9 +30,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
});
|
});
|
||||||
|
|
||||||
async waitForPromises() {
|
async waitForPromises() {
|
||||||
await SessionStore.promiseInitialized;
|
await Promise.all([this.promiseDBInitialized, this.promisePinnedInitialized, SessionStore.promiseInitialized]);
|
||||||
await this.promiseDBInitialized;
|
|
||||||
await this.promisePinnedInitialized;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async init() {
|
async init() {
|
||||||
@@ -384,13 +382,13 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async initializeWorkspaces() {
|
async initializeWorkspaces() {
|
||||||
|
await this.waitForPromises();
|
||||||
await this.initializeWorkspacesButton();
|
await this.initializeWorkspacesButton();
|
||||||
if (this.workspaceEnabled) {
|
if (this.workspaceEnabled) {
|
||||||
this._initializeWorkspaceCreationIcons();
|
this._initializeWorkspaceCreationIcons();
|
||||||
this._initializeWorkspaceTabContextMenus();
|
this._initializeWorkspaceTabContextMenus();
|
||||||
await this.workspaceBookmarks();
|
await this.workspaceBookmarks();
|
||||||
window.addEventListener('TabBrowserInserted', this.onTabBrowserInserted.bind(this));
|
window.addEventListener('TabBrowserInserted', this.onTabBrowserInserted.bind(this));
|
||||||
await this.waitForPromises();
|
|
||||||
let workspaces = await this._workspaces();
|
let workspaces = await this._workspaces();
|
||||||
let activeWorkspace = null;
|
let activeWorkspace = null;
|
||||||
if (workspaces.workspaces.length === 0) {
|
if (workspaces.workspaces.length === 0) {
|
||||||
@@ -1358,7 +1356,9 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
|||||||
this.tabContainer.removeAttribute('dont-animate-tabs');
|
this.tabContainer.removeAttribute('dont-animate-tabs');
|
||||||
// Also animate the workspace indicator label
|
// Also animate the workspace indicator label
|
||||||
this._animateElement(document.getElementById('zen-current-workspace-indicator'), direction, out, () => onAnimationEnd());
|
this._animateElement(document.getElementById('zen-current-workspace-indicator'), direction, out, () => onAnimationEnd());
|
||||||
this._animateElement(document.getElementById('tabbrowser-arrowscrollbox-periphery'), direction, out, () => onAnimationEnd());
|
this._animateElement(document.getElementById('tabbrowser-arrowscrollbox-periphery'), direction, out, () =>
|
||||||
|
onAnimationEnd()
|
||||||
|
);
|
||||||
for (const tab of tabs) {
|
for (const tab of tabs) {
|
||||||
this._animateElement(tab, direction, out, () => onAnimationEnd());
|
this._animateElement(tab, direction, out, () => onAnimationEnd());
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user