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

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..c7400eb766248a0faf9a647ab7f307e01ec2cdb1 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; }
@@ -78,12 +79,11 @@ public:
PaintLayer& paintingLayer() const;
-#if ENABLE(ASSERT)
const LayoutObject& currentObject() const { return m_currentObject; }
-#endif
private:
friend class VisualRectMappingTest;
+ friend class PaintInvalidatorContextAdapter;
void mapLocalRectToPaintInvalidationContainer(LayoutRect&) const;
@@ -96,12 +96,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 +154,15 @@ private:
#endif
};
+// This is temporary to adapt legacy PaintInvalidationState to PaintInvalidatorContext
+class PaintInvalidatorContextAdapter : public PaintInvalidatorContext {
+public:
+ PaintInvalidatorContextAdapter(const PaintInvalidationState&);
+ void mapLocalRectToPaintInvalidationBacking(const LayoutObject&, LayoutRect&) const override;
+private:
+ const PaintInvalidationState& m_paintInvalidationState;
+};
+
} // namespace blink
#endif // PaintInvalidationState_h

Powered by Google App Engine
This is Rietveld 408576698