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

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

Issue 2596623002: Create compositor animations for effect animations in SPv2. (Closed)
Patch Set: Sync to head and add node removal test. 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
« no previous file with comments | « third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 aec961f3f39f2ae5378ebde2562a15088ede3c9c..cebd0ead29ab3c908e102872865e54cab90d48b4 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/EffectPaintPropertyNode.h
+++ b/third_party/WebKit/Source/platform/graphics/paint/EffectPaintPropertyNode.h
@@ -35,18 +35,22 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
PassRefPtr<const ClipPaintPropertyNode> outputClip,
CompositorFilterOperations filter,
float opacity,
- SkBlendMode blendMode) {
+ SkBlendMode blendMode,
+ CompositingReasons directCompositingReasons = CompositingReasonNone) {
return adoptRef(new EffectPaintPropertyNode(
std::move(parent), std::move(localTransformSpace),
- std::move(outputClip), std::move(filter), opacity, blendMode));
+ std::move(outputClip), std::move(filter), opacity, blendMode,
+ directCompositingReasons));
}
- void update(PassRefPtr<const EffectPaintPropertyNode> parent,
- PassRefPtr<const TransformPaintPropertyNode> localTransformSpace,
- PassRefPtr<const ClipPaintPropertyNode> outputClip,
- CompositorFilterOperations filter,
- float opacity,
- SkBlendMode blendMode) {
+ void update(
+ PassRefPtr<const EffectPaintPropertyNode> parent,
+ PassRefPtr<const TransformPaintPropertyNode> localTransformSpace,
+ PassRefPtr<const ClipPaintPropertyNode> outputClip,
+ CompositorFilterOperations filter,
+ float opacity,
+ SkBlendMode blendMode,
+ CompositingReasons directCompositingReasons = CompositingReasonNone) {
DCHECK(!isRoot());
DCHECK(parent != this);
m_parent = parent;
@@ -55,6 +59,7 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
m_filter = std::move(filter);
m_opacity = opacity;
m_blendMode = blendMode;
+ m_directCompositingReasons = directCompositingReasons;
}
const TransformPaintPropertyNode* localTransformSpace() const {
@@ -76,9 +81,9 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
// The clone function is used by FindPropertiesNeedingUpdate.h for recording
// an effect node before it has been updated, to later detect changes.
PassRefPtr<EffectPaintPropertyNode> clone() const {
- return adoptRef(new EffectPaintPropertyNode(m_parent, m_localTransformSpace,
- m_outputClip, m_filter,
- m_opacity, m_blendMode));
+ return adoptRef(new EffectPaintPropertyNode(
+ m_parent, m_localTransformSpace, m_outputClip, m_filter, m_opacity,
+ m_blendMode, m_directCompositingReasons));
}
// The equality operator is used by FindPropertiesNeedingUpdate.h for checking
@@ -95,6 +100,10 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
String toString() const;
+ bool hasDirectCompositingReasons() const {
+ return m_directCompositingReasons != CompositingReasonNone;
+ }
+
private:
EffectPaintPropertyNode(
PassRefPtr<const EffectPaintPropertyNode> parent,
@@ -102,13 +111,15 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
PassRefPtr<const ClipPaintPropertyNode> outputClip,
CompositorFilterOperations filter,
float opacity,
- SkBlendMode blendMode)
+ SkBlendMode blendMode,
+ CompositingReasons directCompositingReasons)
: m_parent(parent),
m_localTransformSpace(localTransformSpace),
m_outputClip(outputClip),
m_filter(std::move(filter)),
m_opacity(opacity),
- m_blendMode(blendMode) {}
+ m_blendMode(blendMode),
+ m_directCompositingReasons(directCompositingReasons) {}
RefPtr<const EffectPaintPropertyNode> m_parent;
// The local transform space serves two purposes:
@@ -135,6 +146,8 @@ class PLATFORM_EXPORT EffectPaintPropertyNode
// be removed in favor of a stable ID once cc::LayerImpl no longer owns
// RenderSurfaceImpl.
mutable scoped_refptr<cc::Layer> m_dummyLayer;
+
+ CompositingReasons m_directCompositingReasons;
};
// Redeclared here to avoid ODR issues.
« no previous file with comments | « third_party/WebKit/Source/core/paint/PaintPropertyTreeUpdateTests.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698