Changes

Jump to: navigation, search

Platform/GFX/APZ

103 bytes added, 19:45, 4 November 2013
no edit summary
The APZCs are arranged in a tree whose structure reflects the structure of the layer tree containing the layers that they correspond to, except that the APZC tree only has nodes for scrollable layers, while the layer tree has nodes for all layers. The APZC tree is managed by a class called [https://mxr.mozilla.org/mozilla-central/source/gfx/layers/composite/APZCTreeManager.h APZCTreeManager]. The APZCTreeManager is the interface through which the outside world interacts with the APZ module - there is no access to the APZCs directly, but the APZCTreeManager provides methods that operate on a specific APZC in the tree.
These methods identify an APZC using three integer identifiers, grouped in a structure called '''ScrollableLayerGuid'''. The three identifiers are:
# A '''layers id''', which identifies the layer tree that the scrollable layer belongs to. Layers ids are usually maintained by the widget code (e.g. RenderFrameParentcompositor, with CompositorParent::mLayersIdRootLayerTreeId() returning the layers id for the root layer tree, MetroWidgetand CompositorParent::mRootLayerTreeIdAllocateLayerTreeId()allocating a layers id for a new layer tree.
# A '''pres shell id''', which is a temporal identifier that correponds to the document that contains the scrollable layer, which may change over time. The pres shell id can be obtained using nsIDOMWindowUtils::GetPresShellId().
# A '''scroll id''', which identifies the actual scroll frame. The scroll id is called a '''view id''' in Gecko code, and can be obtained using nsIDOMWindowUtils::GetViewId().
Confirm
85
edits

Navigation menu