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

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintInvalidator.h

Issue 2238853005: Use GeometryMapper in PaintInvalidator (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@GeometryMapperMore
Patch Set: Rebase 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PaintInvalidator_h 5 #ifndef PaintInvalidator_h
6 #define PaintInvalidator_h 6 #define PaintInvalidator_h
7 7
8 #include "platform/geometry/LayoutRect.h" 8 #include "platform/geometry/LayoutRect.h"
9 #include "platform/graphics/paint/GeometryMapper.h"
9 #include "wtf/Vector.h" 10 #include "wtf/Vector.h"
10 11
11 namespace blink { 12 namespace blink {
12 13
13 class FrameView; 14 class FrameView;
14 class LayoutBoxModelObject; 15 class LayoutBoxModelObject;
15 class LayoutObject; 16 class LayoutObject;
16 class PaintLayer; 17 class PaintLayer;
17 struct PaintPropertyTreeBuilderContext; 18 struct PaintPropertyTreeBuilderContext;
18 19
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 class PaintInvalidator { 66 class PaintInvalidator {
66 public: 67 public:
67 void invalidatePaintIfNeeded(FrameView&, PaintInvalidatorContext&); 68 void invalidatePaintIfNeeded(FrameView&, PaintInvalidatorContext&);
68 void invalidatePaintIfNeeded(const LayoutObject&, PaintInvalidatorContext&); 69 void invalidatePaintIfNeeded(const LayoutObject&, PaintInvalidatorContext&);
69 70
70 // Process objects needing paint invalidation on the next frame. 71 // Process objects needing paint invalidation on the next frame.
71 // See the definition of PaintInvalidationDelayedFull for more details. 72 // See the definition of PaintInvalidationDelayedFull for more details.
72 void processPendingDelayedPaintInvalidations(); 73 void processPendingDelayedPaintInvalidations();
73 74
74 private: 75 private:
76 LayoutRect mapLocalRectToPaintInvalidationBacking(const LayoutObject&, const FloatRect&, const PaintInvalidatorContext&);
77 LayoutRect computePaintInvalidationRectInBacking(const LayoutObject&, const PaintInvalidatorContext&);
78 LayoutPoint computeLocationFromPaintInvalidationBacking(const LayoutObject&, const PaintInvalidatorContext&);
79 void updatePaintingLayer(const LayoutObject&, PaintInvalidatorContext&);
80 void updateContext(const LayoutObject&, PaintInvalidatorContext&);
81
75 Vector<const LayoutObject*> m_pendingDelayedPaintInvalidations; 82 Vector<const LayoutObject*> m_pendingDelayedPaintInvalidations;
83 GeometryMapper m_geometryMapper;
76 }; 84 };
77 85
78 } // namespace blink 86 } // namespace blink
79 87
80 #endif // PaintInvalidator_h 88 #endif // PaintInvalidator_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698