Windows 7/8.1 uses the system buttons even if the system title bar is disabled.
`mWindowButtonsRect` holds the button area when the system buttons are used.
Differential Revision: https://phabricator.services.mozilla.com/D125308
EGL on X11 has been reported to work well on both Mesa and
prop. Nvidia, but has been blocked by some CI failures.
As these so far can not get reproduced on recent driver version,
require such very recent versions.
For Nvidia it's also important to note that the 470 series is
the first to support DmaBuf and thus benefits much more than
older drivers.
Differential Revision: https://phabricator.services.mozilla.com/D125395
With the non-native theme we don't need filter for this to affect
"native" inputs, we can just implement the logic in nsNativeBasicTheme
instead.
A bit unfortunate that we need that special-case, but it seems better
than using filter, which can break websites due to it creating an
stacking context.
I _think_ there are tests that I need to adjust for this change, but if
not I'll write some.
Keep the current behavior behind a pref just in case.
Differential Revision: https://phabricator.services.mozilla.com/D125232
With the non-native theme we don't need filter for this to affect
"native" inputs, we can just implement the logic in nsNativeBasicTheme
instead.
A bit unfortunate that we need that special-case, but it seems better
than using filter, which can break websites due to it creating an
stacking context.
I _think_ there are tests that I need to adjust for this change, but if
not I'll write some.
Keep the current behavior behind a pref just in case.
Differential Revision: https://phabricator.services.mozilla.com/D125232
X11 tries to convert any binary clipboard data to text if text MIME type is missing in clipboard.
This leads to various errors, wrong conversions and timeouts.
So get clipboard content first and if there are only binary MIME types in clipboard advertise only these types.
Differential Revision: https://phabricator.services.mozilla.com/D123687
When we position noautohide popup we can't use xdg_positioner as the popup
is rendered aside popup hierarchy and can be closed by user interaction only.
Try to keep the popup on screen by just moving it in scope of
it's parent window.
Differential Revision: https://phabricator.services.mozilla.com/D124909
This avoids always posting a NSEvent to the event loop everytime we run a
non-native event. Servicing native NSEvents appears to have quite a high
overhead and causes us to commit a CoreAnimation transaction and communicate
with the WindowServer for every Gecko event. This change should also reduce the
CPU usage of the WindowServer process.
It appears that we still need to post an NSEvent when we're in a nested event loop
or when we're shutting down, but those situations are uncommon.
Differential Revision: https://phabricator.services.mozilla.com/D124857
Windows 11's Snap Layouts feature generates a window of layout options when the maximize window button is moused over. This requires the WM_NCHITTEST message to handle hit detection for the button. Since WM_NCHITTEST messages are very common, although we limit them to no more than every 50ms, we don't want to do a full hit test each time. Instead, we cache the maximize button rect in the widget when it is positioned during layout.
Differential Revision: https://phabricator.services.mozilla.com/D123982
Although root cause isn't bug 1713334, this occurs after landing it.
When inputting "." by Swiftkey, it generates key event then dispatches it to
Gecko. After text is changed by this key event, we will update this change
to GeckoView.
But when this occurs, we post invalid selection change to GeckoView, then
`GeckoEditableChild` throws `IllegalArgumentException`.
Normal
======
1. Dispatch "." text change.
2. Receive text and selection change notification by 1.
3. Posted text/selection change notification to GV's parent
This situation
==============
1. Dispatch "." text change.
2. Receive text and selection change notification by 1.
3. Dispatch next "." text change.
4. Posted 2.'s text/selection change notification to GV's parent.
5. `GeckoEditableChild` throws `IllegalArgumentException`.
So when step 4.., we should use 2.'s change data. But since we query current
Gecko's selection data, we may use invalid selection data.
So we should cache selection change, then use it.
Differential Revision: https://phabricator.services.mozilla.com/D124435
The flags contain names of old contributers, which makes them inconvient
to use. Now it's also possible to simply enable logging for release
builds.
Differential Revision: https://phabricator.services.mozilla.com/D124445
This is an oversight. I made selecteditem be -moz-html-cellhighlight,
but that's for inactive cells.
Use the inactive cell color everywhere (though android doesn't
differentiate). This matches other browsers and what was reviewed on
this bug.
MANUAL PUSH: The semi-transparent text-selection-disabled color caused
one test failure CLOSED TREE.
On Wayland gdk_window_input_shape_combine_region() call is cached and applied to underlying wl_surface when GdkWindow is repainted.
Force repaint of GdkWindow at nsWindow::SetWindowMouseTransparent() to apply the changes immediately.
Differential Revision: https://phabricator.services.mozilla.com/D124256
WebIDL's prefs enables on new window and doesn't apply current window/tab.
So I should move prefs settings to mochitest.ini instead.
When setting pref in mochitest.ini, it applies on all tests. But enterkeyhint
is used on this test only, so others won't be affected.
Differential Revision: https://phabricator.services.mozilla.com/D124183