Commit Graph

712 Commits

Author SHA1 Message Date
Andrew Osmond
f8f1c8a774 Bug 1794722 - Part 2. Remove all uses of gfxVars::UseWebRender(). r=jrmuizel,media-playback-reviewers,alwu
This is always true.

Differential Revision: https://phabricator.services.mozilla.com/D160121
2022-10-28 12:36:06 +00:00
Cristian Tuns
7e753f9368 Backed out 3 changesets (bug 1794722) for causing multiple failures on RemoteProcessMonitor CLOSED TREE
Backed out changeset 0217af5b1aa6 (bug 1794722)
Backed out changeset d7805be9dfb3 (bug 1794722)
Backed out changeset 0093f071f1a5 (bug 1794722)
2022-10-27 20:52:36 -04:00
Andrew Osmond
e2f7d11017 Bug 1794722 - Part 2. Remove all uses of gfxVars::UseWebRender(). r=jrmuizel,media-playback-reviewers,alwu
This is always true.

Differential Revision: https://phabricator.services.mozilla.com/D160121
2022-10-28 00:08:03 +00:00
Ray Kraesig
2d98dcd09f Bug 1776895 - [6/6] Add logging for fullscreen entry/exit r=cmartin,handyman
Add logging for fullscreen position-state saving and restoration.

Differential Revision: https://phabricator.services.mozilla.com/D153411
2022-09-20 16:22:58 +00:00
Ray Kraesig
36c0b3bfb6 Bug 1776895 - [5/6] Save and restore original relative position r=cmartin,handyman
When entering fullscreen and saving the original position of a window,
also save the position to which it was moved.

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-09-20 16:22:57 +00:00
Ray Kraesig
f1b2b7d85c Bug 1776895 - [4/6] adjust callsite of HideWindowChrome r=cmartin,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-09-20 16:22:57 +00:00
Ray Kraesig
55327aad6b 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-09-20 16:22:56 +00:00
Ray Kraesig
f3d7799b5f 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-09-20 16:22:56 +00:00
Ray Kraesig
bab29d5d79 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-09-20 16:22:56 +00:00
Emilio Cobos Álvarez
310f57b7a0 Bug 1786525 - Don't update untransformed anchor rect when moved by move-to-rect. r=stransky
Otherwise, it changes the move-to-rect inputs, which can change the
output as well, making us move the anchor all the way to the right.

You could, I guess, consider this a mutter bug of sorts, because it
feels weird that you pass it an anchor that has been a `move-to-rect`
output and you get another rect as an output.

But also, it's kinda silly that we're doing that to begin with, so avoid
it by telling the popup frame whether it's been positioned / moved by
move-to-rect (and keeping the anchor in that case).

The reason this works on my setup without "Large text" is just dumb luck
(the front-end computes a max-height for the panel that is small enough
to fit on the screen).

Differential Revision: https://phabricator.services.mozilla.com/D155406
2022-08-30 09:30:27 +00:00
Sandor Molnar
61316c29da Backed out changeset bb1d2a4a5570 (bug 1786525) for causing build bustages in xpfe/appshell/AppWindow.cpp CLOSED TREE 2022-08-30 01:26:00 +03:00
Emilio Cobos Álvarez
329145c097 Bug 1786525 - Don't update untransformed anchor rect when moved by move-to-rect. r=stransky
Otherwise, it changes the move-to-rect inputs, which can change the
output as well, making us move the anchor all the way to the right.

You could, I guess, consider this a mutter bug of sorts, because it
feels weird that you pass it an anchor that has been a `move-to-rect`
output and you get another rect as an output.

But also, it's kinda silly that we're doing that to begin with, so avoid
it by telling the popup frame whether it's been positioned / moved by
move-to-rect (and keeping the anchor in that case).

The reason this works on my setup without "Large text" is just dumb luck
(the front-end computes a max-height for the panel that is small enough
to fit on the screen).

Differential Revision: https://phabricator.services.mozilla.com/D155406
2022-08-29 21:47:34 +00:00
Ray Kraesig
5550fd437f 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
Ryan VanderMeulen
3f12fce537 Bug 1776895 - Fix file-whitespace linter error. r=bustage on a CLOSED TREE 2022-08-17 15:08:03 -04:00
Ray Kraesig
3804958c16 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
aca17658bd 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
0aa90c8650 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
c148072ca3 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
5fef8961d0 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
edd52e5ee9 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
stransky
bae7dbf416 Bug 1782948 [Linux] Make RevokeTransactionIdAllocator() call part of nsBaseWidget::DestroyCompositor() r=emilio
Make RevokeTransactionIdAllocator() call part of nsBaseWidget::DestroyCompositor() so we don't need to do extra call.

Depends on D154004

Differential Revision: https://phabricator.services.mozilla.com/D154005
2022-08-10 08:25:56 +00:00
Sandor Molnar
726aed28eb Backed out 5 changesets (bug 1776895) for causing mochitest failures in widget/tests/test_bug522217.xhtml CLOSED TREE
Backed out changeset cda5c3ab282f (bug 1776895)
Backed out changeset 8a5b0ed7ccb6 (bug 1776895)
Backed out changeset 871f199ecca1 (bug 1776895)
Backed out changeset b0e8b9d7d2a4 (bug 1776895)
Backed out changeset 9a85cc74c6cc (bug 1776895)
2022-08-10 02:38:18 +03:00
Ray Kraesig
1f34e84b8c Bug 1776895 - [5/5] 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-09 20:18:40 +00:00
Ray Kraesig
7dd73c97ca Bug 1776895 - [4/5] 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-09 20:18:40 +00:00
Ray Kraesig
a5648768f9 Bug 1776895 - [3/5] 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-09 20:18:40 +00:00
Ray Kraesig
0e52e86421 Bug 1776895 - [2/5] 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-09 20:18:39 +00:00
Ray Kraesig
083ee48262 Bug 1776895 - [1/5] Cleanup: use UniquePtr rather than manual allocation r=cmartin
No functional changes.

Differential Revision: https://phabricator.services.mozilla.com/D153407
2022-08-09 20:18:39 +00:00
Hiroyuki Ikezoe
f8e2739919 Bug 1742797 - Add a new IPC call to clear animation resources on WebRender, r=sotaro.
Differential Revision: https://phabricator.services.mozilla.com/D151481
2022-07-19 19:56:21 +00:00
Butkovits Atila
7dd51c0a72 Backed out 4 changesets (bug 1742797, bug 1748808) for causing crashes at mozilla::layers::APZCTreeManagerParent::RecvUpdateZoomConstraints.
Backed out changeset 23f2a369a5a7 (bug 1748808)
Backed out changeset 5b0edd03f698 (bug 1742797)
Backed out changeset 8ed69c2c1d49 (bug 1742797)
Backed out changeset 18e11e7ea9d0 (bug 1742797)
2022-07-19 08:12:04 +03:00
Hiroyuki Ikezoe
52ec0fcb16 Bug 1742797 - Add a new IPC call to clear animation resources on WebRender, r=sotaro.
Differential Revision: https://phabricator.services.mozilla.com/D151481
2022-07-18 18:01:52 +00:00
Csoregi Natalia
0e596f380e Backed out 4 changesets (bug 1742797) for causing failures on /browser_ext_getViews.js. CLOSED TREE
Backed out changeset c48ff146a33d (bug 1742797)
Backed out changeset a692ca1d8401 (bug 1742797)
Backed out changeset cfc1f440fb6d (bug 1742797)
Backed out changeset 88f60761e884 (bug 1742797)
2022-07-13 01:02:54 +03:00
Hiroyuki Ikezoe
e7e727dea4 Bug 1742797 - Add a new IPC call to clear animation resources on WebRender, r=sotaro.
Differential Revision: https://phabricator.services.mozilla.com/D151481
2022-07-12 14:46:53 +00:00
Masayuki Nakano
243a3b9e44 Bug 1772634 - part 2: Make BrowserParent::RecvSynthesizeNativeTouchPoint relax in the responsive design mode r=smaug
It's used by the DevTools to emulate touch events from mouse events in the
responsive design mode.  Therefore, we should make it accept IPC messages
even if it's not in the automation mode, but it's in the responsive design mode.

