Index: third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
diff --git a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
index c83206a1dda69d6eea48bdde6783e8da572f2744..bbc4d8faf4eb46eed94eca6c455ad382418573af 100644 |
--- a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
@@ -119,6 +119,9 @@ class CORE_EXPORT CompositedLayerMapping final : public GraphicsLayerClient { |
GraphicsLayer* foregroundLayer() const { return m_foregroundLayer.get(); } |
GraphicsLayer* backgroundLayer() const { return m_backgroundLayer.get(); } |
+ |
+ GraphicsLayer* decorationLayer() const { return m_decorationLayer.get(); } |
+ |
bool backgroundLayerPaintsFixedRootBackground() const { |
return m_backgroundLayerPaintsFixedRootBackground; |
} |
@@ -352,6 +355,8 @@ class CORE_EXPORT CompositedLayerMapping final : public GraphicsLayerClient { |
const IntRect& clippingBox); |
void updateBackgroundLayerGeometry( |
const FloatSize& relativeCompositingBoundsSize); |
+ void updateDecorationLayerGeometry( |
+ const FloatSize& relativeCompositingBoundsSize); |
void updateScrollingLayerGeometry(const IntRect& localCompositingBounds); |
void updateChildClippingMaskLayerGeometry(); |
@@ -382,6 +387,7 @@ class CORE_EXPORT CompositedLayerMapping final : public GraphicsLayerClient { |
bool needsAncestorClip); |
bool updateForegroundLayer(bool needsForegroundLayer); |
bool updateBackgroundLayer(bool needsBackgroundLayer); |
+ bool updateDecorationLayer(bool needsDecorationLayer); |
bool updateMaskLayer(bool needsMaskLayer); |
void updateChildClippingMaskLayer(bool needsChildClippingMaskLayer); |
bool requiresHorizontalScrollbarLayer() const { |
@@ -491,10 +497,11 @@ class CORE_EXPORT CompositedLayerMapping final : public GraphicsLayerClient { |
// | <-OR-> |
// | (m_scrollingLayer + m_scrollingContentsLayer) [OPTIONAL] |
// + m_overflowControlsAncestorClippingLayer [OPTIONAL] |
- // + m_overflowControlsHostLayer [OPTIONAL] |
- // + m_layerForVerticalScrollbar [OPTIONAL] |
- // + m_layerForHorizontalScrollbar [OPTIONAL] |
- // + m_layerForScrollCorner [OPTIONAL] |
+ // | + m_overflowControlsHostLayer [OPTIONAL] |
+ // | + m_layerForVerticalScrollbar [OPTIONAL] |
+ // | + m_layerForHorizontalScrollbar [OPTIONAL] |
+ // | + m_layerForScrollCorner [OPTIONAL] |
+ // + m_decorationLayer [OPTIONAL] |
// The overflow controls may need to be repositioned in the graphics layer |
// tree by the RLC to ensure that they stack above scrolling content. |
// |
@@ -599,6 +606,9 @@ class CORE_EXPORT CompositedLayerMapping final : public GraphicsLayerClient { |
// layer, the overflow controls can remain ignorant of ancestor clipping. |
std::unique_ptr<GraphicsLayer> m_overflowControlsAncestorClippingLayer; |
+ // DecorationLayer which includes painting of outline etc. |
+ std::unique_ptr<GraphicsLayer> m_decorationLayer; |
+ |
// A squashing CLM has two possible squashing-related structures. |
// |
// If m_ancestorClippingLayer is present: |