mirror of
https://github.com/zen-browser/components.git
synced 2025-07-08 17:19:58 +02:00
Refactor ZenSidebarManager to associate browser with tab
This commit is contained in:
parent
5df1298bfd
commit
37804deef0
2 changed files with 18 additions and 2 deletions
|
@ -435,6 +435,9 @@ var gZenBrowserManagerSidebar = {
|
||||||
const titleContainer = document.getElementById('zen-sidebar-web-panel-title');
|
const titleContainer = document.getElementById('zen-sidebar-web-panel-title');
|
||||||
titleContainer.textContent = 'Loading...';
|
titleContainer.textContent = 'Loading...';
|
||||||
let browser = gBrowser.createBrowser({});
|
let browser = gBrowser.createBrowser({});
|
||||||
|
const tab = this.sidebar.querySelector(`[zen-sidebar-id='${data.id}']`);
|
||||||
|
gBrowser._tabForBrowser.set(browser, tab);
|
||||||
|
tab.linkedBrowser = browser;
|
||||||
browser.setAttribute('disablefullscreen', 'true');
|
browser.setAttribute('disablefullscreen', 'true');
|
||||||
browser.setAttribute('src', data.url);
|
browser.setAttribute('src', data.url);
|
||||||
browser.setAttribute('zen-sidebar-id', data.id);
|
browser.setAttribute('zen-sidebar-id', data.id);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
var gZenViewSplitter = new (class {
|
var gZenViewSplitter = new class {
|
||||||
constructor() {
|
constructor() {
|
||||||
this._data = [];
|
this._data = [];
|
||||||
this.currentView = -1;
|
this.currentView = -1;
|
||||||
|
@ -24,6 +24,17 @@ var gZenViewSplitter = new (class {
|
||||||
sibling.insertAdjacentElement('afterend', document.createXULElement('menuseparator'));
|
sibling.insertAdjacentElement('afterend', document.createXULElement('menuseparator'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get canChangeTabOnHover() {
|
||||||
|
delete this.canChangeTabOnHover;
|
||||||
|
XPCOMUtils.defineLazyPreferenceGetter(
|
||||||
|
this,
|
||||||
|
"canChangeTabOnHover",
|
||||||
|
"zen.splitView.change-on-hover",
|
||||||
|
false
|
||||||
|
);
|
||||||
|
return this.canChangeTabOnHover;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {Event} event - The event that triggered the tab close.
|
* @param {Event} event - The event that triggered the tab close.
|
||||||
* @description Handles the tab close event.7
|
* @description Handles the tab close event.7
|
||||||
|
@ -292,6 +303,7 @@ var gZenViewSplitter = new (class {
|
||||||
const container = tab.linkedBrowser.closest('.browserSidebarContainer');
|
const container = tab.linkedBrowser.closest('.browserSidebarContainer');
|
||||||
this.resetContainerStyle(container);
|
this.resetContainerStyle(container);
|
||||||
container.removeEventListener('click', this.handleTabClick);
|
container.removeEventListener('click', this.handleTabClick);
|
||||||
|
container.removeEventListener('mouseover', this.handleTabClick);
|
||||||
}
|
}
|
||||||
this.tabBrowserPanel.removeAttribute('zen-split-view');
|
this.tabBrowserPanel.removeAttribute('zen-split-view');
|
||||||
this.tabBrowserPanel.style.gridTemplateAreas = '';
|
this.tabBrowserPanel.style.gridTemplateAreas = '';
|
||||||
|
@ -468,6 +480,7 @@ var gZenViewSplitter = new (class {
|
||||||
}
|
}
|
||||||
container.setAttribute('zen-split-anim', 'true');
|
container.setAttribute('zen-split-anim', 'true');
|
||||||
container.addEventListener('click', this.handleTabClick);
|
container.addEventListener('click', this.handleTabClick);
|
||||||
|
container.addEventListener('mouseover', this.handleTabClick);
|
||||||
|
|
||||||
container.style.gridArea = `tab${index + 1}`;
|
container.style.gridArea = `tab${index + 1}`;
|
||||||
}
|
}
|
||||||
|
@ -727,4 +740,4 @@ var gZenViewSplitter = new (class {
|
||||||
: [gBrowser.selectedTab, tabs[nextTabIndex]];
|
: [gBrowser.selectedTab, tabs[nextTabIndex]];
|
||||||
this.splitTabs(selected_tabs, gridType);
|
this.splitTabs(selected_tabs, gridType);
|
||||||
}
|
}
|
||||||
})();
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue