Index: third_party/WebKit/Source/core/paint/ObjectPaintProperties.h |
diff --git a/third_party/WebKit/Source/core/paint/ObjectPaintProperties.h b/third_party/WebKit/Source/core/paint/ObjectPaintProperties.h |
index ba7540160dcd65a9785e7d4eb5b2c6af630dbf29..1faf65c34f5f33dc66dcd9d6a15645a0ffeffe7a 100644 |
--- a/third_party/WebKit/Source/core/paint/ObjectPaintProperties.h |
+++ b/third_party/WebKit/Source/core/paint/ObjectPaintProperties.h |
@@ -18,6 +18,10 @@ |
#include "wtf/RefPtr.h" |
#include <memory> |
+#if DCHECK_IS_ON() |
+#include "core/style/FilterOperations.h" |
+#endif |
+ |
namespace blink { |
// This class stores property tree related information associated with a |
@@ -283,8 +287,20 @@ class CORE_EXPORT ObjectPaintProperties { |
PropertyTreeState(state.transform(), state.clip(), state.effect(), |
state.scroll()))); |
} |
+ cloned->setStyleFilterOperations(m_styleFilterOperations); |
return cloned; |
} |
+ |
+ // Used to check changes of filters, especially reference filters which are |
+ // ignored in EffectPaintPropertyNode::operator==() because we have no way to |
+ // check equality of SkImageFilter values. |
+ const FilterOperations& styleFilterOperations() const { |
+ return m_styleFilterOperations; |
+ } |
+ void setStyleFilterOperations(const FilterOperations& operations) { |
+ m_styleFilterOperations = operations; |
+ } |
+ DEFINE_INLINE_TRACE() { visitor->trace(m_styleFilterOperations); } |
#endif |
private: |
@@ -326,6 +342,10 @@ class CORE_EXPORT ObjectPaintProperties { |
RefPtr<ScrollPaintPropertyNode> m_scroll; |
std::unique_ptr<PropertyTreeStateWithOffset> m_localBorderBoxProperties; |
+ |
+#if DCHECK_IS_ON() |
+ FilterOperations m_styleFilterOperations; |
+#endif |
}; |
} // namespace blink |