Differential Revision: https://phabricator.services.mozilla.com/D148365
2022-06-06 14:30:42 +00:00
Emilio Cobos Álvarez
984cbc402e Bug 1772432 - Clean up nsWidgetInitData. r=stransky
Use inline initializers, remove dead code, use consistent naming.

No behavior change.

Differential Revision: https://phabricator.services.mozilla.com/D148209
2022-06-03 09:41:39 +00:00
Greg Tatum
5de5cfdd2d Bug 1767537 - Remove intl.l10n.pseudo pref listening from nsBaseWidget; r=platform-i18n-reviewers,dminor
Differential Revision: https://phabricator.services.mozilla.com/D145376
2022-05-05 16:25:32 +00:00
Markus Stange
6c635cc7e4 Bug 1765399 - Replace nsIWidget::GetVsyncSource with nsIWidget::GetVsyncDispatcher. r=smaug
All users of nsIWidget::GetVsyncSource just want the dispatcher anyway.
Getting the dispatcher directly from the widget will allow us to remove VsyncSource::GetVsyncDispatcher.

Differential Revision: https://phabricator.services.mozilla.com/D144374
2022-05-05 02:15:17 +00:00
Markus Stange
02dcf13135 Bug 1765399 - Move a few more things to GetGlobalVsyncDispatcher. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D144372
2022-05-05 02:15:16 +00:00
Markus Stange
9b5e2d9d5f Bug 1765399 - Register CompositorVsyncDispatcher with VsyncDispatcher instead of directly with the VsyncSource. r=smaug
This makes it so that the VsyncSource doesn't need to keep track of the compositor vsync dispatchers.
And the moving-between-sources logic needs to be handled only for the VsyncDispatcher.

Once we have one VsyncDispatcher per window, we can probably eliminate CompositorVsyncDispatcher.

Differential Revision: https://phabricator.services.mozilla.com/D144366
2022-05-05 02:15:14 +00:00
Marian-Vasile Laza
f9224e56ba Backed out 16 changesets (bug 1765399) for causing build bustages on RefPtr.h.
Backed out changeset 8ff5e213e351 (bug 1765399)
Backed out changeset bd164f5cc8b3 (bug 1765399)
Backed out changeset 939b577eee05 (bug 1765399)
Backed out changeset ee00e3583f42 (bug 1765399)
Backed out changeset e5001537e536 (bug 1765399)
Backed out changeset d5a4004a2955 (bug 1765399)
Backed out changeset d3c1f6c420e3 (bug 1765399)
Backed out changeset d21fca656853 (bug 1765399)
Backed out changeset 5e5a29a99c9e (bug 1765399)
Backed out changeset ce326de1e107 (bug 1765399)
Backed out changeset 3890e83660b0 (bug 1765399)
Backed out changeset 2f3ceca7aefe (bug 1765399)
Backed out changeset 40c47c498858 (bug 1765399)
Backed out changeset 3a3a2aa6de9b (bug 1765399)
Backed out changeset 4a30a4b3d30d (bug 1765399)
Backed out changeset a9115d9d648e (bug 1765399)
2022-05-05 00:30:06 +03:00
Markus Stange
786050fdfc Bug 1765399 - Move a few more things to GetGlobalVsyncDispatcher. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D144372
2022-05-04 16:13:37 +00:00
Markus Stange
8ad369d873 Bug 1765399 - Register CompositorVsyncDispatcher with VsyncDispatcher instead of directly with the VsyncSource. r=smaug
This makes it so that the VsyncSource doesn't need to keep track of the compositor vsync dispatchers.
And the moving-between-sources logic needs to be handled only for the VsyncDispatcher.

