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

17105 Коммитов

Автор SHA1 Сообщение Дата
sotaro 67f424d382 Bug 1771344 - Add TextureClient::IsValid() check to PersistentBufferProviderShared::SetKnowsCompositor() r=gfx-reviewers,lsalzman
Device reset in test_device_reset.html replaces CompositorBridgeChild to a new one. And shutting down old CompositorBridgeChild also destroys TextureClients.

Differential Revision: https://phabricator.services.mozilla.com/D164175
2022-12-13 01:01:15 +00:00
sotaro 32de8eae22 Bug 1804592 - A little code cleanup of PersistentBufferProviderShared::Destroy() r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D164176
2022-12-13 00:12:49 +00:00
Julian Seward 3bd75021b0 Bug 1805082 - WebRenderLayerScrollData::WebRenderLayerScrollData() does not initialise `mAncestorTransformId`. r=tnikkel.
.. but that is of primitive type (uint64_t, I think) and so the field remains
uninitialised in the created object.  The uninitialised value eventually shows
up in WebRenderScrollDataWrapper.h,
WebRenderScrollDataWrapper::GetTransform().

Differential Revision: https://phabricator.services.mozilla.com/D164434
2022-12-12 15:00:30 +00:00
Razvan Cojocaru dd1836f4a3 Bug 1685648 - Prevent a fast fling when trying to pinch-zoom on a non-zoomable page. r=botond
This now enables two-finger fling gestures on zoomable pages too,
which helps with consistency.

Differential Revision: https://phabricator.services.mozilla.com/D164134
2022-12-11 05:29:12 +00:00
Lee Salzman 5258ab7cee Bug 1795768 - Do not use Direct2D canvas if willReadFrequently is set. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D164364
2022-12-10 04:46:28 +00:00
Cristian Tuns aa4fd6f08c Backed out 2 changesets (bug 1795768, bug 1804924) for causing build bustages CLOSED TREE
Backed out changeset 220d6288fe81 (bug 1795768)
Backed out changeset 5d43ff0044fe (bug 1804924)
2022-12-09 12:30:33 -05:00
Lee Salzman edd1ee2ec0 Bug 1795768 - Do not use Direct2D canvas if willReadFrequently is set. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D164364
2022-12-09 17:03:03 +00:00
Botond Ballo 283c0a23b7 Bug 1519339 - Do not hand off smooth scrolls in an overflow:hidden direction to APZ. r=dlrobertson
APZ cannot currently scroll in directions which are overflow:hidden
(it does not know the full scroll range bounds in those directions).

Therefore, main-thread scrolling in these directions should not be
handed off to APZ.

Differential Revision: https://phabricator.services.mozilla.com/D161351
2022-12-09 09:01:42 +00:00
Botond Ballo 76348a974d Bug 1804457 - Restore branch in ClassifyCompositorOptionsChange() to support APZ enablement change on a best-effort basis. r=dlrobertson
Depends on D164162

Differential Revision: https://phabricator.services.mozilla.com/D164163
2022-12-08 04:13:18 +00:00
sotaro ad6c294e3c Bug 1794380 - Fix RemoteTexture with WebGL sync present on Android r=gfx-reviewers,lsalzman
The change addressed followings problems.

- Recycling of gl::SharedSurface by RemoteTextureMap is not handled by gl::SwapChain.
- PrepareForUse()/NotifyNotUsed() of remote texture's TextureHost(SurfaceTextureHost) is not handled
- Wrapping of RenderAndroidSurfaceTextureHost by RenderTextureHostWrapper is not handled

PrepareForUse()/NotifyNotUsed() is called based on compositor ref count of TextureHost. Normally TextureHost is wrapped by WebRenderTextureHost, then the WebRenderTextureHost handles PrepareForUse()/NotifyNotUsed(). But in remote texture case, WebRenderTextureHost wraps RemoteTextureHostWrapper. And compositable ref of remote texture's TextureHost is updated within RemoteTextureMap::mMutex. Then PrepareForUse()/NotifyNotUsed() happen outside of WebRenderTextureHost in non compositor thread.

With pref gfx.canvas.accelerated=true, canvas renderings were broken on android emulator. The boroken rendering seemed to happen by GL of android emulator. The boroken rendering did not happen with tests on android hardware.

