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

Unified Diff: Source/core/rendering/RenderLayer.h

Issue 99883002: Refactor BlendMode into a separate class. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink@master
Patch Set: Created 7 years 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/rendering/RenderLayer.h
diff --git a/Source/core/rendering/RenderLayer.h b/Source/core/rendering/RenderLayer.h
index afcfb9c5d162e1218508025e3ead04511bba658e..493b879084df64ebef829da9b79b21e94f445e5f 100644
--- a/Source/core/rendering/RenderLayer.h
+++ b/Source/core/rendering/RenderLayer.h
@@ -50,6 +50,7 @@
#include "core/rendering/LayerPaintingInfo.h"
#include "core/rendering/PaintInfo.h"
#include "core/rendering/RenderBox.h"
+#include "core/rendering/RenderLayerBlendInfo.h"
#include "core/rendering/RenderLayerClipper.h"
#include "core/rendering/RenderLayerFilterInfo.h"
#include "core/rendering/RenderLayerReflectionInfo.h"
@@ -167,8 +168,6 @@ public:
void updateTransform();
- void updateBlendMode();
-
const LayoutSize& offsetForInFlowPosition() const { return m_offsetForInFlowPosition; }
void addBlockSelectionGapsBounds(const LayoutRect&);
@@ -206,8 +205,6 @@ public:
void setHasOutOfFlowPositionedDescendant(bool hasDescendant) { m_hasOutOfFlowPositionedDescendant = hasDescendant; }
void setHasOutOfFlowPositionedDescendantDirty(bool dirty) { m_hasOutOfFlowPositionedDescendantDirty = dirty; }
- bool childLayerHasBlendMode() const { ASSERT(!m_childLayerHasBlendModeStatusDirty); return m_childLayerHasBlendMode; }
-
bool hasUnclippedDescendant() const { return m_hasUnclippedDescendant; }
void setHasUnclippedDescendant(bool hasDescendant) { m_hasUnclippedDescendant = hasDescendant; }
void updateHasUnclippedDescendant();
@@ -336,8 +333,7 @@ public:
void filterNeedsRepaint();
bool hasFilter() const { return renderer()->hasFilter(); }
- bool hasBlendMode() const;
- bool paintsWithBlendMode() const { return hasBlendMode() && compositingState() != PaintsIntoOwnBacking; }
+ bool paintsWithBlendMode() const { return m_blendInfo.hasBlendMode() && compositingState() != PaintsIntoOwnBacking; }
void* operator new(size_t);
// Only safe to call from RenderLayerModelObject::destroyLayer()
@@ -443,6 +439,8 @@ public:
PassOwnPtr<Vector<FloatRect> > collectTrackedRepaintRects() const;
+ RenderLayerBlendInfo& blendInfo() { return m_blendInfo; }
+
private:
bool hasOverflowControls() const;
@@ -567,9 +565,6 @@ private:
void dirtyAncestorChainVisibleDescendantStatus();
void setAncestorChainHasVisibleDescendant();
- void dirtyAncestorChainBlendedDescendantStatus();
- void setAncestorChainBlendedDescendant();
-
void updateDescendantDependentFlags();
// This flag is computed by RenderLayerCompositor, which knows more about 3d hierarchies than we do.
@@ -633,9 +628,6 @@ protected:
// we ended up painting this layer or any descendants (and therefore need to
// blend).
- unsigned m_childLayerHasBlendMode : 1;
- unsigned m_childLayerHasBlendModeStatusDirty : 1;
-
unsigned m_visibleContentStatusDirty : 1;
unsigned m_hasVisibleContent : 1;
unsigned m_visibleDescendantStatusDirty : 1;
@@ -659,8 +651,6 @@ protected:
unsigned m_hasFilterInfo : 1;
- blink::WebBlendMode m_blendMode;
-
RenderLayerModelObject* m_renderer;
RenderLayer* m_parent;
@@ -730,6 +720,7 @@ private:
RenderLayerClipper m_clipper; // FIXME: Lazily allocate?
OwnPtr<RenderLayerStackingNode> m_stackingNode;
OwnPtr<RenderLayerReflectionInfo> m_reflectionInfo;
+ RenderLayerBlendInfo m_blendInfo;
};
} // namespace WebCore

Powered by Google App Engine
This is Rietveld 408576698