gecko-dev/gfx/layers
Jamie Nicol ffb15c5a6b Bug 1757766 - Avoid using NS_DISPATCH_SYNC in UiCompositorController::Destroy. r=gfx-reviewers,aosmond
On Android, we must dispatch UiCompositorController::Destroy to run on
the UI thread synchronously. We were using NS_DISPATCH_SYNC to do so,
but that works by starting a nested event loop that continues to
execute tasks on the thread we have dispatched from. This means that
we can start to execute a task which calls
nsBaseWidget::CreateCompositor whilst we are midway through
nsBaseWidget::DestroyCompositor. As well as generally seeming like a
terrible idea, this also causes an assertion failure in some tests.

To avoid this use SynchronousTask rather than NS_DISPATCH_SYNC, as it
actually blocks synchronously. Additionally, do the same thing for
APZInputBridgeChild::Destroy, as it is called from the same location
and poses the same risk.

Ideally we wouldn't have to call UiCompositorControllerChild::Destroy
synchronously at all, but it was added in bug 1392705 to fix severe
crashes. It might be a good idea to re-evaluate whether it is still
required at some point in the future.

Differential Revision: https://phabricator.services.mozilla.com/D140084
2022-03-02 18:52:08 +00:00
..
apz Bug 1756762. When the root scroll frame is destroyed, reset the visual viewport offset on it's presshell. r=botond 2022-03-01 01:51:27 +00:00
client Bug 1757123 - Remove BufferTextureData::RestoreOriginalDescriptor() r=gfx-reviewers,jrmuizel 2022-02-25 08:26:43 +00:00
composite Bug 1755747 - Add support for antialiased non-snapped rectangles. r=gfx-reviewers,aosmond 2022-02-23 13:37:39 +00:00
d3d11 Backed out 5 changesets (bug 1745492) for reftest failures on image-10bits-rendering-720-video.html CLOSED TREE 2022-02-23 21:15:58 +02:00
ipc Bug 1757766 - Avoid using NS_DISPATCH_SYNC in UiCompositorController::Destroy. r=gfx-reviewers,aosmond 2022-03-02 18:52:08 +00:00
layerviewer Bug 1729817 - Remove unused layers.dump and related prefs. r=gfx-reviewers,mattwoodrow 2021-09-09 15:46:20 +00:00
opengl Backed out 5 changesets (bug 1745492) for reftest failures on image-10bits-rendering-720-video.html CLOSED TREE 2022-02-23 21:15:58 +02:00
wr Backed out changeset db75af2b4f4e (bug 1748788) for causing webrender crashes (bug 1707052). CLOSED TREE 2022-03-01 16:10:26 +02:00
AndroidHardwareBuffer.cpp
AndroidHardwareBuffer.h
AnimationHelper.cpp
AnimationHelper.h
AnimationInfo.cpp Bug 1741783 - Rename PuppetWidget::HasLayerManager() to HasWindowRenderer() r=gfx-reviewers,nical 2021-11-18 14:16:00 +00:00
AnimationInfo.h Bug 1727682 - Make WebRenderLayerManager not inherit LayerManager. r=jrmuizel 2021-09-05 22:36:45 +00:00
AnimationStorageData.h
AtomicRefCountedWithFinalize.h
AxisPhysicsModel.cpp
AxisPhysicsModel.h
AxisPhysicsMSDModel.cpp
AxisPhysicsMSDModel.h
BSPTree.cpp
BSPTree.h
BufferTexture.cpp Bug 1750858 - Respect mPicSize in WebRender. r=sotaro 2022-02-22 17:56:30 +00:00
BufferTexture.h Bug 1757123 - Remove BufferTextureData::RestoreOriginalDescriptor() r=gfx-reviewers,jrmuizel 2022-02-25 08:26:43 +00:00
BuildConstants.h
CanvasDrawEventRecorder.cpp Bug 1741767: Use shared memory surfaces in Canvas 2D recording. r=lsalzman 2022-01-15 05:17:21 +00:00
CanvasDrawEventRecorder.h Bug 1741767: Use shared memory surfaces in Canvas 2D recording. r=lsalzman 2022-01-15 05:17:21 +00:00
CanvasRenderer.cpp Bug 1754130 - Support presenting a WebGLFramebuffer to its own swap chain without opaque FB. r=aosmond,jgilbert 2022-02-11 19:49:56 +00:00
CanvasRenderer.h Bug 1754130 - Support presenting a WebGLFramebuffer to its own swap chain without opaque FB. r=aosmond,jgilbert 2022-02-11 19:49:56 +00:00
CompositionRecorder.cpp
CompositionRecorder.h
Compositor.cpp Bug 1742052 - Remove unused code around TextureHost r=gfx-reviewers,nical 2021-11-22 09:49:59 +00:00
Compositor.h Bug 1742052 - Remove unused code around TextureHost r=gfx-reviewers,nical 2021-11-22 09:49:59 +00:00
CompositorAnimationStorage.cpp Bug 1757587 - Remove non-webrender CompositorAnimationStorage code that seems unused, r=mstange. 2022-03-01 23:08:15 +00:00
CompositorAnimationStorage.h Bug 1757587 - Remove non-webrender CompositorAnimationStorage code that seems unused, r=mstange. 2022-03-01 23:08:15 +00:00
CompositorTypes.cpp
CompositorTypes.h Bug 1754978 - Part 2. Switch WebGPU to use async image pipelines for display. r=kvark 2022-02-18 15:59:13 +00:00
D3D9SurfaceImage.cpp Bug 1742739 - Remove HasIntermediateBuffer r=gfx-reviewers,jnicol 2021-11-28 11:40:16 +00:00
D3D9SurfaceImage.h
D3D11ShareHandleImage.cpp
D3D11ShareHandleImage.h Bug 1746111 - (Re)serialize WebRTC frame SurfaceDescriptorBuffers for convert-and-upload on WebGLParent. r=gfx-reviewers,nika,lsalzman 2021-12-15 01:54:21 +00:00
D3D11YCbCrImage.cpp
D3D11YCbCrImage.h
DirectionUtils.h
DMABUFSurfaceImage.cpp Bug 1743638 [Linux] Make VideoFramePool thread safe r=alwu,media-playback-reviewers 2022-01-24 11:59:42 +00:00
DMABUFSurfaceImage.h
Effects.cpp Bug 1730055 Fix lint failure in Effects.cpp r=fix CLOSED TREE 2021-09-22 02:09:00 -04:00
Effects.h Bug 1730055 - Remove unused Effect types. r=gfx-reviewers,lsalzman 2021-09-22 05:27:20 +00:00
FrameMetrics.cpp Bug 1733747. Remove remaining critical display port code. r=botond 2022-01-17 10:29:44 +00:00
FrameMetrics.h Bug 1571758 - Introduce scroll generation in APZC and SampledAPZCState and inform it to the scrollable frame on the main-thread via RepaintRequest. r=botond 2022-01-31 09:40:33 +00:00
GLImages.cpp Bug 1736793 - Add SurfaceTexture support to GLBlitHelper::BlitSdToFramebuffer() r=jgilbert,gfx-reviewers 2022-01-19 02:13:48 +00:00
GLImages.h Bug 1736793 - Add SurfaceTexture support to GLBlitHelper::BlitSdToFramebuffer() r=jgilbert,gfx-reviewers 2022-01-19 02:13:48 +00:00
GPUVideoImage.h
ImageContainer.cpp Bug 1519636 - Reformat recent changes to the Google coding style. r=sylvestre 2022-01-11 15:49:03 +00:00
ImageContainer.h Bug 1750858 - Respect mPicSize in WebRender. r=sotaro 2022-02-22 17:56:30 +00:00
ImageDataSerializer.cpp Bug 1750858 - Respect mPicSize in WebRender. r=sotaro 2022-02-22 17:56:30 +00:00
ImageDataSerializer.h Bug 1750858 - Respect mPicSize in WebRender. r=sotaro 2022-02-22 17:56:30 +00:00
ImageTypes.h
IMFYCbCrImage.cpp
IMFYCbCrImage.h
IPDLActor.h
LayerAttributes.h Bug 1743955 - Remove SimpleLayerAttributes. r=gfx-reviewers,lsalzman 2021-12-02 14:37:20 +00:00
Layers.cpp Bug 1744087 - Remove some unused remnants from Layers.h/cpp. r=gfx-reviewers,bradwerth 2021-12-02 20:30:18 +00:00
Layers.h Bug 1744087 - Remove some unused remnants from Layers.h/cpp. r=gfx-reviewers,bradwerth 2021-12-02 20:30:18 +00:00
LayersTypes.cpp Bug 1740411 - Remove EventRegions. r=hiro 2021-11-22 05:34:14 +00:00
LayersTypes.h Bug 1754978 - Part 1. Refactor CompositableHandle infrastructure to allow in-process driven handles. r=sotaro 2022-02-18 15:59:12 +00:00
LayerUserData.h
MacIOSurfaceHelpers.cpp
MacIOSurfaceHelpers.h
MacIOSurfaceImage.cpp Bug 1735893 - Add pref to use NV12 when uploading software-decoded video to an IOSurface. r=bradwerth 2021-10-14 20:17:02 +00:00
MacIOSurfaceImage.h
MemoryPressureObserver.cpp
MemoryPressureObserver.h
moz.build Bug 1754978 - Part 1. Refactor CompositableHandle infrastructure to allow in-process driven handles. r=sotaro 2022-02-18 15:59:12 +00:00
NativeLayer.h Bug 1752469 - Remove Gnome specific workaround using PauseCompositor(), r=gfx-reviewers,lsalzman 2022-01-28 04:24:16 +00:00
NativeLayerCA.h Backed out 5 changesets (bug 1745492) for reftest failures on image-10bits-rendering-720-video.html CLOSED TREE 2022-02-23 21:15:58 +02:00
NativeLayerCA.mm Backed out 5 changesets (bug 1745492) for reftest failures on image-10bits-rendering-720-video.html CLOSED TREE 2022-02-23 21:15:58 +02:00
NativeLayerWayland.cpp Bug 1752469 - Remove Gnome specific workaround using PauseCompositor(), r=gfx-reviewers,lsalzman 2022-01-28 04:24:16 +00:00
NativeLayerWayland.h Bug 1752469 - Remove Gnome specific workaround using PauseCompositor(), r=gfx-reviewers,lsalzman 2022-01-28 04:24:16 +00:00
OOPCanvasRenderer.h
PersistentBufferProvider.cpp Bug 1755780 - Optimize DrawTargetWebgl for BGRA WebGL framebuffer. r=aosmond 2022-02-21 17:33:09 +00:00
PersistentBufferProvider.h Bug 1755780 - Optimize DrawTargetWebgl for BGRA WebGL framebuffer. r=aosmond 2022-02-21 17:33:09 +00:00
ProfilerScreenshots.cpp Bug 1742722 - Move CompositorScreenshot markers to the main thread, r=mstange. 2021-11-24 10:47:59 +00:00
ProfilerScreenshots.h
RecordedCanvasEventImpl.h
RepaintRequest.cpp Bug 1571758 - Introduce scroll generation in APZC and SampledAPZCState and inform it to the scrollable frame on the main-thread via RepaintRequest. r=botond 2022-01-31 09:40:33 +00:00
RepaintRequest.h Bug 1571758 - Introduce scroll generation in APZC and SampledAPZCState and inform it to the scrollable frame on the main-thread via RepaintRequest. r=botond 2022-01-31 09:40:33 +00:00
SampleTime.cpp
SampleTime.h
ScreenshotGrabber.cpp
ScreenshotGrabber.h
ScrollableLayerGuid.cpp Bug 1729118 - Move GuidComparatorIgnoringPresShell to ScrollableLayerGuid.h. r=hiro 2021-09-21 06:53:37 +00:00
ScrollableLayerGuid.h Bug 1729118 - Move GuidComparatorIgnoringPresShell to ScrollableLayerGuid.h. r=hiro 2021-09-21 06:53:37 +00:00
ShareableCanvasRenderer.cpp Bug 1754130 - Support presenting a WebGLFramebuffer to its own swap chain without opaque FB. r=aosmond,jgilbert 2022-02-11 19:49:56 +00:00
ShareableCanvasRenderer.h
SourceSurfaceSharedData.cpp Bug 1734739 - Part 1: Stop requiring otherpid for ShareTo, r=handyman 2021-11-24 17:56:00 +00:00
SourceSurfaceSharedData.h Bug 1734739 - Part 1: Stop requiring otherpid for ShareTo, r=handyman 2021-11-24 17:56:00 +00:00
SurfacePool.h
SurfacePoolCA.h
SurfacePoolCA.mm Bug 1738627 - profiler_thread_is_being_profiled_for_markers - r=canaltinova 2021-11-08 23:59:35 +00:00
SurfacePoolWayland.cpp
SurfacePoolWayland.h Bug 1728014 - [Wayland] fix FreeBSD/libc++ build by adding forgotten include to SurfacePoolWayland.h r=rmader 2021-08-29 19:34:54 +00:00
SyncObject.cpp
SyncObject.h
TextureSourceProvider.cpp Bug 1734735 - Part 6: Remove dead TextureSync code, r=dthayer 2021-11-23 16:15:22 +00:00
TextureSourceProvider.h Bug 1742052 - Remove unused code around TextureHost r=gfx-reviewers,nical 2021-11-22 09:49:59 +00:00
TextureWrapperImage.cpp
TextureWrapperImage.h
TransactionIdAllocator.h
TreeTraversal.h
UpdateImageHelper.h
ZoomConstraints.cpp
ZoomConstraints.h Bug 1733278 - Remove MaybeZoomConstraints. r=hiro 2021-09-30 00:08:34 +00:00