mirror of
https://github.com/zen-browser/desktop.git
synced 2026-05-20 12:01:27 +00:00
no-bug: Add more PGO training and enable clang plugins (gh-13325)
This commit is contained in:
@@ -1,32 +1,40 @@
|
||||
diff --git a/browser/base/content/browser-box.inc.xhtml b/browser/base/content/browser-box.inc.xhtml
|
||||
index d58fcdf99843d110b708f3fbf9fb317787fadfcf..ba37068c52b24c6ebcb835c59b43ca2f1621a001 100644
|
||||
index d58fcdf99843d110b708f3fbf9fb317787fadfcf..cfc2aad902641609c3804e615c4cb66ce65299b7 100644
|
||||
--- a/browser/base/content/browser-box.inc.xhtml
|
||||
+++ b/browser/base/content/browser-box.inc.xhtml
|
||||
@@ -3,6 +3,9 @@
|
||||
@@ -3,12 +3,22 @@
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
<hbox flex="1" id="browser">
|
||||
+#include navigator-toolbox.inc.xhtml
|
||||
+ <html:div id="zen-browser-background" class="zen-browser-generic-background">
|
||||
+ <html:div class="zen-browser-grain" />
|
||||
+ </html:div>
|
||||
<box context="sidebar-context-menu" id="sidebar-main" hidden="true">
|
||||
<html:sidebar-main flex="1">
|
||||
<box id="vertical-tabs" slot="tabstrip" customizable="true" contextmenu="toolbar-context-menu"></box>
|
||||
@@ -25,7 +28,13 @@
|
||||
</stack>
|
||||
</vbox>
|
||||
<splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" resizebefore="sibling" resizeafter="none" hidden="true"/>
|
||||
</html:sidebar-main>
|
||||
</box>
|
||||
<splitter id="sidebar-launcher-splitter" class="chromeclass-extrachrome sidebar-splitter" resizebefore="sibling" resizeafter="none" hidden="true"/>
|
||||
+<vbox flex="1" id="zen-appcontent-wrapper">
|
||||
+ <html:div id="zen-appcontent-navbar-wrapper" class="chromeclass-location">
|
||||
+ <html:div id="zen-appcontent-navbar-container"></html:div>
|
||||
+ </html:div>
|
||||
+ <hbox id="zen-tabbox-wrapper" flex="1">
|
||||
<tabbox id="tabbrowser-tabbox" flex="1" tabcontainer="tabbrowser-tabs">
|
||||
+<hbox id="zen-tabbox-wrapper" flex="1">
|
||||
+ <tabbox id="tabbrowser-tabbox" flex="1" tabcontainer="tabbrowser-tabs">
|
||||
<vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome">
|
||||
<box id="sidebar-header" align="center">
|
||||
<toolbarbutton id="sidebar-switcher-target" class="tabbable" aria-expanded="false">
|
||||
@@ -25,7 +35,7 @@
|
||||
</stack>
|
||||
</vbox>
|
||||
<splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" resizebefore="sibling" resizeafter="none" hidden="true"/>
|
||||
- <tabbox id="tabbrowser-tabbox" flex="1" tabcontainer="tabbrowser-tabs">
|
||||
+#include zen-tabbrowser-elements.inc.xhtml
|
||||
<tabpanels id="tabbrowser-tabpanels" flex="1" selectedIndex="0"/>
|
||||
</tabbox>
|
||||
<splitter id="ai-window-splitter" class="chromeclass-extrachrome sidebar-splitter" resizebefore="none" resizeafter="sibling" collapsed="true"/>
|
||||
@@ -34,3 +43,5 @@
|
||||
@@ -34,3 +44,5 @@
|
||||
</stack>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
|
||||
index b42287485c2baeabe831b0d54c6f09330b0caabd..6426bb6742401470e4e48b4049cd365e2a5952e8 100644
|
||||
index b42287485c2baeabe831b0d54c6f09330b0caabd..e404c2e028e24eb4fa9b97f143ba476c1b1461fd 100644
|
||||
--- a/browser/base/content/browser.xhtml
|
||||
+++ b/browser/base/content/browser.xhtml
|
||||
@@ -19,6 +19,7 @@
|
||||
@@ -21,12 +21,12 @@ index b42287485c2baeabe831b0d54c6f09330b0caabd..6426bb6742401470e4e48b4049cd365e
|
||||
</head>
|
||||
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
# All sets except for popupsets (commands, keys, and stringbundles)
|
||||
@@ -135,9 +138,11 @@
|
||||
@@ -135,9 +138,10 @@
|
||||
</vbox>
|
||||
</html:template>
|
||||
|
||||
-#include navigator-toolbox.inc.xhtml
|
||||
+<hbox id="zen-main-app-wrapper" flex="1" class="browser-toolbox-background">
|
||||
#include navigator-toolbox.inc.xhtml
|
||||
|
||||
#include browser-box.inc.xhtml
|
||||
+</hbox>
|
||||
|
||||
@@ -39,15 +39,3 @@
|
||||
# file so that ESLint works correctly:
|
||||
# tools/lint/eslint/eslint-plugin-mozilla/lib/environments/browser-window.js
|
||||
<script type="text/javascript" src="chrome://browser/content/ZenPreloadedScripts.js"></script>
|
||||
|
||||
# Scripts used all over the browser
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenMediaController.mjs"></script>
|
||||
<script type="module" src="resource:///modules/zen/ZenSpaceCreation.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenGlanceManager.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenPinnedTabManager.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenViewSplitter.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenFolder.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenFolders.mjs"></script>s
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenDownloadAnimation.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenEmojiPicker.mjs"></script>
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenLiveFoldersUI.mjs"></script>
|
||||
|
||||
@@ -8,5 +8,3 @@
|
||||
<script type="text/javascript" src="chrome://browser/content/zen-sets.js"></script>
|
||||
|
||||
<script type="module" src="chrome://browser/content/zen-components/ZenHasPolyfill.mjs"></script>
|
||||
<script type="module" src="resource:///modules/zen/ZenSpace.mjs"></script>
|
||||
<script type="module" src="resource:///modules/zen/ZenSpaceIcons.mjs"></script>
|
||||
@@ -1,8 +1,16 @@
|
||||
diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure
|
||||
index df2b0bf0081edfdc2c7bccaefc780d2b0c6555ff..8619fc5fbf284c7a5660d5b7a77494404e448e44 100644
|
||||
index df2b0bf0081edfdc2c7bccaefc780d2b0c6555ff..53a3b55de7650799e3730372e72ad7b4bb2eea03 100644
|
||||
--- a/build/moz.configure/lto-pgo.configure
|
||||
+++ b/build/moz.configure/lto-pgo.configure
|
||||
@@ -256,7 +256,6 @@ option(
|
||||
@@ -234,6 +234,7 @@ def moz_pgo_rust(pgo, profile_use, profile_generate, c_compiler):
|
||||
if c_compiler.type == "gcc":
|
||||
die("Cannot use cross-language PGO with GCC.")
|
||||
|
||||
+ log.info("Enabling cross-language PGO for Rust")
|
||||
return True
|
||||
|
||||
|
||||
@@ -256,7 +257,6 @@ option(
|
||||
help="Indicate that ld64 is free of symbol aliasing bugs",
|
||||
)
|
||||
|
||||
|
||||
@@ -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