Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Unified Diff: Source/core/paint/DeprecatedPaintLayerStackingNode.h

Issue 1327483003: Add documentation to 2 DeprecatedPaintLayer objects (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed the ASCII art to prevent multi-line comments. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/paint/DeprecatedPaintLayerStackingNode.h
diff --git a/Source/core/paint/DeprecatedPaintLayerStackingNode.h b/Source/core/paint/DeprecatedPaintLayerStackingNode.h
index d4b0150ca1e833351e9e4222832cacb55e4e7a24..cad1d7d44939e0e40f3cbca47247264d1a0c971a 100644
--- a/Source/core/paint/DeprecatedPaintLayerStackingNode.h
+++ b/Source/core/paint/DeprecatedPaintLayerStackingNode.h
@@ -58,6 +58,33 @@ class DeprecatedPaintLayerCompositor;
class ComputedStyle;
class LayoutBoxModelObject;
+// DeprecatedPaintLayerStackingNode represents anything that is treated as a
+// stacking context.
+//
+// Stacking contexts are the basis for the CSS painting algorithm. The paint
+// order is determined by walking stacking contexts (or elements treated like a
+// stacking context like positioned objects or floats) in an order defined by
+// ‘z-index’. This walk is interleaved with content that is not a stacking.
+// context. See CSS 2.1 appendix E for the actual algorithm
+// http://www.w3.org/TR/CSS21/zindex.html
+// See also DeprecatedPaintLayerPainter (in particular paintLayerContents) for
+// our implementation of the walk.
+//
+// Stacking contexts form a subtree over the layout tree. Ideally we would want
+// objects of this class to be a node in this tree but there are potential
+// issues with stale pointers so we rely on DeprecatedPaintLayer's tree
+// structure.
+//
+// This class's purpose is to represent a node in the stacking context tree
+// (aka paint tree). It currently caches the z-order lists for painting and
+// hit-testing.
+//
+// To implement any z-order list iterations, use
+// DeprecatedPaintLayerStackingNodeIterator and
+// DeprecatedPaintLayerStackingNodeReverseIterator.
+//
+// This class is NOT DEPRECATED, DeprecatedPaintLayer is and we match its
+// naming.
class CORE_EXPORT DeprecatedPaintLayerStackingNode {
WTF_MAKE_FAST_ALLOCATED(DeprecatedPaintLayerStackingNode);
WTF_MAKE_NONCOPYABLE(DeprecatedPaintLayerStackingNode);
« no previous file with comments | « Source/core/paint/DeprecatedPaintLayerClipper.h ('k') | Source/core/paint/DeprecatedPaintLayerStackingNodeIterator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698