Граф коммитов

30652 Коммитов

Автор SHA1 Сообщение Дата
Hiroyuki Ikezoe 0ca171b4b6 Bug 1786657 - Implement HeadlessWidget::SynthesizeNativeTouchpadPan. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D155437
2022-08-25 00:34:17 +00:00
Nicholas Rishel 37fd5be4b2 Bug 1787015 - Consolidate raw COM pointers into smart `ComPtr`. r=nalexander
Also moved from `typedef` to `using _ =` syntax to match new templated import of `ComPtr` in ToastNotificationHandler.h.

Depends on D155525

Differential Revision: https://phabricator.services.mozilla.com/D155526
2022-08-24 22:32:02 +00:00
Nicholas Rishel f965aff863 Bug 1787001 - Fix leaking COM object. r=nalexander
`ComPtr` constructor increments the refcount when initializing with a raw COM pointer.

Differential Revision: https://phabricator.services.mozilla.com/D155525
2022-08-24 22:32:02 +00:00
Sandor Molnar 23b2e332ed Backed out changeset b0af62dc599f (bug 1786657) for causing build bustage in widget/headless/HeadlessWidget.cpp CLOSED TREE 2022-08-25 00:46:51 +03:00
Hiroyuki Ikezoe 1185858506 Bug 1786657 - Implement HeadlessWidget::SynthesizeNativeTouchpadPan. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D155437
2022-08-24 21:09:10 +00:00
Csoregi Natalia f9b7f964c7 Backed out changeset 56c6e1791c69 (bug 1782295) for causing failures on browser_startup_mainthreadio.js. CLOSED TREE 2022-08-24 13:29:08 +03:00
Ben Hearsum f639b6db58 Bug 1782295: Use Nimbus for Felt Privacy window separation r=dao
We will be defaulting Felt Privacy features to enabled, and allowing them to be disabled by Nimbus (primarily for a holdback study).

Differential Revision: https://phabricator.services.mozilla.com/D153275
2022-08-23 15:30:42 +00:00
Edgar Chen cc7905e7ab Bug 1785913 - Update mIgnoreEmptyNotification in nsBaseClipboard; r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D148923
2022-08-23 11:05:45 +00:00
Botond Ballo 567be8f228 Bug 1784849 - Use defaulted copy constructor for MultiTouchInput. r=hiro
This ensures all fields are copied, including new ones that
may be added in the future.

Differential Revision: https://phabricator.services.mozilla.com/D155306
2022-08-23 02:30:45 +00:00
Marian-Vasile Laza 9274b092fe Backed out 4 changesets (bug 1781129) for causing mochitest failures on test_bug490879.html. CLOSED TREE
Backed out changeset 37da1d18cde9 (bug 1781129)
Backed out changeset 1ae213bfa43e (bug 1781129)
Backed out changeset dcebc98ea1f1 (bug 1781129)
Backed out changeset 0df2f2832755 (bug 1781129)
2022-08-22 23:07:56 +03:00
Ray Kraesig d37d1556d3 Bug 1786226 - Revert all patches for regressing bug 1776895 r=cmartin
This reverts the following commits:
- 21f1ada7ee6ad5839fc0d9bc98e1ff2d558ef6e7
- cde5393917c483a3516f4c883af02834ddbf11d8
- 3d2dc8de0e7147d0d991c16c29ad9a8678a25635
- 4b17fb88efc581522c0edf0740da4c54c539d39a
- 7b0893449764054af7795df66c0c2e83a370d620
- bcc0fa996f5fd7cc677ca2a5e97329dcd6b74a04
- 9547ab55535d9713c95bc3344d1cc1357520ba92

Differential Revision: https://phabricator.services.mozilla.com/D155237
2022-08-22 18:30:03 +00:00
Nika Layzell e1c2681a2f Bug 1781129 - Part 3: Remove Shmem overload of GetSurfaceData, r=edgar
After the previous changes there was only one consumer left of the Shmem
version of GetSurfaceData, which could easily be changed to use BigBuffer,
removing the need for that overload.

