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

Side by Side Diff: Source/core/rendering/style/StyleDifference.h

Issue 360103008: Remove dead StyleDifference::needsRecompositeLayer (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 StyleDifference_h 5 #ifndef StyleDifference_h
6 #define StyleDifference_h 6 #define StyleDifference_h
7 7
8 #include "wtf/Assertions.h" 8 #include "wtf/Assertions.h"
9 9
10 namespace WebCore { 10 namespace WebCore {
11 11
12 // This class represents the difference between two computed styles (RenderStyle ).
13 // The difference can be combination of 3 types according to the actions needed:
14 // - Difference needing layout
15 // - Difference needing repaint
16 // - Difference needing recompositing layers
17 class StyleDifference { 12 class StyleDifference {
18 public: 13 public:
19 StyleDifference() 14 StyleDifference()
20 : m_needsRecompositeLayer(false) 15 : m_repaintType(NoRepaint)
21 , m_repaintType(NoRepaint) 16 , m_layoutType(NoLayout)
22 , m_layoutType(NoLayout) { } 17 { }
23 18
24 // The two styles are identical. 19 bool hasDifference() const { return m_repaintType || m_layoutType; }
25 bool hasNoChange() const { return !m_needsRecompositeLayer && !m_repaintType && !m_layoutType; }
26
27 // The layer needs its position and transform updated. Implied by other repa int and layout flags.
28 bool needsRecompositeLayer() const { return m_needsRecompositeLayer || needs Repaint() || needsLayout(); }
29 void setNeedsRecompositeLayer() { m_needsRecompositeLayer = true; }
30 20
31 bool needsRepaint() const { return m_repaintType != NoRepaint; } 21 bool needsRepaint() const { return m_repaintType != NoRepaint; }
32 void clearNeedsRepaint() { m_repaintType = NoRepaint; } 22 void clearNeedsRepaint() { m_repaintType = NoRepaint; }
33 23
34 // The object just needs to be repainted. 24 // The object just needs to be repainted.
35 bool needsRepaintObject() const { return m_repaintType == RepaintObject; } 25 bool needsRepaintObject() const { return m_repaintType == RepaintObject; }
36 void setNeedsRepaintObject() 26 void setNeedsRepaintObject()
37 { 27 {
38 ASSERT(!needsRepaintLayer()); 28 ASSERT(!needsRepaintLayer());
39 m_repaintType = RepaintObject; 29 m_repaintType = RepaintObject;
(...skipping 11 matching lines...) Expand all
51 void setNeedsPositionedMovementLayout() 41 void setNeedsPositionedMovementLayout()
52 { 42 {
53 ASSERT(!needsFullLayout()); 43 ASSERT(!needsFullLayout());
54 m_layoutType = PositionedMovement; 44 m_layoutType = PositionedMovement;
55 } 45 }
56 46
57 bool needsFullLayout() const { return m_layoutType == FullLayout; } 47 bool needsFullLayout() const { return m_layoutType == FullLayout; }
58 void setNeedsFullLayout() { m_layoutType = FullLayout; } 48 void setNeedsFullLayout() { m_layoutType = FullLayout; }
59 49
60 private: 50 private:
61 unsigned m_needsRecompositeLayer : 1;
62
63 enum RepaintType { 51 enum RepaintType {
64 NoRepaint = 0, 52 NoRepaint = 0,
65 RepaintObject, 53 RepaintObject,
66 RepaintLayer 54 RepaintLayer
67 }; 55 };
68 unsigned m_repaintType : 2; 56 unsigned m_repaintType : 2;
69 57
70 enum LayoutType { 58 enum LayoutType {
71 NoLayout = 0, 59 NoLayout = 0,
72 PositionedMovement, 60 PositionedMovement,
73 FullLayout 61 FullLayout
74 }; 62 };
75 unsigned m_layoutType : 2; 63 unsigned m_layoutType : 2;
76 }; 64 };
77 65
78 } // namespace WebCore 66 } // namespace WebCore
79 67
80 #endif // StyleDifference_h 68 #endif // StyleDifference_h
OLDNEW
« no previous file with comments | « Source/core/rendering/style/RenderStyle.cpp ('k') | Source/core/rendering/svg/RenderSVGGradientStop.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698