Index: third_party/WebKit/Source/core/layout/PaintInvalidationState.h |
diff --git a/third_party/WebKit/Source/core/layout/PaintInvalidationState.h b/third_party/WebKit/Source/core/layout/PaintInvalidationState.h |
index 014b68ef9f7465203da33d25418d15b6e91e7ac3..db0e401988a4809a6ba6787f65fa1cc6022b4e10 100644 |
--- a/third_party/WebKit/Source/core/layout/PaintInvalidationState.h |
+++ b/third_party/WebKit/Source/core/layout/PaintInvalidationState.h |
@@ -6,6 +6,7 @@ |
#define PaintInvalidationState_h |
#include "core/CoreExport.h" |
+#include "core/paint/PaintInvalidator.h" |
#include "platform/geometry/LayoutRect.h" |
#include "platform/graphics/PaintInvalidationReason.h" |
#include "platform/transforms/AffineTransform.h" |
@@ -56,13 +57,13 @@ public: |
bool hasForcedSubtreeInvalidationFlags() const { return m_forcedSubtreeInvalidationFlags; } |
- bool forcedSubtreeInvalidationCheckingWithinContainer() const { return m_forcedSubtreeInvalidationFlags & InvalidationChecking; } |
- void setForceSubtreeInvalidationCheckingWithinContainer() { m_forcedSubtreeInvalidationFlags |= InvalidationChecking; } |
+ bool forcedSubtreeInvalidationCheckingWithinContainer() const { return m_forcedSubtreeInvalidationFlags & PaintInvalidatorContext::ForcedSubtreeInvalidationChecking; } |
+ void setForceSubtreeInvalidationCheckingWithinContainer() { m_forcedSubtreeInvalidationFlags |= PaintInvalidatorContext::ForcedSubtreeInvalidationChecking; } |
- bool forcedSubtreeFullInvalidationWithinContainer() const { return m_forcedSubtreeInvalidationFlags & FullInvalidation; } |
+ bool forcedSubtreeFullInvalidationWithinContainer() const { return m_forcedSubtreeInvalidationFlags & PaintInvalidatorContext::ForcedSubtreeFullInvalidation; } |
- bool forcedSubtreeInvalidationRectUpdateWithinContainerOnly() const { return m_forcedSubtreeInvalidationFlags == InvalidationRectUpdate; } |
- void setForceSubtreeInvalidationRectUpdateWithinContainer() { m_forcedSubtreeInvalidationFlags |= InvalidationRectUpdate; } |
+ bool forcedSubtreeInvalidationRectUpdateWithinContainerOnly() const { return m_forcedSubtreeInvalidationFlags == PaintInvalidatorContext::ForcedSubtreeInvalidationRectUpdate; } |
+ void setForceSubtreeInvalidationRectUpdateWithinContainer() { m_forcedSubtreeInvalidationFlags |= PaintInvalidatorContext::ForcedSubtreeInvalidationRectUpdate; } |
const LayoutBoxModelObject& paintInvalidationContainer() const { return *m_paintInvalidationContainer; } |
@@ -84,6 +85,7 @@ public: |
private: |
friend class VisualRectMappingTest; |
+ friend class PaintInvalidatorContextAdapter; |
void mapLocalRectToPaintInvalidationContainer(LayoutRect&) const; |
@@ -96,12 +98,6 @@ private: |
const LayoutObject& m_currentObject; |
- enum ForcedSubtreeInvalidationFlag { |
- InvalidationChecking = 1 << 0, |
- InvalidationRectUpdate = 1 << 1, |
- FullInvalidation = 1 << 2, |
- FullInvalidationForStackedContents = 1 << 3, |
- }; |
unsigned m_forcedSubtreeInvalidationFlags; |
bool m_clipped; |
@@ -160,6 +156,19 @@ private: |
#endif |
}; |
+// This is temporary to adapt legacy PaintInvalidationState to PaintInvalidatorContext |
+class PaintInvalidatorContextAdapter : public PaintInvalidatorContext { |
+public: |
+ PaintInvalidatorContextAdapter(const PaintInvalidationState&); |
+ void mapLocalRectToPaintInvalidationBacking(const LayoutObject& object, LayoutRect& rect) const override |
chrishtr
2016/08/09 23:47:31
Doesn't need to be inline.
Xianzhu
2016/08/10 16:25:01
Done.
|
+ { |
+ DCHECK(&object == &m_paintInvalidationState.currentObject()); |
+ m_paintInvalidationState.mapLocalRectToPaintInvalidationBacking(rect); |
+ } |
+private: |
+ const PaintInvalidationState& m_paintInvalidationState; |
+}; |
+ |
} // namespace blink |
#endif // PaintInvalidationState_h |