After that consumer is removed, the interface was also simplified as the
generic logic in the implementation was no longer necessary.

Differential Revision: https://phabricator.services.mozilla.com/D151854
2022-08-22 15:38:15 +00:00
Nika Layzell f8a40edbb1 Bug 1781129 - Part 2: Use BigBuffer for ShmemImage, r=edgar
The ShmemImage type was previously implemented using a Shmem, however due to
the usage patterns, `BigBuffer` is probably a better fit, and allows unifying
more code in nsContentUtils.

Differential Revision: https://phabricator.services.mozilla.com/D151853
2022-08-22 15:38:15 +00:00
Nika Layzell 6c8af6eff5 Bug 1781129 - Part 1: Use BigBuffer for IPCDataTransfer, r=edgar
The IPCDataTransfer type is used to transfer Clipboard/Drag & Drop payloads
over IPC to allow them to be written to or read from the relevant system
interfaces. Previously, the system which was used was somewhat complex, and
tried to use Shmem in some cases to store buffers out of line. Now that
BigBuffer is available, it can be simplified substantially.

In addition, this change removed the memory buffer overload of GetSurfaceData,
as the only consumer was using it to immediately send the payload over IPC as a
nsCString. It was changed to instead use `BigBuffer` as that is more efficient
in a large buffer situation, and reduces the number of required copies.

Differential Revision: https://phabricator.services.mozilla.com/D151852
2022-08-22 15:38:14 +00:00
Andrew Osmond c3bb735dc6 Bug 1785947 - Fix Linux 32-bit WPT backdrop filter tests. r=gfx-reviewers,jrmuizel
In CI, we fail the glxtest which disables all gfx features, including
the backdrop filter feature. We can just enable it on Linux. A follow up
series of patches will reform the blocklist to prevent these footguns in
the future in the next nightly cycle.

Differential Revision: https://phabricator.services.mozilla.com/D155041
2022-08-19 02:13:29 +00:00
Emilio Cobos Álvarez 1ee4fdcb2a Bug 1782595 - Distinguish between "preferred" and "used" color-scheme. r=tnikkel
The "preferred" one is the behavior we have for chrome docs, where we
fall back always to the document's preferred color-scheme rather than
falling back to light.

We'll use this in the next patch.

Differential Revision: https://phabricator.services.mozilla.com/D154923
2022-08-18 15:49:52 +00:00
Jamie Nicol a6a26075dc Bug 1784588 - Fix SplitDriverVersion when the string has less than 4 numbers. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D154897
2022-08-18 12:57:47 +00:00
Andrew Osmond 5a36e3dd85 Bug 1785366 - Blocklist backdrop filter on some Ivy/Sandybridge Intel Windows drivers. r=jrmuizel,emilio
Backdrop filter crashes newer Intel drivers on Windows. This patch adds
support to the blocklist infrastructure for backdrop filter, and hooks
this up with the CSS property table.

Differential Revision: https://phabricator.services.mozilla.com/D154950
2022-08-18 12:29:20 +00:00
Jamie Nicol 3b0edb46fc Bug 1783542 - Use widget size from ResumeAndResize rather than querying native window. r=gfx-reviewers,aosmond
On Android we have until now determined the compositor widget's size
by querying the values from the ANativeWindow. However, since bug
1780093 landed we can now switch between which Surface we are
rendering in to, and as a result we appear to be using the wrong size
some of the time.

This patch is a speculative attempt to fix this, by using the size
passed to ResumeAndResize() (which itself comes from the Surface's
surfaceChanged() callback) rather than querying the window.

Differential Revision: https://phabricator.services.mozilla.com/D154909
2022-08-18 12:16:46 +00:00
stransky fd3ef30a3c Bug 1784873 [Wayland] Remove outdated check for move-to-rect r=emilio
Remove outdated check for move-to-rect. It's redundant and it's implemented in more complex way by nsWindow::WaylandPopupCheckAndGetAnchor() now.

