This is arguably a big outline compared with the usual one, so if it
somehow caused problems (which it really shouldn't because outline is
ink overflow rather than scrollable overflow) we could avoid painting
the second ring or such.
Differential Revision: https://phabricator.services.mozilla.com/D97157
There are a few scenarios in which we may have difficulty determining
the exact GPU that a user has with Linux/BSD. We might not have access
to the GLX_EXT_query_renderer extension, either because it is
unavailable, or because we don't want to use GLX and cause the OS to
spin up XWayland. We would also like to detect when the user has
multiple GPUs, as this may be useful when diagnosing issues (e.g. one
GPU is slaved to another for output to the display on a laptop).
Differential Revision: https://phabricator.services.mozilla.com/D96832
This allows adding another vsync listener that gets called before the regular VsyncSource.
And it allows adding the listener on the Java UI thread.
The existing infrastructure is pretty adamant about being used on the main thread.
Differential Revision: https://phabricator.services.mozilla.com/D96797
This only happened to work because unified build included WebAuthnTokenManager.cpp
and nsAppShell.cpp into the same compilation unit.
Differential Revision: https://phabricator.services.mozilla.com/D96792
The DesktopEntry property allows MPRIS clients to match a player on the bus
with application metadata such as its icon.
The desktop entry name is computed as the lowercasing of the XRE app info name.
This is the same way it's done for g_set_prgname in nsAppRunner.
Differential Revision: https://phabricator.services.mozilla.com/D96327
Aside from automating boilerplate, this will allow reusing some of these
structs for full LookAndFeel remoting in bug 1470983.
Differential Revision: https://phabricator.services.mozilla.com/D94531
The IPDL compiler searches for files in an include path made up of every
directory with any `IPDL_SOURCES` in it, which means that distinct files
shouldn't have the same name or, failing that, need to be set up so they
won't accidentally conflict. See bug 1657712 for details.
In `widget/`, the PCompositorWidget and PlatformWidgetTypes files are
overridden on some OSes; this patch moves the general-case versions into
their own directory, so that it's possible to use the widget/ toplevel
directory for non-platform-specific IPDL without causing a filename
conflict.
Differential Revision: https://phabricator.services.mozilla.com/D94530
Mostly for debugging / diagnosing purposes. This is easier than asking
people to try builds from try or building Firefox.
Differential Revision: https://phabricator.services.mozilla.com/D96648
Whether scrollbar buttons are shown is currently determined by
LookAndFeel values, and these are exposed through system metric media
features. LookAndFeel values are process-wide, but which theme is in
use is document-specific. (It can be the platform's native theme or the
native basic theme, depending on Document::ShouldAvoidNativeTheme.) So
if nsNativeBasicTheme on Linux needs to not support scrollbar buttons,
we can't do this by forcing the LookAndFeel values to be false.
So instead, we skip creating the native anonymous content for the
scrollbar buttons when the non-native theme is in use on Linux. There's
no need to support dynamic changes, since whether the non-native theme
is in use for a given document never changes.
Differential Revision: https://phabricator.services.mozilla.com/D96345
This backs out part of bug 1656211 which turned out to be insufficient.
The invalidate rendered frame transaction races with the initial frame
rendering of the popup. If it comes in too soon, we will only draw the
frame once, and the frame corruption remains. This patch makes us flush
the rendering pipeline to ensure we get two separate generate frame
events.
Differential Revision: https://phabricator.services.mozilla.com/D96157
This is regression by bug 1658948.
We shouldn't update IME state during composition even if element.focus() is
called to current focused element.
Also, although this depends on netive impelentation of IME handling, I would
like to add unit test for this situation since we might add mock tests for
native IME handling.
Differential Revision: https://phabricator.services.mozilla.com/D96308
One suggested by Jonathan in the review (as the ALLPAGES bit is just 0).
One pointing to bug 1675956, where we could possibly improve the system
dialog to use non-contiguous page ranges.
Differential Revision: https://phabricator.services.mozilla.com/D96320
... which is an array of pairs of ranges, and use it instead of the
existing printRange / startPage / endPage settings.
Differential Revision: https://phabricator.services.mozilla.com/D96093