feat: Start using ld64 for macos builds, b=no-bug, c=configs, compact-mode

This commit is contained in:
mr. m
2026-01-05 13:31:08 +01:00
parent be8cbce23e
commit ea7024aae4
3 changed files with 23 additions and 20 deletions

View File

@@ -43,8 +43,8 @@ else
# TODO: We'll want to switch to aarch64-apple-macos eventually.
export CFLAGS="$CFLAGS -mcpu=apple-m1"
export CXXFLAGS="$CXXFLAGS -mcpu=apple-m1"
# Keep using ld64 on PGO/LTO builds because of performance regressions when using lld.
ac_add_options --enable-linker=ld64
fi
fi
# Keep using ld64 on PGO/LTO builds because of performance regressions when using lld.
ac_add_options --enable-linker=ld64

View File

@@ -0,0 +1,13 @@
diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
index 3d8d2ea651fa1320306b32b0f7b1b73e0da1df61..257f75a92a26d7a724353c614365924d230aef83 100644
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -1991,7 +1991,7 @@ def select_linker_tmpl(host_or_target):
# ensure consistent output.
env["LC_ALL"] = "C"
retcode, stdout, stderr = get_cmd_output(*cmd, env=env)
- if retcode == 1 and "Logging ld64 options" in stderr:
+ if retcode == 1 and "ld: unknown options: --version" in stderr:
kind = "ld64"
elif retcode != 0:

View File

@@ -433,18 +433,16 @@ window.gZenCompactModeManager = {
}
if (canHideSidebar && isCompactMode) {
this._setElementExpandAttribute(this.sidebar, false);
gZenUIManager.motion
.animate(
gZenUIManager
.elementAnimate(
this.sidebar,
{
marginRight: [0, this.sidebarIsOnRight ? `-${sidebarWidth}px` : 0],
marginLeft: [0, this.sidebarIsOnRight ? 0 : `-${sidebarWidth}px`],
marginRight: ['0px', this.sidebarIsOnRight ? `-${sidebarWidth}px` : '0px'],
marginLeft: ['0px', this.sidebarIsOnRight ? '0px' : `-${sidebarWidth}px`],
},
{
ease: 'easeIn',
type: 'spring',
bounce: 0,
duration: 0.12,
easing: 'ease-in',
duration: 120,
}
)
.then(() => {
@@ -467,8 +465,6 @@ window.gZenCompactModeManager = {
});
}
this.sidebar.style.removeProperty('margin-right');
this.sidebar.style.removeProperty('margin-left');
this.sidebar.style.removeProperty('transition');
this.sidebar.style.removeProperty('transform');
this.sidebar.style.removeProperty('point-events');
@@ -716,14 +712,8 @@ window.gZenCompactModeManager = {
// If we want the toolbars to be draggable, we need to make sure to check the hover state after a short delay.
// This is because the mouse is left to be handled natively so firefox thinks the mouse left the window for a split second.
setTimeout(() => {
let isHovered = event.target.matches(':hover');
MousePosTracker._callListener({
onMouseEnter: () => (isHovered = true),
onMouseLeave: () => {},
getMouseTargetRect: () => target.getBoundingClientRect(),
});
// Let's double check if the mouse is still hovering over the element, see the bug above.
if (isHovered) {
if (event.target.matches(':hover')) {
return;
}