Differential Revision: https://phabricator.services.mozilla.com/D154882
2022-08-18 09:33:24 +00:00
stransky 3062502a96 Bug 1784873 [Wayland] Allow to use fast popup placement (without move-to-rect) for first popup only due to mutter bug r=emilio
Due to https://gitlab.gnome.org/GNOME/gtk/-/issues/5089 we can't use fast popup placement for nested popups.
Only first popup can be placed by gtk_window_move().

Differential Revision: https://phabricator.services.mozilla.com/D154881
2022-08-18 09:33:24 +00:00
stransky cedb3acccd Bug 1784873 [Wayland] Implement nsWindow::WaylandPopupIsFirst() helper to check popup state in popup hierarchy r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D154880
2022-08-18 09:33:23 +00:00
stransky db0b337000 Bug 1784873 [Wayland] Don't hide & position popups which are on correct position r=emilio
Extra hide/show needed for gtk_window_move() produces extra flickering so avoid it if possible.

Differential Revision: https://phabricator.services.mozilla.com/D154879
2022-08-18 09:33:23 +00:00
Marian-Vasile Laza d774d6ecb3 Backed out changeset 49c7536f01db (bug 1785366) for causing xpcshell failures on test_css-properties-db.js. CLOSED TREE 2022-08-18 07:41:44 +03:00
Andrew Osmond 96648c7055 Bug 1785366 - Blocklist backdrop filter on some Ivy/Sandybridge Intel Windows drivers. r=jrmuizel,emilio
Backdrop filter crashes newer Intel drivers on Windows. This patch adds
support to the blocklist infrastructure for backdrop filter, and hooks
this up with the CSS property table.

Differential Revision: https://phabricator.services.mozilla.com/D154950
2022-08-18 03:21:27 +00:00
Botond Ballo 65a722e6e1 Bug 1746336 - Treat nsEventStatus_eIgnore as INPUT_RESULT_UNHANDLED consistently. r=hiro,geckoview-reviewers,owlish
Differential Revision: https://phabricator.services.mozilla.com/D152351
2022-08-18 02:07:14 +00:00
Ray Kraesig 7179a513ca Bug 1754803 - expand size-field to 16 digits if 8 won't suffice r=handyman
... while retaining the existing 8-wide padding for backward
compatibility with existing consumers.

Differential Revision: https://phabricator.services.mozilla.com/D154705
2022-08-17 22:46:57 +00:00
Emilio Cobos Álvarez 534f39ed75 Bug 1785310 - Remove mozilla/StaticPrefs_layout.h includes from other headers. r=dholbert
Adding layout prefs cause massive rebuilds because of this.

Differential Revision: https://phabricator.services.mozilla.com/D154928
2022-08-17 21:26:36 +00:00
Nick Alexander ba86996b7a Bug 1783051 - Turn default browser agent's `EventLog` into a Windows-only header utility. r=rkraesig
Differential Revision: https://phabricator.services.mozilla.com/D153658
2022-08-17 20:01:58 +00:00
Ryan VanderMeulen b16f6be00a Bug 1776895 - Fix file-whitespace linter error. r=bustage on a CLOSED TREE 2022-08-17 15:08:03 -04:00
Ray Kraesig d1411e990f Bug 1776895 - [6/6] Add logging for fullscreen entry/exit r=cmartin
Add logging for fullscreen position-state saving and restoration.

Differential Revision: https://phabricator.services.mozilla.com/D153411
2022-08-17 18:51:32 +00:00
Ray Kraesig c4d109da63 Bug 1776895 - [5/6] Save and restore original relative position r=cmartin
When entering fullscreen and saving the original position of a window,
also save the original position of its screen.

When leaving fullscreen, keep the window on the same screen. Restore its
_screen-relative_ position, rather than its absolute position.

