no-bug: Add more PGO training and enable clang plugins (gh-13325)

This commit is contained in:
mr. m
2026-04-20 22:21:06 +02:00
committed by GitHub
parent 6562610df1
commit f828d2eb20
22 changed files with 240 additions and 92 deletions

View File

@@ -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);
}

View File

@@ -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) {

View File

@@ -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;

View File

@@ -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;
}
}

View File

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