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

Unified Diff: third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h

Issue 2439113003: Fix the bug that negative outline-offset is covered up by composited (Closed)
Patch Set: Rename decorationLayer to decorationOutlineLayer Created 4 years, 1 month 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: 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..bfb45fd756149f3b8421873ec721781d0fc57c56 100644
--- a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h
@@ -120,6 +120,11 @@ class CORE_EXPORT CompositedLayerMapping final : public GraphicsLayerClient {
GraphicsLayer* foregroundLayer() const { return m_foregroundLayer.get(); }
GraphicsLayer* backgroundLayer() const { return m_backgroundLayer.get(); }
+
+ GraphicsLayer* decorationOutlineLayer() const {
+ return m_decorationOutlineLayer.get();
+ }
+
bool backgroundLayerPaintsFixedRootBackground() const {
return m_backgroundLayerPaintsFixedRootBackground;
}
@@ -353,6 +358,8 @@ class CORE_EXPORT CompositedLayerMapping final : public GraphicsLayerClient {
const IntRect& clippingBox);
void updateBackgroundLayerGeometry(
const FloatSize& relativeCompositingBoundsSize);
+ void updateDecorationOutlineLayerGeometry(
+ const FloatSize& relativeCompositingBoundsSize);
void updateScrollingLayerGeometry(const IntRect& localCompositingBounds);
void updateChildClippingMaskLayerGeometry();
@@ -383,6 +390,7 @@ class CORE_EXPORT CompositedLayerMapping final : public GraphicsLayerClient {
bool needsAncestorClip);
bool updateForegroundLayer(bool needsForegroundLayer);
bool updateBackgroundLayer(bool needsBackgroundLayer);
+ bool updateDecorationOutlineLayer(bool needsDecorationOutlineLayer);
bool updateMaskLayer(bool needsMaskLayer);
void updateChildClippingMaskLayer(bool needsChildClippingMaskLayer);
bool requiresHorizontalScrollbarLayer() const {
@@ -492,10 +500,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_decorationOutlineLayer [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 +609,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 paints outline.
+ std::unique_ptr<GraphicsLayer> m_decorationOutlineLayer;
+
// A squashing CLM has two possible squashing-related structures.
//
// If m_ancestorClippingLayer is present:

Powered by Google App Engine
This is Rietveld 408576698