Differential Revision: https://phabricator.services.mozilla.com/D153410
2022-08-17 18:51:32 +00:00
Ray Kraesig 6700c85a61 Bug 1776895 - [4/6] adjust callsite of HideWindowChrome r=handyman
`HideWindowChrome(false)` may change the reported window size on Mac:
the OS menu bar appears at the top of the screen, and this will cause the
window to shrink if it was fullscreen.

This isn't a problem yet, since we don't check the window dimensions
when exiting fullscreen... but the following commit will do exactly
that. Delay calling `HideWindowChrome` until the last possible minute --
but make sure that it _does_ get called.

Since HideWindowChrome(true) does not presently change the window size
(see bug 498835), no functional changes.

Differential Revision: https://phabricator.services.mozilla.com/D154469
2022-08-17 18:51:31 +00:00
Ray Kraesig 3a0072feae Bug 1776895 - [3/6] Cleanup: specialize further to desktop pixels r=cmartin
Use desktop pixels everywhere:
 - Store the old window position as a `DesktopRect`.
 - Since `GetRectDisplayPix` is infallible, use the convenience getter
   that hands us a `DesktopIntRect`.
 - Add a helper function that wraps `Resize()` and takes any `Rect`
   which uses `DesktopPixel`s.

No functional changes.

Differential Revision: https://phabricator.services.mozilla.com/D153409
2022-08-17 18:51:31 +00:00
Ray Kraesig de367482e0 Bug 1776895 - [2/6] Cleanup: remove BoundsUseDesktopPixels() condition r=cmartin
A window is fullscreenable iff it's a desktop window (that is, a
positional child of the desktop rather than of another window) -- and
desktop windows are the windows which use desktop-pixel units in
Resize().

Code coverage confirms that the branch when `BoundsUseDesktopPixels()`
returns `false` is never taken in tests.

Under the (hopefully justified) assumption that it's never taken at all,
no functional changes.

Differential Revision: https://phabricator.services.mozilla.com/D153408
2022-08-17 18:51:31 +00:00
Ray Kraesig 4592637ee3 Bug 1776895 - [1/6] Cleanup: use UniquePtr rather than manual allocation r=cmartin
No functional changes.

Differential Revision: https://phabricator.services.mozilla.com/D153407
2022-08-17 18:51:30 +00:00
Greg Tatum 905a369a06 Bug 1782981 - Only show the macOS context menu if it is supported; r=nordzilla
This code path gets executed by existing tests, and I don't believe
there is a way to execute this behavior using our CI, since it's a macOS
version check.

Differential Revision: https://phabricator.services.mozilla.com/D154172
2022-08-17 15:41:12 +00:00
Razvan Cojocaru 88058d9bfe Bug 1781209 - Swipe navigation does not work when kinetic scroll is disabled. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D154239
2022-08-16 20:54:43 +00:00
stransky 8b6cd8361e Bug 1785072 [Wayland] Use relative position coordinates for GDK_WINDOW_TYPE_HINT_UTILITY/GDK_WINDOW_TYPE_HINT_TOOLTIP popups when moved by gtk_window_move() r=emilio
According to https://gitlab.gnome.org/GNOME/gtk/-/issues/4308 different popup types uses different coordinate systems so we need to cover that.
Use GTK_WINDOW_TYPE_HINT instead of internal Firefox popup type.

Differential Revision: https://phabricator.services.mozilla.com/D154796
2022-08-16 18:43:03 +00:00
stransky ed73cbe3bf Bug 1784336 [Linux] Don't resume compositor if mCompositorWidgetDelegate is missing r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D154785
2022-08-16 11:30:13 +00:00
Emilio Cobos Álvarez a5c3cafe6f Bug 1784855 - Add basic support for drawing non-native appearance: menuitem items. r=stransky
This allows us to correctly draw items with mismatched color-scheme
on GTK.

This is a reasonably simple fix. A more elaborate fix could be not using
appearance to draw menuitems on Linux at all, just like we don't use it
to draw menupopups anymore. But in practice it's a bit harder because we
use it also to draw menubar items (which probably should be its own
appearance type instead). I can look into that, but this seems
reasonable for now.

