The drag service is never instantiated if it's in the headless mode.
And in this case, `NS_ERROR_XPC_GS_RETURNED_FAILURE` exception is thrown.
Therefore, we need to wrap the service getter with a `try` block and
return `null` if it fails.
Differential Revision: https://phabricator.services.mozilla.com/D190580
Call to CSS.registerProperty may result in rendering changes compared
to when variables were interpreted as unregistered custom properties.
Ensure we recascade style for the whole document tree.
This was already covered by WPTs but add a more direct check for
paint and reflow.
Differential Revision: https://phabricator.services.mozilla.com/D190656
Currently wasm ignores GCs triggered by allocation, which can lead to unbounded
memory growth when running purely in wasm. Making the GC interrupt also
interrupt wasm fixes this.
Differential Revision: https://phabricator.services.mozilla.com/D190669
Our arrow is actually more similar to the modern macOS native ones, so
this both looks better and allows us to clean up more code.
flex-end alignment on acceltext-container is not needed (the flex item
is sized to its contents), removing it doesn't change behavior on e.g.
the menubar menus on Linux.
This makes the arrow a bit bigger visually on Linux, but that's what
native GTK does too (see gtk4-demo / gtk3-demo).
Differential Revision: https://phabricator.services.mozilla.com/D190663
This restores the previous behavior though I'm not convinced this code
is useful at all because macOS uses the native menubar instead.
MANUAL PUSH: Orange fix CLOSED TREE
It's a weak pointer but presumably can only die based on main thread actions. The GetBrowsingContext getter is just a plain getter, returning a pointer.
Although small this does show up in the profile in bug 1857094. It's called from some common layout/painting functions.
Differential Revision: https://phabricator.services.mozilla.com/D190559
This patch introduces another timeout to ensure that observers are properly
cleaned up even for pages where the "load" event never happens.
Timeouts are scheduled on DOMContentLoaded and on load. Their duration can
be controlled via the 'cookiebanners.bannerClicking.timeout*' prefs.
Differential Revision: https://phabricator.services.mozilla.com/D190319
Use the same system colors there rather than bespoke ones. That allows
us to simplify the CSS, remove macOS-specific system colors, and also
fix this bug.
Differential Revision: https://phabricator.services.mozilla.com/D190460
Now that we have a DocumentState type we can be a bit less explicit
(before this used EventStates, so the extra Document in the names was
useful).
Differential Revision: https://phabricator.services.mozilla.com/D190602
I think ReleaseAcquire semantics are sound here.
It might be that relaxed is fine too, but that might be technically
unsound because it could make the writes in malloc_init_hard not visible
to the other threads in time.
Depends on D190623
Differential Revision: https://phabricator.services.mozilla.com/D190624
Don't override all colors to turn them (insufficiently contrasted) grey,
but apply a desaturate filter which should keep a good enought contrast.
Differential Revision: https://phabricator.services.mozilla.com/D190551
Note that this patch only improves the upload performance a bit.
We should ensure the stream's buffer is maximally filled before calling ProcessOutput to create packets.
Differential Revision: https://phabricator.services.mozilla.com/D190572
This is needed for Ubuntu Linux when Firefox is installed as a Snap package.
Under those conditions, Firefox doesn't have the ability to read the contents
of the other browsers' data directories.
We work around by showing the user a native file picker and instructing them
to browse to that data directory in folder picker mode - doing so gives
the Firefox process access to the folder (through a temporary symlink).
Another restriction we must overcome is Sqlite's inability to read from
Sqlite databases through that symlinked folder. We work around this by
copying the databases we're importing from to the system temporary
directory, querying it, and then deleting those copies.
Differential Revision: https://phabricator.services.mozilla.com/D188874