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

Side by Side Diff: third_party/WebKit/Source/core/paint/BoxPaintInvalidator.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 unified diff | Download patch
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef BoxPaintInvalidator_h
6 #define BoxPaintInvalidator_h
7
8 #include "platform/graphics/PaintInvalidationReason.h"
9 #include "wtf/Allocator.h"
10
11 namespace blink {
12
13 class LayoutBox;
14 class LayoutRect;
15 class LayoutSize;
16 struct PaintInvalidatorContext;
17
18 class BoxPaintInvalidator {
19 STACK_ALLOCATED();
20 public:
21 BoxPaintInvalidator(const LayoutBox& box, const PaintInvalidatorContext& con text)
22 : m_box(box), m_context(context) { }
23
24 static void boxWillBeDestroyed(const LayoutBox&);
25
26 PaintInvalidationReason invalidatePaintIfNeeded();
27
28 private:
29 PaintInvalidationReason computePaintInvalidationReason();
30
31 void incrementallyInvalidatePaint();
32 void invalidatePaintRectClippedByOldAndNewBounds(const LayoutRect&);
33
34 bool needsToSavePreviousBoxSizes();
35 void savePreviousBoxSizesIfNeeded();
36 LayoutSize computePreviousBorderBoxSize(const LayoutSize& previousBoundsSize );
37
38 const LayoutBox& m_box;
39 const PaintInvalidatorContext& m_context;
40 };
41
42 } // namespace blink
43
44 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698