Name Description Size
AsyncImagePipelineManager.cpp static 26394
AsyncImagePipelineManager.h 10602
ClipManager.cpp 15999
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 5023
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. 6084
IpcResourceUpdateQueue.cpp 16366
IpcResourceUpdateQueue.h 7580
OMTAController.cpp 1267
OMTAController.h This class just delegates the jank animations notification to the compositor thread from the sampler thread. 1280
OMTASampler.cpp static 8423
OMTASampler.h This interface exposes OMTA methods related to "sampling" (i.e. calculating animating values) and "". All sampling methods should be called on the sampler thread, all some of them should be called on the compositor thread. 5394
RenderRootStateManager.cpp 7769
RenderRootStateManager.h GFX_RENDERROOTSTATEMANAGER_H 3887
RenderRootTypes.cpp 4373
RenderRootTypes.h GFX_RENDERROOTTYPES_H 2178
StackingContextHelper.cpp aCanDraw2D = 5066
StackingContextHelper.h This is a helper class that pushes/pops a stacking context, and manages some of the coordinate space transformations needed. 5932
WebRenderBridgeChild.cpp 19690
WebRenderBridgeChild.h Clean this up, finishing with SendShutDown() which will cause __delete__ to be sent from the parent side. 9460
WebRenderBridgeParent.cpp 85557
WebRenderBridgeParent.h 21768
WebRenderCanvasRenderer.cpp 2670
WebRenderCanvasRenderer.h 1505
WebRenderCommandBuilder.cpp 107839
WebRenderCommandBuilder.h 8185
WebRenderDrawEventRecorder.cpp 1092
WebRenderDrawEventRecorder.h 1543
WebRenderImageHost.cpp 9321
WebRenderImageHost.h ImageHost. Works with ImageClientSingle and ImageClientBuffered 3577
WebRenderLayerManager.cpp aIsSync 26052
WebRenderLayerManager.h 10024
WebRenderMessageUtils.h 5163
WebRenderScrollData.cpp 14416
WebRenderScrollData.h 12157
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. 14044
WebRenderTextureHost.cpp 8346
WebRenderTextureHost.h 3875
WebRenderUserData.cpp static 14000
WebRenderUserData.h 11371