Name Description Size
AsyncImagePipelineManager.cpp aWrBridge 24775
AsyncImagePipelineManager.h 10676
ClipManager.cpp 15192
ClipManager.h This class manages creating and assigning scroll layers and clips in WebRender based on the gecko display list. It has a few public functions that are intended to be invoked while traversing the Gecko display list, and it uses the ASR and clip information from the display list to create the necessary clip state in WebRender. The structure of the clip state in WebRender ends up quite similar to how it is in Gecko. For each ASR in Gecko, we create a scroll layer (i.e. a scrolling clip) in WebRender; these form a tree structure similar to the ASR tree structure. Ancestors of scroll layers are always other scroll layers, or the root scroll node. The DisplayItemClipChain list of clips from the gecko display list is converted to a WR clip chain and pushed on the stack prior to creating any WR commands for that item, and is popped afterwards. In addition, the WR clip chain has a parent pointer, which points to the clip chain for any enclosing stacking context. This again results in a strucuture very similar to that in Gecko, where the clips from container display items get applied to the contained display items. 6439
DisplayItemCache.cpp 5048
DisplayItemCache.h DisplayItemCache keeps track of which Gecko display items have already had their respective WebRender display items sent to WebRender backend. Ideally creating the WR display items for a Gecko display item would not depend on any external state. However currently pipeline id, clip id, and spatial id can change between display lists, even if the Gecko display items have not. This state is tracked by DisplayItemCache. 4732
IpcResourceUpdateQueue.cpp 14962
IpcResourceUpdateQueue.h 6811
RenderRootStateManager.cpp 8118
RenderRootTypes.cpp 4730
RenderRootTypes.h GFX_RENDERROOTTYPES_H 2671
StackingContextHelper.cpp aCanDraw2D = 4973
StackingContextHelper.h This is a helper class that pushes/pops a stacking context, and manages some of the coordinate space transformations needed. 6013
WebRenderBridgeChild.cpp 21170
WebRenderBridgeChild.h Clean this up, finishing with SendShutDown() which will cause __delete__ to be sent from the parent side. 10158
WebRenderBridgeParent.cpp 99296
WebRenderBridgeParent.h 25855
WebRenderCanvasRenderer.cpp 3135
WebRenderCanvasRenderer.h 1592
WebRenderCommandBuilder.cpp 107633
WebRenderCommandBuilder.h 9294
WebRenderCompositionRecorder.cpp aZero = 3130
WebRenderCompositionRecorder.h A thread-safe version of the |CompositionRecorder|. Composition recording for WebRender occurs on the |RenderThread| whereas the frames are written on the thread holding the |CompositorBridgeParent|. 2796
WebRenderDrawEventRecorder.cpp 1092
WebRenderDrawEventRecorder.h 1543
WebRenderImageHost.cpp 9104
WebRenderImageHost.h ImageHost. Works with ImageClientSingle and ImageClientBuffered 3362
WebRenderLayerManager.cpp aIsSync 27186
WebRenderLayerManager.h 8835
WebRenderLayersLogging.cpp 3204
WebRenderLayersLogging.h 1141
WebRenderMessageUtils.h 5345
WebRenderScrollData.cpp 8980
WebRenderScrollData.h 13030
WebRenderScrollDataWrapper.h This class is a wrapper to walk through a WebRenderScrollData object, with an exposed API that is template-compatible to LayerMetricsWrapper. This allows APZ to walk through both layer trees and WebRender scroll metadata structures without a lot of code duplication. (Note that not all functions from LayerMetricsWrapper are implemented here, only the ones we've needed in APZ code so far.) A WebRenderScrollData object is basically a flattened layer tree, with a number of WebRenderLayerScrollData objects that have a 1:1 correspondence to layers in a layer tree. Therefore the mLayer pointer in this class can be considered equivalent to the mLayer pointer in the LayerMetricsWrapper. There are some extra fields (mData, mLayerIndex, mContainingSubtreeLastIndex) to move around between these "layers" given the flattened representation. The mMetadataIndex field in this class corresponds to the mIndex field in LayerMetricsWrapper, as both classes also need to manage walking through "virtual" container layers implied by the list of ScrollMetadata objects. One important note here is that this class holds a pointer to the "owning" WebRenderScrollData. The caller must ensure that this class does not outlive the owning WebRenderScrollData, or this may result in use-after-free errors. This class being declared a MOZ_STACK_CLASS should help with that. Refer to LayerMetricsWrapper.h for actual documentation on the exposed API. 13687
WebRenderTextureHost.cpp 7673
WebRenderTextureHost.h 3640
WebRenderUserData.cpp static 13561
WebRenderUserData.h 10314