Differential Revision: https://phabricator.services.mozilla.com/D159261
2022-12-07 12:40:02 +00:00
sotaro 02d18ed8c1 Bug 1776885 - Add capability of async remote texture on WebGL if CanvasRenderThread is used r=gfx-reviewers,lsalzman
The remote texture is processed asynchronously, but the WebGL rendering results are rendered synchronously with WebRender transaction by WebRender.

Async remote texture support is enabled only when CanvasRenderThread is used. This is to simplify implementation.

In async mode, remote texture of current RemoteTextureId might not be created yet when WebRenderImageHost::UseRemoteTexture() is called. In this case, RemoteTextureHostWrapper uses its own external image ID, otherwise the RemoteTextureHostWrapper uses compatible old remote texture for creating wr display list. RenderTextureHostWrapper calls RemoteTextureMap::GetExternalImageIdOfRemoteTextureSync() before is ussage. The GetExternalImageIdOfRemoteTextureSync() synchronously waits until remote texture becomes ready. The wait works since WebGL IPC handling is always done in CanvasRenderThread in async mode.

PWebGLChild::SendGetFrontBuffer() triggers sync IPC. It is called to ensure the compatible remote texture in RemoteTextureMap during RemoteTextureMap::GetRemoteTextureForDisplayList() call.

Differential Revision: https://phabricator.services.mozilla.com/D162971
2022-12-07 02:24:57 +00:00
Cristian Tuns 77f27d96b0 Backed out changeset 42315c023471 (bug 1799222) for causing multiple failures CLOSED TREE 2022-12-06 16:35:58 -05:00
Nika Layzell 40a3a64aee Bug 1799222 - Prevent accidental dispatches to threadpool and timer threads, r=xpcom-reviewers,necko-reviewers,geckoview-reviewers,media-playback-reviewers,jesup,m_kato,padenot,kmag
Differential Revision: https://phabricator.services.mozilla.com/D161349
2022-12-06 20:44:15 +00:00
Stanca Serban d0ad6a0b22 Backed out changeset d78a41db7a82 (bug 1776885) for causing reftests failures in ReleaseCompositableRef. CLOSED TREE 2022-12-06 17:34:12 +02:00
sotaro e23cea6ac1 Bug 1776885 - Add capability of async remote texture on WebGL if CanvasRenderThread is used r=gfx-reviewers,lsalzman
The remote texture is processed asynchronously, but the WebGL rendering results are rendered synchronously with WebRender transaction by WebRender.

Async remote texture support is enabled only when CanvasRenderThread is used. This is to simplify implementation.

In async mode, remote texture of current RemoteTextureId might not be created yet when WebRenderImageHost::UseRemoteTexture() is called. In this case, RemoteTextureHostWrapper uses its own external image ID, otherwise the RemoteTextureHostWrapper uses compatible old remote texture for creating wr display list. RenderTextureHostWrapper calls RemoteTextureMap::GetExternalImageIdOfRemoteTextureSync() before is ussage. The GetExternalImageIdOfRemoteTextureSync() synchronously waits until remote texture becomes ready. The wait works since WebGL IPC handling is always done in CanvasRenderThread in async mode.

PWebGLChild::SendGetFrontBuffer() triggers sync IPC. It is called to ensure the compatible remote texture in RemoteTextureMap during RemoteTextureMap::GetRemoteTextureForDisplayList() call.

Differential Revision: https://phabricator.services.mozilla.com/D162971
2022-12-06 13:56:19 +00:00
Hiroyuki Ikezoe d1c5e5e77d Bug 1801782 - Add a browser mochitest to cause content response timeout. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162951
2022-12-04 23:41:42 +00:00
Hiroyuki Ikezoe c3b856bff3 Bug 1801782 - Drop a redundant pan update phase in panRightToLeft. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D163181
2022-12-04 23:41:42 +00:00
Hiroyuki Ikezoe 24462c04bb Bug 1801782 - Rename deltaOnRTL to delta. r=botond
On Windows it's also opposite vertically.