Once we have one VsyncDispatcher per window, we can probably eliminate CompositorVsyncDispatcher.

Differential Revision: https://phabricator.services.mozilla.com/D144366
2022-05-04 16:13:35 +00:00
Chris Martin
5865545bab Bug 1763023 - Push nsBaseWidget::mSizeMode into child classes r=handyman
This member is no longer used on Windows, and having it in the
base class doesn't provide a real abstraction anyway since
the child classes will break if anything about it is changed.

Differential Revision: https://phabricator.services.mozilla.com/D145132
2022-05-02 14:06:17 +00:00
sotaro
38ea8eecd0 Bug 1736479 - Make gfx SanityTest.jsm work again r=gfx-reviewers,bradwerth
If we want to re-enable SanityTest.jsm test, we need to disable native compositor(DirectComposition) on the testing window, since taking snapshot of native compositor is very slow on Windows. Then CompositorOptions could be used to notice to disable native compositor(DirectComposition).
To notice it from SanityTest.jsm to gecko, nsIAppWindow::needFastSnaphot() is used.

Differential Revision: https://phabricator.services.mozilla.com/D130824
2022-04-20 01:08:52 +00:00
Andrew Osmond
1f65b6ffae Bug 1760663 - Add blocklist support for WebGPU. r=gfx-reviewers,nical
This patch just adds the plumbing to allow for baked in blocklist rules
or the downloadable blocklist to prevent certain configurations from
getting WebGPU. It does not add any rules.

It also changes us from allowing WebGPU only in nightly, including
tests, to not release and not beta. This allows try to run the WebGPU
tests as expected, since even try builds forked from mozilla-central are
not considered nightly builds by CI (or so it seems).

Differential Revision: https://phabricator.services.mozilla.com/D141682
2022-03-22 15:22:39 +00:00
Florian Quèze
00a5ee33d8 Bug 1757202 - Make the inner window id of the browser window available in the compositor bridge, r=mstange.
Differential Revision: https://phabricator.services.mozilla.com/D139730
2022-03-11 07:49:04 +00:00
Chris Martin
dcdfda499a Bug 1756621 - Allow nsBaseWidget::mBorderStyle to be set via constructor r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D139741
2022-02-25 20:08:29 +00:00
Molly Howell
6637ebed7f Bug 1598312 - Support setting a custom resize margin, and apply that to Picture-in-Picture windows. r=cmartin,emilio
Differential Revision: https://phabricator.services.mozilla.com/D138725
2022-02-17 23:18:45 +00:00
Masayuki Nakano
a8c2bbc3f0 Bug 1191862 - part 1: Make nsIWidget::NativeKeyBindingsType independent from nsIWidget and defined in an independent header file r=smaug
I'd like to use it in `IMEData.h`.  However, adding new include into it may
cause bustage with MinGW, and it's included by `nsIWidget.h` because `nsIWidget`
requires some classes defined in `IMEData.h`.  Therefore, I'd like to make a
new header file for avoiding the include hell.

Differential Revision: https://phabricator.services.mozilla.com/D138007
2022-02-15 08:00:05 +00:00
Masayuki Nakano
45742c9174 Bug 1746104 - part 2-3: Clean up some code in IMEData.h r=m_kato
I'd like to use `OffsetAndData` in `IMMHandler` to store selection range.
Before doing this, this patch adds some useful methods into it.

Differential Revision: https://phabricator.services.mozilla.com/D137411
2022-02-07 22:33:33 +00:00
Chris Martin
75956faa71 Bug 1752619 - Remove aTargetScreen from nsIWidget::MakeFullScreen() r=handyman,spohl,agi,emilio
Differential Revision: https://phabricator.services.mozilla.com/D137336
2022-01-31 22:07:23 +00:00