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

Unified Diff: third_party/WebKit/Source/core/layout/PaintInvalidationState.h

Issue 2208463003: First step of PaintInvalidator implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: - Created 4 years, 4 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
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

Powered by Google App Engine
This is Rietveld 408576698