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

Unified Diff: third_party/WebKit/Source/platform/graphics/paint/EffectPaintPropertyNode.h

Issue 2608543002: Store compositor element id in paint properties for animated objects. (Closed)
Patch Set: Move element id to paint property nodes. Created 4 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: third_party/WebKit/Source/platform/graphics/paint/EffectPaintPropertyNode.h
diff --git a/third_party/WebKit/Source/platform/graphics/paint/EffectPaintPropertyNode.h b/third_party/WebKit/Source/platform/graphics/paint/EffectPaintPropertyNode.h
index ec1a562cee5c6f322971d0a7158e4171f9c53fb9..2dd0c71efa6bb4d1783da4df3f65bfceb00bcfe7 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/EffectPaintPropertyNode.h
+++ b/third_party/WebKit/Source/platform/graphics/paint/EffectPaintPropertyNode.h
@@ -7,6 +7,7 @@
#include "cc/layers/layer.h"
#include "platform/PlatformExport.h"
+#include "platform/graphics/CompositorElementId.h"
#include "platform/graphics/CompositorFilterOperations.h"
#include "platform/graphics/paint/ClipPaintPropertyNode.h"
#include "platform/graphics/paint/TransformPaintPropertyNode.h"
@@ -36,11 +37,12 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
CompositorFilterOperations filter,
float opacity,
SkBlendMode blendMode,
- CompositingReasons directCompositingReasons = CompositingReasonNone) {
+ CompositingReasons directCompositingReasons = CompositingReasonNone,
+ const CompositorElementId& compositorElementId = CompositorElementId()) {
return adoptRef(new EffectPaintPropertyNode(
std::move(parent), std::move(localTransformSpace),
std::move(outputClip), std::move(filter), opacity, blendMode,
- directCompositingReasons));
+ directCompositingReasons, compositorElementId));
}
void update(
@@ -50,7 +52,8 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
CompositorFilterOperations filter,
float opacity,
SkBlendMode blendMode,
- CompositingReasons directCompositingReasons = CompositingReasonNone) {
+ CompositingReasons directCompositingReasons = CompositingReasonNone,
+ CompositorElementId compositorElementId = CompositorElementId()) {
DCHECK(!isRoot());
DCHECK(parent != this);
m_parent = parent;
@@ -60,6 +63,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
m_opacity = opacity;
m_blendMode = blendMode;
m_directCompositingReasons = directCompositingReasons;
+ m_compositorElementId = compositorElementId;
}
const TransformPaintPropertyNode* localTransformSpace() const {
@@ -83,7 +87,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
PassRefPtr<EffectPaintPropertyNode> clone() const {
return adoptRef(new EffectPaintPropertyNode(
m_parent, m_localTransformSpace, m_outputClip, m_filter, m_opacity,
- m_blendMode, m_directCompositingReasons));
+ m_blendMode, m_directCompositingReasons, m_compositorElementId));
}
// The equality operator is used by FindPropertiesNeedingUpdate.h for checking
@@ -95,7 +99,8 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
m_outputClip == o.m_outputClip &&
m_filter.equalsIgnoringReferenceFilters(o.m_filter) &&
m_opacity == o.m_opacity && m_blendMode == o.m_blendMode &&
- m_directCompositingReasons == o.m_directCompositingReasons;
+ m_directCompositingReasons == o.m_directCompositingReasons &&
+ m_compositorElementId == o.m_compositorElementId;
}
#endif
@@ -105,6 +110,10 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
return m_directCompositingReasons != CompositingReasonNone;
}
+ const CompositorElementId& compositorElementId() const {
+ return m_compositorElementId;
+ }
+
private:
EffectPaintPropertyNode(
PassRefPtr<const EffectPaintPropertyNode> parent,
@@ -113,14 +122,16 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
CompositorFilterOperations filter,
float opacity,
SkBlendMode blendMode,
- CompositingReasons directCompositingReasons)
+ CompositingReasons directCompositingReasons,
+ CompositorElementId compositorElementId)
: m_parent(parent),
m_localTransformSpace(localTransformSpace),
m_outputClip(outputClip),
m_filter(std::move(filter)),
m_opacity(opacity),
m_blendMode(blendMode),
- m_directCompositingReasons(directCompositingReasons) {}
+ m_directCompositingReasons(directCompositingReasons),
+ m_compositorElementId(compositorElementId) {}
RefPtr<const EffectPaintPropertyNode> m_parent;
// The local transform space serves two purposes:
@@ -149,6 +160,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
mutable scoped_refptr<cc::Layer> m_dummyLayer;
CompositingReasons m_directCompositingReasons;
+ CompositorElementId m_compositorElementId;
Xianzhu 2016/12/29 20:40:38 Please also update toString().
wkorman 2016/12/29 20:59:47 Done.
};
// Redeclared here to avoid ODR issues.

Powered by Google App Engine
This is Rietveld 408576698