Differential Revision: https://phabricator.services.mozilla.com/D154680
2022-08-16 09:48:07 +00:00
stransky 232c2c4865 Bug 1784067 [Linux] Fix build without Wayland r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D154632
2022-08-16 09:27:42 +00:00
stransky b1c9edc1a9 Bug 1780389 [Wayland] Implement RAII class MozContainerSurfaceLock to get&lock wl_surface of moz_container r=rmader
With this patch moz_container_wayland_surface_lock() always locks MozContainer and needs to be paired with moz_container_wayland_surface_unlock() even if it fails and returns nullptr.
Split moz_container_wayland_add_initial_draw_callback() to two new functions:

- moz_container_wayland_add_initial_draw_callback_locked() is called on locked container and only adds draw callback. It asserts when MozContainer is already to draw as we don't expect it.

- moz_container_wayland_add_or_fire_initial_draw_callback() is called on unlocked container as it has it's own lock. It behaves as original moz_container_wayland_add_initial_draw_callback(), i.e. stores draw callback when MosContainer is not visible and fires draw callback when we're ready to draw.

- implement RAII class MozContainerSurfaceLock and use it to lock moz_contatier and get wl_surface of it.

Differential Revision: https://phabricator.services.mozilla.com/D152276
2022-08-16 08:46:33 +00:00
Andi-Bogdan Postelnicu eeac3728d2 Bug 1519636 - Reformat recent changes to the Google coding style. r=glandium
Updated with clang-format version 14.0.5 (taskcluster-DydCt-ryTuKvBYw1HQOugw)
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D154661
2022-08-16 07:08:27 +00:00
Edgar Chen 3e5030eb96 Bug 1755863 - Part 2: Add async API/IPC for getting matching data flavors from clipboard; r=nika,geckoview-reviewers,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152516
2022-08-15 20:27:26 +00:00
Edgar Chen f6014ee7c6 Bug 1755863 - Part 1: Add async API for getting data on nsIClipboard; r=geckoview-reviewers,NeilDeakin,m_kato,nika
Differential Revision: https://phabricator.services.mozilla.com/D145378
2022-08-15 20:27:24 +00:00
David Shin 05f999536d Bug 1681183: Ignore unwriteable margins user specifies `Margins: None` for printing. r=dholbert,mstriemer
This lets users e.g. print-to-scale where it matters.
Custom margins are still clamped to unwriteable margins, even when all zeroes,
to avoid impacting user-specified & persisted margins.

Differential Revision: https://phabricator.services.mozilla.com/D152900
2022-08-15 19:55:08 +00:00
Norisz Fay 295485c15a Backed out changeset e4b5b93592b0 (bug 1780389) for causing build bustages on MozContainerWayland.h CLOSED TREE 2022-08-15 22:48:52 +03:00
stransky 616c7c35ee Bug 1780389 [Wayland] Implement RAII class MozContainerSurfaceLock to get&lock wl_surface of moz_container r=rmader
With this patch moz_container_wayland_surface_lock() always locks MozContainer and needs to be paired with moz_container_wayland_surface_unlock() even if it fails and returns nullptr.
Split moz_container_wayland_add_initial_draw_callback() to two new functions:

- moz_container_wayland_add_initial_draw_callback_locked() is called on locked container and only adds draw callback. It asserts when MozContainer is already to draw as we don't expect it.

- moz_container_wayland_add_or_fire_initial_draw_callback() is called on unlocked container as it has it's own lock. It behaves as original moz_container_wayland_add_initial_draw_callback(), i.e. stores draw callback when MosContainer is not visible and fires draw callback when we're ready to draw.

- implement RAII class MozContainerSurfaceLock and use it to lock moz_contatier and get wl_surface of it.

Differential Revision: https://phabricator.services.mozilla.com/D152276
2022-08-15 19:35:40 +00:00
stransky c83ad87f6f Bug 1767460 [Linux] Implement RAII class for nsDragService::mEventLoopDepth r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D154584
2022-08-15 19:30:03 +00:00