mirror of
https://github.com/zen-browser/desktop.git
synced 2026-08-26 16:31:30 +00:00
no-bug: Add more PGO training and enable clang plugins (gh-13325)
This commit is contained in:
@@ -7,13 +7,52 @@
|
||||
{
|
||||
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenSpaceBookmarksStorage.js", this);
|
||||
|
||||
ChromeUtils.importESModule("chrome://browser/content/ZenStartup.mjs", { global: "current" });
|
||||
ChromeUtils.importESModule("resource:///modules/zen/ZenSpaceManager.mjs", { global: "current" });
|
||||
ChromeUtils.importESModule("chrome://browser/content/zen-components/ZenCompactMode.mjs", { global: "current" });
|
||||
ChromeUtils.importESModule("chrome://browser/content/ZenUIManager.mjs", { global: "current" });
|
||||
ChromeUtils.importESModule("chrome://browser/content/zen-components/ZenMods.mjs", { global: "current" });
|
||||
ChromeUtils.importESModule("chrome://browser/content/zen-components/ZenKeyboardShortcuts.mjs", { global: "current" });
|
||||
ChromeUtils.importESModule("chrome://browser/content/zen-components/ZenSessionStore.mjs", { global: "current" });
|
||||
let scripts = [
|
||||
"chrome://browser/content/ZenStartup.mjs",
|
||||
"resource:///modules/zen/ZenSpaceManager.mjs",
|
||||
"chrome://browser/content/zen-components/ZenCompactMode.mjs",
|
||||
"chrome://browser/content/ZenUIManager.mjs",
|
||||
"chrome://browser/content/zen-components/ZenMods.mjs",
|
||||
"chrome://browser/content/zen-components/ZenKeyboardShortcuts.mjs",
|
||||
"chrome://browser/content/zen-components/ZenSessionStore.mjs",
|
||||
"chrome://browser/content/zen-components/ZenMediaController.mjs",
|
||||
"chrome://browser/content/zen-components/ZenGlanceManager.mjs",
|
||||
"chrome://browser/content/zen-components/ZenPinnedTabManager.mjs",
|
||||
"chrome://browser/content/zen-components/ZenViewSplitter.mjs",
|
||||
"chrome://browser/content/zen-components/ZenFolders.mjs",
|
||||
"chrome://browser/content/zen-components/ZenEmojiPicker.mjs",
|
||||
"chrome://browser/content/zen-components/ZenLiveFoldersUI.mjs",
|
||||
];
|
||||
|
||||
for (let script of scripts) {
|
||||
ChromeUtils.importESModule(script, { global: "current" });
|
||||
}
|
||||
|
||||
let customZenElements = [
|
||||
["zen-folder", "chrome://browser/content/zen-components/ZenFolder.mjs"],
|
||||
["zen-download-animation", "chrome://browser/content/zen-components/ZenDownloadAnimation.mjs"],
|
||||
["zen-workspace-creation", "resource:///modules/zen/ZenSpaceCreation.mjs"],
|
||||
["zen-workspace", "resource:///modules/zen/ZenSpace.mjs"],
|
||||
["zen-workspace-icons", "resource:///modules/zen/ZenSpaceIcons.mjs"]
|
||||
];
|
||||
|
||||
document.addEventListener(
|
||||
"DOMContentLoaded",
|
||||
() => {
|
||||
// Only sync-import widgets once the document has loaded. If a widget is
|
||||
// used before DOMContentLoaded it will be imported and upgraded when
|
||||
// registering the customElements.setElementCreationCallback().
|
||||
for (let [tag, script] of customZenElements) {
|
||||
customElements.setElementCreationCallback(
|
||||
tag,
|
||||
function customElementCreationCallback() {
|
||||
ChromeUtils.importESModule(script, { global: "current" });
|
||||
}
|
||||
);
|
||||
}
|
||||
},
|
||||
{ once: true }
|
||||
);
|
||||
|
||||
Services.scriptloader.loadSubScript("chrome://browser/content/zen-components/ZenDragAndDrop.js", this);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@ class ZenStartup {
|
||||
|
||||
init() {
|
||||
this.openWatermark();
|
||||
this.#changeSidebarLocation();
|
||||
this.#zenInitBrowserLayout();
|
||||
}
|
||||
|
||||
@@ -147,21 +146,6 @@ class ZenStartup {
|
||||
});
|
||||
}
|
||||
|
||||
#changeSidebarLocation() {
|
||||
const kElementsToAppend = ["sidebar-splitter", "sidebar-box"];
|
||||
|
||||
const browser = document.getElementById("browser");
|
||||
browser.prepend(gNavToolbox);
|
||||
|
||||
const sidebarPanelWrapper = document.getElementById("tabbrowser-tabbox");
|
||||
for (let id of kElementsToAppend) {
|
||||
const elem = document.getElementById(id);
|
||||
if (elem) {
|
||||
sidebarPanelWrapper.prepend(elem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#initUIComponents() {
|
||||
const kUIComponents = ["ZenProgressBar"];
|
||||
for (let component of kUIComponents) {
|
||||
|
||||
@@ -686,7 +686,7 @@
|
||||
|
||||
/* Loading progress bar */
|
||||
#zen-loading-progress-bar {
|
||||
--zen-loading-progress-bar-color: color-mix(in srgb, var(--zen-primary-color), light-dark(rgba(0, 0, 0, 0.7), rgba(255, 255, 255, 0.7)) 70%);
|
||||
--zen-loading-progress-bar-color: color-mix(in srgb, var(--zen-primary-color), light-dark(rgba(0, 0, 0, 0.5), rgba(255, 255, 255, 0.5)) 70%);
|
||||
|
||||
position: fixed;
|
||||
|
||||
|
||||
@@ -1267,24 +1267,18 @@
|
||||
) {
|
||||
let lastTab = gBrowser.tabs.at(-1);
|
||||
let pinnedTabsCount = gBrowser._numVisiblePinTabsWithoutCollapsed;
|
||||
let isHoveringSeparator =
|
||||
event.target.parentElement.classList.contains(
|
||||
"zen-workspace-pinned-tabs-section"
|
||||
);
|
||||
|
||||
// Only if there are no normal tabs to drop after
|
||||
showIndicatorUnderNewTabButton =
|
||||
lastTab.hasAttribute("zen-empty-tab");
|
||||
let useLastPinned =
|
||||
(showIndicatorUnderNewTabButton &&
|
||||
!(pinnedTabsCount - gBrowser._numZenEssentials) &&
|
||||
Services.prefs.getBoolPref("zen.view.show-newtab-button-top")) ||
|
||||
isHoveringSeparator;
|
||||
(hoveringPeriphery ||
|
||||
(showIndicatorUnderNewTabButton &&
|
||||
!(pinnedTabsCount - gBrowser._numZenEssentials))) &&
|
||||
Services.prefs.getBoolPref("zen.view.show-newtab-button-top");
|
||||
dropElement =
|
||||
(useLastPinned
|
||||
? this._tabbrowserTabs.ariaFocusableItems.at(
|
||||
pinnedTabsCount ? pinnedTabsCount - 1 : 0
|
||||
)
|
||||
? this._tabbrowserTabs.ariaFocusableItems.at(pinnedTabsCount)
|
||||
: this._tabbrowserTabs.ariaFocusableItems.at(-1)) || lastTab;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -220,14 +220,8 @@ class nsZenViewSplitter extends nsZenDOMOperatedFeature {
|
||||
}
|
||||
const group = this._data[groupIndex];
|
||||
const tabIndex = group.tabs.indexOf(tab);
|
||||
group.tabs.splice(tabIndex, 1);
|
||||
|
||||
this.resetTabState(tab, forUnsplit);
|
||||
if (tab.group && tab.group.hasAttribute("split-view-group")) {
|
||||
gBrowser.ungroupTab(tab);
|
||||
this.#dispatchItemEvent("ZenTabRemovedFromSplit", tab);
|
||||
}
|
||||
if (group.tabs.length < 2) {
|
||||
if (group.tabs.length < 3) {
|
||||
// We need to remove all remaining tabs from the group when unsplitting
|
||||
let remainingTabs = [...group.tabs]; // Copy array since we'll modify it
|
||||
if (!dontRebuildGrid) {
|
||||
@@ -243,6 +237,14 @@ class nsZenViewSplitter extends nsZenDOMOperatedFeature {
|
||||
.removeAttribute("disabled");
|
||||
}
|
||||
} else {
|
||||
group.tabs.splice(tabIndex, 1);
|
||||
|
||||
this.resetTabState(tab, forUnsplit);
|
||||
if (tab.group && tab.group.hasAttribute("split-view-group")) {
|
||||
gBrowser.ungroupTab(tab);
|
||||
this.#dispatchItemEvent("ZenTabRemovedFromSplit", tab);
|
||||
}
|
||||
|
||||
const node = this.getSplitNodeFromTab(tab);
|
||||
const toUpdate = this.removeNode(node);
|
||||
this.applyGridLayout(toUpdate);
|
||||
|
||||
Reference in New Issue
Block a user