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 54f1541938265a70b8becdada33e2c7d946a4ae8..726fce19cd134e7ecc10bfa07b4a09805d626e9c 100644 |
--- a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
@@ -120,6 +120,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; |
} |
@@ -353,6 +356,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(); |
@@ -383,6 +388,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 { |
@@ -492,10 +498,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. |
// |
@@ -600,6 +607,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: |