gecko-dev/gfx/layers
Kevin Wern 7ae5cf1e52 Bug 1227231: Use generic tree traversal algorithms for loops over Layer trees. r=botond
Create an Iterator type with classes ForwardIterator and ReverseIterator,
having GetFirstChild/GetNextSibling and GetLastChild/GetPrevSibling
methods, respectively. Specify the iterator type for each call to
ForEachNode. With this, we can support trees with forward and reverse
sibling structures.

Additionally, apply these algorithms to all Layer recursive traversals,
where applicable. Update tests to ensure both directions yield expected
results.

MozReview-Commit-ID: iYpX22XHTa

--HG--
extra : rebase_source : 016d3c37e0679df7037dacd3366d3fa7748d0703
extra : amend_source : 089c4a62bd4716be087669742bb542c39a9f97c6
2016-03-10 01:20:40 -08:00
..
apz Bug 1227231: Use generic tree traversal algorithms for loops over Layer trees. r=botond 2016-03-10 01:20:40 -08:00
basic Bug 1227231: Use generic tree traversal algorithms for loops over Layer trees. r=botond 2016-03-10 01:20:40 -08:00
client Bug 1272114 - Suppress error log r=nical 2016-05-12 05:58:13 -07:00
composite Bug 1227231: Use generic tree traversal algorithms for loops over Layer trees. r=botond 2016-03-10 01:20:40 -08:00
d3d9 Use gfxConfig for D3D9 preferences. (bug 1270650, r=jrmuizel) 2016-05-06 19:01:58 -07:00
d3d11 Bug 1253241 - Return empty render bound for empty clip. r=mattwoodrow 2016-05-02 20:24:00 +02:00
ipc Bug 1227231: Use generic tree traversal algorithms for loops over Layer trees. r=botond 2016-03-10 01:20:40 -08:00
layerviewer
opengl Bug 1269422: Get Gonk widget with |CompositorWidgetProxy::RealWidget|. r=dvander 2016-05-05 11:27:38 +02:00
protobuf
AsyncCanvasRenderer.cpp Bug 1265638 - Reset some properties when the backend of SharedSurface is switching from Basic to layer-accelerated backend. r=jgilbert 2016-04-26 11:08:56 +08:00
AsyncCanvasRenderer.h Back out 9 changesets (bug 801176) for frequent crashes in test_offscreencanvas_dynamic_fallback.html 2016-03-05 07:20:47 -08:00
AtomicRefCountedWithFinalize.h Bug 1268313: Part 3 - Replace some NewCancelableRunnableMethod with NS_NewNonOwningCancelableRunnableMethod. r=froydnj 2016-05-05 01:44:59 -07:00
AxisPhysicsModel.cpp
AxisPhysicsModel.h
AxisPhysicsMSDModel.cpp Bug 1249040 - Allow wheel scrolls to accumulate in the presence of scroll snapping. r=kats 2016-04-07 17:41:55 -04:00
AxisPhysicsMSDModel.h Bug 1249040 - Allow wheel scrolls to accumulate in the presence of scroll snapping. r=kats 2016-04-07 17:41:55 -04:00
BufferTexture.cpp Bug 1266396 - Make TextureClient more robust against racy shutdown situations. r=Bas 2016-04-22 18:05:26 +02:00
BufferTexture.h Bug 1266396 - Make TextureClient more robust against racy shutdown situations. r=Bas 2016-04-22 18:05:26 +02:00
BufferUnrotate.cpp
BufferUnrotate.h
Compositor.cpp Restrict SetDispAcquireFence's nsIWidget access to Gonk. (bug 1269653 part 2, r=kats) 2016-05-03 17:37:34 -07:00
Compositor.h Restrict SetDispAcquireFence's nsIWidget access to Gonk. (bug 1269653 part 2, r=kats) 2016-05-03 17:37:34 -07:00
CompositorTypes.h Disable device access on textures created against stale layers. (bug 1256517 part 3, r=nical) 2016-03-25 01:36:17 -07:00
CopyableCanvasLayer.cpp Bug 1255907 - Fix unification build issues in APZ & Layers. r=kats 2016-03-14 11:39:12 -04:00
CopyableCanvasLayer.h
D3D9SurfaceImage.cpp Bug 1257013 - Part 1: Use readback to synchronize d3d9 video. r=cpearce,Bas 2016-03-21 18:49:43 +13:00
D3D9SurfaceImage.h Bug 1257013 - Part 1: Use readback to synchronize d3d9 video. r=cpearce,Bas 2016-03-21 18:49:43 +13:00
D3D11ShareHandleImage.cpp Bug 1257013 - Part 2: Use readback to synchronize d3d11 video. r=cpearce,Bas 2016-03-21 18:49:59 +13:00
D3D11ShareHandleImage.h Bug 1200595 - D3D11 TextureData implementation. r=Bas 2015-10-15 17:53:37 +02:00
DirectedGraph.h
Effects.cpp Bug 1223736 - Part 3: Remove the distinction between 2d and 3d masks since it only adds complexity. r=Bas 2016-03-22 09:10:37 +13:00
Effects.h Bug 1223736 - Part 3: Remove the distinction between 2d and 3d masks since it only adds complexity. r=Bas 2016-03-22 09:10:37 +13:00
FrameMetrics.cpp Bug 1267470 - Move more fields from FrameMetrics to ScrollMetadata. r=kats 2016-04-27 16:06:34 -04:00
FrameMetrics.h Bug 1267438 - Give layers an optional scrolled clip that is scrolled by all scroll frames associated with the layer. r=mstange 2016-04-29 17:32:53 -04:00
GLImages.cpp Back out 9 changesets (bug 801176) for frequent crashes in test_offscreencanvas_dynamic_fallback.html 2016-03-05 07:20:47 -08:00
GLImages.h Bug 1116473 - [3.2] Use RefPtr for AndroidSurfaceTexture references. r=snorp 2016-02-23 21:04:25 +01:00
GrallocImages.cpp Bug 1262278 - Rename PlanarYCbCrImage::SetData and PlanarYCbCrImage::SetDataNoCopy r=nical 2016-04-18 20:12:41 -07:00
GrallocImages.h Bug 1262278 - Rename PlanarYCbCrImage::SetData and PlanarYCbCrImage::SetDataNoCopy r=nical 2016-04-18 20:12:41 -07:00
ImageContainer.cpp Bug 1262278 - Rename PlanarYCbCrImage::SetData and PlanarYCbCrImage::SetDataNoCopy r=nical 2016-04-18 20:12:41 -07:00
ImageContainer.h Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
ImageDataSerializer.cpp Bug 1270180: More instances of MOZ_CRASH converted to gfxDevCrash and getting GFX prefix. r=jgilbert 2016-05-06 10:19:31 -04:00
ImageDataSerializer.h Bug 1255907 - Fix unification build issues in APZ & Layers. r=kats 2016-03-14 11:39:12 -04:00
ImageLayers.cpp
ImageLayers.h
ImageTypes.h Bug 1266878 - Fix off-by-one error in ParamTraits<StereoMode> - r=nical 2016-04-25 18:09:59 +01:00
IMFYCbCrImage.cpp Make access to gfxWindowsPlatform D3D11 devices thread-safe. (bug 1258174, r=bas) 2016-03-21 00:14:05 -07:00
IMFYCbCrImage.h
IPDLActor.h Backed out 2 changesets (bug 1261347) for test_browserElement_oop_getWebManifest.html ASAN failures 2016-04-13 10:55:08 -07:00
LayerMetricsWrapper.h Bug 1267438 - Use the layer's scrolled clip during compositor hit testing. r=mstange 2016-05-04 17:30:26 -04:00
Layers.cpp Bug 1227231: Use generic tree traversal algorithms for loops over Layer trees. r=botond 2016-03-10 01:20:40 -08:00
Layers.h Bug 1267438 - Support adding ancestor mask layers from places other than SetupScrollingMetadata. r=mstange 2016-05-06 19:34:16 -04:00
LayerScope.cpp Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
LayerScope.h Bug 1255907 - Fix unification build issues in APZ & Layers. r=kats 2016-03-14 11:39:12 -04:00
LayersLogging.cpp Bug 1267438 - Group ScrollMetadata's optional clip rect and mask layer index into a LayerClip structure. r=mstange 2016-04-29 16:14:21 -04:00
LayersLogging.h Bug 1219296 - Split fields not needed for repaints out from FrameMetrics. r=kats 2016-03-28 19:14:52 -04:00
LayerSorter.cpp Bug 1247445 - Rename Layer::GetEffectiveVisibleRegion GetLocalVisibleRegion. r=botond 2016-02-13 16:50:51 -08:00
LayerSorter.h
LayersTypes.cpp
LayersTypes.h Bug 1236750 - Add some specialized typedefs of Matrix4x4 to represent layer transform matrices. r=kats 2016-01-06 18:56:25 -05:00
LayerTreeInvalidation.cpp Bug 1227231: Use generic tree traversal algorithms for loops over Layer trees. r=botond 2016-03-10 01:20:40 -08:00
LayerTreeInvalidation.h
LayerUserData.h
MacIOSurfaceHelpers.cpp Bug 1248323: P2. Add readback code for converting YUV422 MacIOSurfaces into RGB. r=nical 2016-02-23 23:47:29 +11:00
MacIOSurfaceHelpers.h Bug 1241665 - Move IOSurface YCbCr conversion code to a new file MacIOSurfaceHelpers.cpp. r=mattwoodrow 2016-01-21 23:38:53 +01:00
MacIOSurfaceImage.cpp Bug 1241665 - Move IOSurface YCbCr conversion code to a new file MacIOSurfaceHelpers.cpp. r=mattwoodrow 2016-01-21 23:38:53 +01:00
MacIOSurfaceImage.h
moz.build Bug 1229462 - Use Android OverScroller class for fling animation r=botond 2016-05-11 08:37:47 -07:00
PersistentBufferProvider.cpp
PersistentBufferProvider.h Bug 1246775 - use already_AddRefed in PersistentBufferProvider interface. r=bas 2016-02-10 13:16:13 -05:00
ReadbackLayer.h Bug 1233619 (part 2) - Moz2Dify BeginUpdate() and BeginUpdateBackground() functions. r=roc. 2015-12-17 19:39:10 -08:00
ReadbackProcessor.cpp Bug 1258758 - rename GetEffectiveClipRect to GetLocalClipRect. r=kats 2016-05-02 17:27:35 +02:00
ReadbackProcessor.h
RenderTrace.cpp Bug 1227231: Use generic tree traversal algorithms for loops over Layer trees. r=botond 2016-03-10 01:20:40 -08:00
RenderTrace.h
RotatedBuffer.cpp Bug 1262681 - Draw target also has to be valid for us to demand a snapshot. r=bas 2016-04-13 09:56:00 +02:00
RotatedBuffer.h Bug 1262681 - Draw target also has to be valid for us to demand a snapshot. r=bas 2016-04-13 09:56:00 +02:00
TextureDIB.cpp Bug 1266396 - Make TextureClient more robust against racy shutdown situations. r=Bas 2016-04-22 18:05:26 +02:00
TextureDIB.h Bug 1266396 - Make TextureClient more robust against racy shutdown situations. r=Bas 2016-04-22 18:05:26 +02:00
TextureWrapperImage.cpp Bug 1232231 - BorrowDrawTarget can return nullptr - be ready for it. r=nical 2016-01-04 09:50:00 -05:00
TextureWrapperImage.h Add a new Image class that wraps drawable TextureClients. (bug 1217665 part 4, r=nical) 2015-12-02 11:31:17 -08:00
TiledLayerBuffer.h
TransactionIdAllocator.h Bug 1264409 - Make last transaction ID available via nsIDOMWindowUtils, and pass transaction ID through MozAfterPaint. r=mattwoodrow,mrbkap 2016-04-13 16:59:15 -04:00
TreeTraversal.h Bug 1227231: Use generic tree traversal algorithms for loops over Layer trees. r=botond 2016-03-10 01:20:40 -08:00