To more properly support Linux having a different default at runtime.
Expose the resolved value in appinfo for convenience, and use it in the
front-end as needed.
Differential Revision: https://phabricator.services.mozilla.com/D129004
Baseline profile: https://share.firefox.dev/3p5PgDn (jank)
Profile with just setting pinned tab position to absolute: https://share.firefox.dev/30jKR5p (jank)
Profile with just moving relative positioning to CSS: https://share.firefox.dev/3p6c5a7 (jank)
Profile with this patch: https://share.firefox.dev/3FRLmnK (no jank)
Markus said setting abspos pinned tabs would be safe as long as there were no relative-positioned ancestors in the tab overflow scrollbox. The only notable ancestor of a pinned tab is the tab arrowscrollbox itself, so there aren't any surprise ancestors here. Manual testing indicates things work fine.
I also confirmed that this patch fixes bug 1725151.
Differential Revision: https://phabricator.services.mozilla.com/D121403
Rework theme and variant activation to make variants sticky. Reorder Default to show Light then Auto so that Light and Soft are the same index. Also select the initial index based on current dark or light theme. Add transitions for variation children. Compute about:welcome variant index based on active theme instead of specifying both default variants for system and colorways.
Differential Revision: https://phabricator.services.mozilla.com/D128404
I've tested this (both with and without titlebar) in Linux, Win10,
Win11, Win7 and macOS.
* On macOS behavior doesn't change at all (since on fullscreen we didn't
show the buttons to begin with).
* Linux now shows "native" buttons on fullscreen (which is also an
improvement).
* On Windows 10/11 the sizing of the buttons is now the same when
fullscreen vs. not (which is an improvement).
* On Windows 7 we now use regular native-looking buttons (like on
windows 10) instead of the custom windowControls.png. That could be
considered a slight regression I guess, but is consistent with win10.
Differential Revision: https://phabricator.services.mozilla.com/D128196
PMDH_onDragEnter sets it but it can be immediately nullified by a dragleave listener of a menu popup. Having null ultimately triggers closeParentMenus() by closeMenuTimer, and setting the proper drop target in dragover prevents that.
Running closeMenuTimer immediately after openen a popup sounds weird but that's an existing behavior and is out of scope of this patch.
Differential Revision: https://phabricator.services.mozilla.com/D127971
Some crash reports appear to be indicating that initializing NSS' certificate
and key databases is taking on the order of minutes in some cases, which is
unexpected. One hypothesis is that third-party software is opening these DBs at
the same time that NSS is operating on them, causing contention and thus
slowness. This patch experimentally (in Nightly only) renames these DBs in the
hopes that third-party software might not recognize them as the DBs it's
looking for, and will thus leave them alone.
Differential Revision: https://phabricator.services.mozilla.com/D126028
This fixes a warning when Fluent translates these buttons: previously it
was removing the content, which we don't control. The proper way is
assigning attributes instead.
This also required touching the style a bit.
Differential Revision: https://phabricator.services.mozilla.com/D127678
Fix background sizing of horizontal color circles with updated hover styles and improved spacing among/around. Position primary button with invisible secondary button. Update noodle svg to avoid aliasing. Adjust variant disc and color circles gradient colors and direction (vertical) now always with black variant text and increased button font size. Also adjust about:welcome thank you confetti and fancy header. Update a couple backgrounds and positioning.
Differential Revision: https://phabricator.services.mozilla.com/D127601
This adds a workaround in the `browser_parsable_css.js` test for the autocomplete item stylesheets.
These stylesheets are loaded via chrome:// and so are privileged stylesheets, but in automation they are loaded as non-privileged stylesheets.
Since color-mix requires chrome privileges outside of Nightly, we need this workaround in order to not permanently fail when migrating from central to beta/release.
Differential Revision: https://phabricator.services.mozilla.com/D127314
This does a couple of things:
* Instead of using the `not_now` telemetry event object for the cases where the
dialog is closed by the Escape key or some other atypical way, reserve
`not_now` -- renamed `not_now_link` -- specifically for clicks on the "Not
now" link and add two new objects: `dismissed_escape_key` and
`dismissed_other`. That should give us a little better understanding of how
the dialog is being dismissed. The new `not_now_link` name is to avoid
conflation with the previous meaning of `not_now`.
* Add a new `browser.urlbar.quicksuggest.onboardingDialogChoice` pref that
stores exactly the same values as the telemetry event. e.g., if the dialog is
accepted, then we'll record a telemetry event whose object is `accept` and
we'll also store `accept` in the pref.
I figure if we decide to show the onboarding again for people who have already
seen it, (1) we'll use this pref to decide the flow for any given user, and (2)
we'll need to add another pref for the user's response to the "v2" dialog, or
maybe we could morph this one into an array of responses or something more
complex like that.
Differential Revision: https://phabricator.services.mozilla.com/D127354
Add newtab pref checks and record events for when checkbox button is handled. Split up trigger tests to own file and share telemetry helpers from head.js.
Differential Revision: https://phabricator.services.mozilla.com/D127722
Bug 1718629 did this for the maximize button. This patch does the same for minimize and close, which we are switching to for consistent tooltip styling.
Differential Revision: https://phabricator.services.mozilla.com/D125625