Differential Revision: https://phabricator.services.mozilla.com/D163053
2022-12-04 23:41:42 +00:00
Hiroyuki Ikezoe 8dc3ae36b3 Bug 1801782 - Move utility functions for sending pan events into apz_test_native_event_utils.js. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162950
2022-12-04 23:41:41 +00:00
Dan Robertson 877e8b332d Bug 1803455 - Fire scrollend for a main thread smooth scroll. r=botond
Use the original start position of main thread smooth scrolls to determine
if the scroll position changed on scroll complete, and fire a scrollend
event if it did.

Differential Revision: https://phabricator.services.mozilla.com/D163550
2022-12-02 22:26:55 +00:00
Marian-Vasile Laza cd7fc78979 Backed out 4 changesets (bug 1801782) for causing bc failures on browser_test_swipe_gesture.js. CLOSED TREE
Backed out changeset e653ba7dc749 (bug 1801782)
Backed out changeset e7e0e08c03f2 (bug 1801782)
Backed out changeset d5f972c202fa (bug 1801782)
Backed out changeset d76f0c0d4d94 (bug 1801782)
2022-12-01 06:11:07 +02:00
Hiroyuki Ikezoe 1d597740be Bug 1801782 - Add a browser mochitest to cause content response timeout. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162951
2022-11-30 22:15:07 +00:00
Hiroyuki Ikezoe 2fa41a47fe Bug 1801782 - Drop a redundant pan update phase in panRightToLeft. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D163181
2022-11-30 22:15:07 +00:00
Hiroyuki Ikezoe 0e31251866 Bug 1801782 - Rename deltaOnRTL to delta. r=botond
On Windows it's also opposite vertically.

Differential Revision: https://phabricator.services.mozilla.com/D163053
2022-11-30 22:15:06 +00:00
Hiroyuki Ikezoe 5032b4386b Bug 1801782 - Move utility functions for sending pan events into apz_test_native_event_utils.js. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162950
2022-11-30 22:15:06 +00:00
Brad Werth b8327d4af3 Bug 1801819: Make SynchronousTask double-check its completion flag to identify timeouts. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D162877
2022-11-29 05:15:07 +00:00
Botond Ballo 6d124a732d Bug 1802225 - Move TestSurfaceAllocator to TestTextures.cpp and remove TestLayers.h. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162936
2022-11-29 01:52:04 +00:00
Botond Ballo 9232e34cb4 Bug 1802225 - Rename LayerAttributes.h to ScrollbarData.h. r=tnikkel
Since ScrollbarData is its only remaining content.

Differential Revision: https://phabricator.services.mozilla.com/D162935
2022-11-29 01:52:03 +00:00
Botond Ballo 68c71a503c Bug 1802225 - Remove Layers.{h,cpp}. r=tnikkel,geckoview-reviewers,jgilbert,media-playback-reviewers,padenot,m_kato
Where appropriate, `#include "Layers.h"` is replaced with
more specific inclusions.

Differential Revision: https://phabricator.services.mozilla.com/D162934
2022-11-29 01:52:03 +00:00
Botond Ballo 265b8dc195 Bug 1802225 - Move RecordCompositionPayloadsPresented() to CompositorBridgeParent.h. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162933
2022-11-29 01:52:02 +00:00
Botond Ballo 6e1e4381dd Bug 1802225 - Move ToOutsideIntRect() to WebRenderLayerManager.cpp. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162932
2022-11-29 01:52:02 +00:00
Botond Ballo bd0e683d14 Bug 1802225 - Move WriteSnapshotToDumpFile() to CompositorOGL.cpp. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162931
2022-11-29 01:52:02 +00:00
Botond Ballo 5ed0b2dc47 Bug 1802225 - Remove class Layer. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162930
2022-11-29 01:52:01 +00:00
Botond Ballo 81a7d5dda0 Bug 1802225 - Remove the LayerPolygon typedef. r=tnikkel
Its only user was the BSPTree test suite, for its purposes
define a TestPolygon using an empty BSPTestData class instead.

Differential Revision: https://phabricator.services.mozilla.com/D162929
2022-11-29 01:52:01 +00:00
Botond Ballo 14d13f5339 Bug 1802225 - Remove unused declaration of WriteSnapshotToDumpFile(Layer*, ...). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162928
2022-11-29 01:52:01 +00:00
Botond Ballo f4f911a6d5 Bug 1802225 - Remove unused method AnimationInfo::TransferMutatedFlagToLayer(). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162927
2022-11-29 01:52:00 +00:00
Botond Ballo e87122c9b1 Bug 1802225 - Remove the unused Layer::CONTENT_ flags. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162926
2022-11-29 01:52:00 +00:00
Botond Ballo 42986b96ab Bug 1802225 - Remove unused aContentFlags parameter of ImageClient::UpdateImage(). r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D162925
2022-11-29 01:51:59 +00:00
Barret Rennie bfcf8f3747 Bug 1802605 - Use SpecialPowers.Services.env in gfx tests r=botond
Differential Revision: https://phabricator.services.mozilla.com/D163249
2022-11-28 20:39:38 +00:00
Barret Rennie 2b21f2a136 Bug 1541508 - Use SpecialPowers.Cc in helper_transform_end_on_keyboard_scroll.html to avoid macOS test timeouts. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D163152
2022-11-25 23:22:19 +00:00
Barret Rennie aa8b436378 Bug 1541508 - Use SpecialPowers.Services in helper_transform_end_on_keyboard_scroll.html. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D163142
2022-11-25 20:48:05 +00:00
Barret Rennie d4bdebd62b Bug 1541508 - Use Services.env in gfx/ r=botond
Differential Revision: https://phabricator.services.mozilla.com/D160153
2022-11-25 19:09:07 +00:00
Cosmin Sabou 4b7d1c1ecc Bug 1784759 - disable browser_test_scrolling_in_extension_popup_window.js on mac for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D162812
2022-11-25 06:11:38 +00:00
Marco Castelluccio 11b87fc0cb Bug 1790816 - Reformat gfx/ with isort. r=jgilbert DONTBUILD
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D162641
2022-11-22 12:54:40 +00:00
Hiroyuki Ikezoe 3a5650ace5 Bug 1794070 - Make a pan start event wait for the browser gesture code response. r=botond,dlrobertson
So that APZ can wait to handle the event to do overscrolling until the browser
responds that the event wasn't used for gestures.

Differential Revision: https://phabricator.services.mozilla.com/D160438
2022-11-22 06:52:53 +00:00
Hiroyuki Ikezoe d33990bcde Bug 1794070 - Ignore overscrollable check in CanScrollTargetHorizontally. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D162362
2022-11-22 06:52:52 +00:00
Hiroyuki Ikezoe d32e0125e8 Bug 1794070 - Introduce PanGestureInput::AllowsSwipe(). r=botond
Differential Revision: https://phabricator.services.mozilla.com/D160437
2022-11-22 06:52:52 +00:00
Hiroyuki Ikezoe f7ce055162 Bug 1794070 - Refer mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection flag instead of calling SwipeTrackker::CanTriggerSwipe(). r=botond
And rename mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection to
mMayTriggerSwipe.

So basically once after the flag is set, we should use it.

Differential Revision: https://phabricator.services.mozilla.com/D160436
2022-11-22 06:52:52 +00:00
Hiroyuki Ikezoe ebfe7e293e Bug 1794070 - Make mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection private. r=botond
And initialized it only in ctors so that in the next change we can use it to
tell whether this pan event may trigger swipe or not without calling
SwipeTracker::CanTriggerSwipe every time.

There's an unintuitive change in a GTest sending a horizontal pan-start event.
With this changeset, all incomming pan-start events on desktop platforms
basically set mRequiresContentResponseIfCannotScrollHorizontallyInStartDirection
to true even if the event is generated in GTests. So the pan start event runs
into the short circuit path for swipe-to-navigation. This is a good thing because
it means the GTest replicates what our browser does properly.

Differential Revision: https://phabricator.services.mozilla.com/D160435
2022-11-22 06:52:51 +00:00
Hiroyuki Ikezoe 4c8d1c6a7f Bug 1794070 - Check mOverscrollBehaviorAllowsSwipe whether we do the short circuit for swipe. r=botond
Though this isn't a real bug at all since later we check the flag in
nsBaseWidget::MayStartSwipeForAPZ [1], this change includes a browser
mochitest to make sure `overscroll-behavior: contain` prevents swipe
navigations.


[1] https://searchfox.org/mozilla-central/rev/c5c002f81f08a73e04868e0c2bf0eb113f200b03/widget/nsBaseWidget.cpp#2294

Differential Revision: https://phabricator.services.mozilla.com/D160434
2022-11-22 06:52:51 +00:00