mirror of
https://github.com/zen-browser/components.git
synced 2025-07-07 23: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');
|
||||
titleContainer.textContent = 'Loading...';
|
||||
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('src', data.url);
|
||||
browser.setAttribute('zen-sidebar-id', data.id);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var gZenViewSplitter = new (class {
|
||||
var gZenViewSplitter = new class {
|
||||
constructor() {
|
||||
this._data = [];
|
||||
this.currentView = -1;
|
||||
|
@ -24,6 +24,17 @@ var gZenViewSplitter = new (class {
|
|||
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.
|
||||
* @description Handles the tab close event.7
|
||||
|
@ -292,6 +303,7 @@ var gZenViewSplitter = new (class {
|
|||
const container = tab.linkedBrowser.closest('.browserSidebarContainer');
|
||||
this.resetContainerStyle(container);
|
||||
container.removeEventListener('click', this.handleTabClick);
|
||||
container.removeEventListener('mouseover', this.handleTabClick);
|
||||
}
|
||||
this.tabBrowserPanel.removeAttribute('zen-split-view');
|
||||
this.tabBrowserPanel.style.gridTemplateAreas = '';
|
||||
|
@ -468,6 +480,7 @@ var gZenViewSplitter = new (class {
|
|||
}
|
||||
container.setAttribute('zen-split-anim', 'true');
|
||||
container.addEventListener('click', this.handleTabClick);
|
||||
container.addEventListener('mouseover', this.handleTabClick);
|
||||
|
||||
container.style.gridArea = `tab${index + 1}`;
|
||||
}
|
||||
|
@ -727,4 +740,4 @@ var gZenViewSplitter = new (class {
|
|||
: [gBrowser.selectedTab, tabs[nextTabIndex]];
|
||||
this.splitTabs(selected_tabs, gridType);
|
||||
}
|
||||
})();
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue