Commit f0d66e72 authored by Steve Kobes's avatar Steve Kobes Committed by Commit Bot

Add class-level comments on PaintLayerCompositor and ScrollingCoordinator.

Bug: 740070
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I9c3208a36dd577634c7f74f5ccf63466c8b67f44
Reviewed-on: https://chromium-review.googlesource.com/578653Reviewed-by: default avatarStefan Zager <szager@chromium.org>
Commit-Queue: Steve Kobes <skobes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488665}
parent 32463c7c
......@@ -60,12 +60,21 @@ enum CompositingStateTransitionType {
kRemoveFromSquashingLayer
};
// PaintLayerCompositor manages the hierarchy of
// composited Layers. It determines which Layers
// become compositing, and creates and maintains a hierarchy of
// GraphicsLayers based on the Layer painting order.
// PaintLayerCompositor maintains document-level compositing state and is the
// entry point of the "compositing update" lifecycle stage. There is one PLC
// per LayoutView.
//
// There is one PaintLayerCompositor per LayoutView.
// The compositing update, implemented by PaintLayerCompositor and friends,
// decides for each PaintLayer whether it should get a CompositedLayerMapping,
// and asks each CLM to set up its GraphicsLayers.
//
// When root layer scrolling is disabled, PaintLayerCompositor also directly
// manages GraphicsLayers related to FrameView scrolling. See VisualViewport.h
// for a diagram of how these layers are wired.
//
// When root layer scrolling is enabled, PaintLayerCompositor does not create
// any of its own GraphicsLayers. Instead the LayoutView's CLM is wired
// directly to the scroll layer of the visual viewport.
//
// In Slimming Paint v2, PaintLayerCompositor will be eventually replaced by
// PaintArtifactCompositor.
......
......@@ -54,6 +54,14 @@ class WebScrollbarLayer;
using ScrollbarId = uint64_t;
// ScrollingCoordinator is a page-level object that mediates interactions
// between Blink and the compositor's scroll-related APIs on WebLayer and
// WebScrollbarLayer.
//
// It's responsible for propagating scroll offsets, main-thread scrolling
// reasons, touch action regions, and non-fast-scrollable regions into the
// compositor, as well as creating and managing scrollbar layers.
class CORE_EXPORT ScrollingCoordinator final
: public GarbageCollectedFinalized<ScrollingCoordinator> {
WTF_MAKE_NONCOPYABLE(ScrollingCoordinator);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment