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

Unified Diff: third_party/WebKit/Source/core/paint/PaintInvalidator.h

Issue 2763833003: Optimize PaintInvalidatorContext::mapLocalRectToVisualRectInBacking() (Closed)
Patch Set: - Created 3 years, 9 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/paint/PaintInvalidator.h
diff --git a/third_party/WebKit/Source/core/paint/PaintInvalidator.h b/third_party/WebKit/Source/core/paint/PaintInvalidator.h
index 6bdf380497104a3af96d4c1df14edcd4b6e71f06..f5fde15775c06bb95ffb2e841be262f87cafe0b9 100644
--- a/third_party/WebKit/Source/core/paint/PaintInvalidator.h
+++ b/third_party/WebKit/Source/core/paint/PaintInvalidator.h
@@ -19,13 +19,17 @@ struct PaintPropertyTreeBuilderContext;
struct PaintInvalidatorContext {
PaintInvalidatorContext(
- const PaintPropertyTreeBuilderContext& treeBuilderContext)
- : treeBuilderContext(treeBuilderContext), parentContext(nullptr) {}
+ const PaintPropertyTreeBuilderContext& treeBuilderContext,
+ GeometryMapper& geometryMapper)
+ : treeBuilderContext(treeBuilderContext),
+ geometryMapper(geometryMapper),
+ parentContext(nullptr) {}
PaintInvalidatorContext(
const PaintPropertyTreeBuilderContext& treeBuilderContext,
const PaintInvalidatorContext& parentContext)
: treeBuilderContext(treeBuilderContext),
+ geometryMapper(parentContext.geometryMapper),
parentContext(&parentContext),
forcedSubtreeInvalidationFlags(
parentContext.forcedSubtreeInvalidationFlags),
@@ -34,12 +38,13 @@ struct PaintInvalidatorContext {
parentContext.paintInvalidationContainerForStackedContents),
paintingLayer(parentContext.paintingLayer) {}
- // This method is temporary to adapt PaintInvalidatorContext and the legacy
- // PaintInvalidationState for code shared by old code and new code.
+ // This method is virtual temporarily to adapt PaintInvalidatorContext and the
+ // legacy PaintInvalidationState for code shared by old code and new code.
virtual void mapLocalRectToVisualRectInBacking(const LayoutObject&,
LayoutRect&) const;
const PaintPropertyTreeBuilderContext& treeBuilderContext;
+ GeometryMapper& geometryMapper;
const PaintInvalidatorContext* parentContext;
enum ForcedSubtreeInvalidationFlag {
@@ -88,9 +93,6 @@ struct PaintInvalidatorContext {
class PaintInvalidator {
public:
- PaintInvalidator(GeometryMapper& geometryMapper)
- : m_geometryMapper(geometryMapper) {}
-
void invalidatePaintIfNeeded(FrameView&, PaintInvalidatorContext&);
void invalidatePaintIfNeeded(const LayoutObject&, PaintInvalidatorContext&);
@@ -112,7 +114,6 @@ class PaintInvalidator {
PaintInvalidatorContext&);
Vector<const LayoutObject*> m_pendingDelayedPaintInvalidations;
- GeometryMapper& m_geometryMapper;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698