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

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: Rebase to master Created 6 years, 11 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
« no previous file with comments | « Source/core/core.gypi ('k') | Source/core/rendering/RenderLayer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderLayer.h
diff --git a/Source/core/rendering/RenderLayer.h b/Source/core/rendering/RenderLayer.h
index 6c3ec1c487bccc0fce46ce30d9cf397347de800f..82e389b2f8f2fe7253dfcc80ff92d97fb3051ee7 100644
--- a/Source/core/rendering/RenderLayer.h
+++ b/Source/core/rendering/RenderLayer.h
@@ -49,6 +49,7 @@
#include "core/rendering/CompositingReasons.h"
#include "core/rendering/LayerPaintingInfo.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"
@@ -162,8 +163,6 @@ public:
void updateTransform();
- void updateBlendMode();
-
const LayoutSize& offsetForInFlowPosition() const { return m_offsetForInFlowPosition; }
void addBlockSelectionGapsBounds(const LayoutRect&);
@@ -201,8 +200,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();
@@ -317,8 +314,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()
@@ -429,6 +425,8 @@ public:
PassOwnPtr<Vector<FloatRect> > collectTrackedRepaintRects() const;
+ RenderLayerBlendInfo& blendInfo() { return m_blendInfo; }
+
void setOffsetFromSquashingLayerOrigin(IntSize offset) { m_compositingProperties.offsetFromSquashingLayerOrigin = offset; }
IntSize offsetFromSquashingLayerOrigin() const { return m_compositingProperties.offsetFromSquashingLayerOrigin; }
@@ -557,9 +555,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.
@@ -623,9 +618,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;
@@ -649,8 +641,6 @@ protected:
unsigned m_hasFilterInfo : 1;
- blink::WebBlendMode m_blendMode;
-
RenderLayerModelObject* m_renderer;
RenderLayer* m_parent;
@@ -729,6 +719,7 @@ private:
RenderLayerClipper m_clipper; // FIXME: Lazily allocate?
OwnPtr<RenderLayerStackingNode> m_stackingNode;
OwnPtr<RenderLayerReflectionInfo> m_reflectionInfo;
+ RenderLayerBlendInfo m_blendInfo;
};
} // namespace WebCore
« no previous file with comments | « Source/core/core.gypi ('k') | Source/core/rendering/RenderLayer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698