call TimeoutManager::UpdateBackgroundState() in order to schedule the TimeoutExecutor in case the throttling is enabled and MinSchedulingDelay() is changed
Differential Revision: https://phabricator.services.mozilla.com/D244184
The new palette makes use of oklch(), a modern function based on cielab color space.
Oklch has bigger gamut support, while being a perceptual and uniform space - easier to create a system with colors that step down evenly.
While oklch gets us pretty far, you will notice if you look close though that all color groups don't follow the same exact lightness and chroma values to a T. I lightly tweaked some color families based on how colors tend to respond to the human eye as they get more or less lightness and chroma.
I will release alongside this palette some minimal guidance of how to combine colors on acorn.firefox.com. This palette provides an easy to understand system where
0 is the lightest and 110 is the darkest, and 1-100 step towards the darkest value evenly. You could then pretty much split
the scale in half to create light/dark mode safe combinations for background + text, icon + background, etc. But as mentioned before, more guidance to come.
I'm applying colors to tab groups here so made sure to get Amy Lee's approval.
I also ran this by theme reviewers.
UX org has also approved this work.
I also planned with #reusable-components-reviewers team to launch this at the beginning of the next cycle alongside a note to dev mailist announcing the changes.
You should notice some small differences on certain colors, but nothing too dramatic. Colors, besides themes, pretty much only show up as an accent (e.g. primary button) or for feedback (e.g. message bars). Before and after pics can be found [here](https://www.figma.com/design/ZDl1O6w3AA8CC2Keo8ExFg/Bug-1861526-before-and-afters?node-id=0-1&p=f&t=0HeNRoieubFL4ZFl-0).
Note: Storybook isn't playing nicely with oklch and we get some warnings for contrast. I talked to Mark Striemer, and for now we can land this but should look into a solution, if possible. I filed 1950988.
Note to ReComp: I touched up message bar's design slightly here by tweaking the border color.
I also used Julian Gaibler's help to ignore oklch for now since it was spitting errors in the Figma config.
### oklch reads
w3: https://www.w3.org/TR/css-color-4/#lab-colors
tldr: https://chriscoyier.net/2023/10/20/more-oklch-musings/
Differential Revision: https://phabricator.services.mozilla.com/D239079
Record when users delete an open group from the tab group context menu or delete an open group from a context menu in the all-tabs menu.
This will not record when users close a window or close all of the individual tabs in a tab group, even though those cases have the logical side effect of deleting a tab group.
Differential Revision: https://phabricator.services.mozilla.com/D241884
This patch adds a new Glean timing_distribution metric, to measure the duration
of QuotaManager shutdown.
The measurement runs on the PBackground thread and uses NowExcludingSuspendMs
to exclude any system suspend time (e.g. sleep or hibernation), providing a
more accurate view of active runtime cost.
This helps monitor shutdown performance and detect improvements or regressions,
especially for users with significant storage data.
Telemetry metadata was added under dom/quota/metrics.yaml.
Differential Revision: https://phabricator.services.mozilla.com/D243625
This is needed for <img> elements that have 'content-visibility:auto' to behave
properly. Such images need to lose/regain their intrinsic size and
aspect-ratio when the image leaves and reenters the viewport (depending on
whether the image is considered 'relevant to the user'). When they're scrolled
back into view, they receive a call to MarkIntrinsicISizesDirty(), which now
has an override on nsImageFrame that eagerly updates the intrinsic size and
aspect-ratio so that the image will lay out properly.
Note that we need to *immediately* update the intrinsic size and aspect-ratio
(rather than simply resetting them to 0 and waiting for the next reflow to
lazily update them), because the nsImageFrame's ancestor frames might query it
for its aspect-ratio as part of their own layout *before* the image gets a
chance to lazily determine its aspect-ratio. See
https://bugzilla.mozilla.org/show_bug.cgi?id=1920525#c14 for one example with
grid track sizing, where the grid prompts its child (an image) for its aspect
ratio using a const getter before the image has had a chance to lazily figure
out its aspect-ratio.)
Differential Revision: https://phabricator.services.mozilla.com/D244286
This adds static assertions that the Add/DropJSHoldersWithKey APIs are not used
for wrapper cached objects, and runtime assertions that these APIs are not used
for objects that were previously used with the original Add/DropJSHolders APIs.
Unfortunately it's not possible to check the inverse of the latter case.
Differential Revision: https://phabricator.services.mozilla.com/D244331