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

Side by Side Diff: Source/core/paint/DeprecatedPaintLayerReflectionInfo.h

Issue 1327563003: Don't cache subsequence whose layer is not fully contained by repaint rect (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: For review Created 5 years, 3 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 /* 1 /*
2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved.
3 * Copyright (C) 2013 Intel Corporation. All rights reserved. 3 * Copyright (C) 2013 Intel Corporation. All rights reserved.
4 * 4 *
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Robert O'Callahan <roc+@cs.cmu.edu> 8 * Robert O'Callahan <roc+@cs.cmu.edu>
9 * David Baron <dbaron@fas.harvard.edu> 9 * David Baron <dbaron@fas.harvard.edu>
10 * Christian Biesinger <cbiesinger@web.de> 10 * Christian Biesinger <cbiesinger@web.de>
(...skipping 28 matching lines...) Expand all
39 * deletingthe provisions above and replace them with the notice and 39 * deletingthe provisions above and replace them with the notice and
40 * other provisions required by the MPL or the GPL, as the case may be. 40 * other provisions required by the MPL or the GPL, as the case may be.
41 * If you do not delete the provisions above, a recipient may use your 41 * If you do not delete the provisions above, a recipient may use your
42 * version of this file under any of the LGPL, the MPL or the GPL. 42 * version of this file under any of the LGPL, the MPL or the GPL.
43 */ 43 */
44 44
45 #ifndef DeprecatedPaintLayerReflectionInfo_h 45 #ifndef DeprecatedPaintLayerReflectionInfo_h
46 #define DeprecatedPaintLayerReflectionInfo_h 46 #define DeprecatedPaintLayerReflectionInfo_h
47 47
48 #include "core/layout/LayoutBoxModelObject.h" 48 #include "core/layout/LayoutBoxModelObject.h"
49 #include "core/paint/DeprecatedPaintLayerPaintingInfo.h" 49 #include "core/paint/DeprecatedPaintLayerPainter.h"
50 #include "wtf/Allocator.h" 50 #include "wtf/Allocator.h"
51 #include "wtf/Noncopyable.h" 51 #include "wtf/Noncopyable.h"
52 52
53 namespace blink { 53 namespace blink {
54 54
55 class DeprecatedPaintLayer; 55 class DeprecatedPaintLayer;
56 class LayoutReplica; 56 class LayoutReplica;
57 57
58 class DeprecatedPaintLayerReflectionInfo { 58 class DeprecatedPaintLayerReflectionInfo {
59 WTF_MAKE_FAST_ALLOCATED(DeprecatedPaintLayerReflectionInfo); 59 WTF_MAKE_FAST_ALLOCATED(DeprecatedPaintLayerReflectionInfo);
60 WTF_MAKE_NONCOPYABLE(DeprecatedPaintLayerReflectionInfo); 60 WTF_MAKE_NONCOPYABLE(DeprecatedPaintLayerReflectionInfo);
61 public: 61 public:
62 explicit DeprecatedPaintLayerReflectionInfo(LayoutBox&); 62 explicit DeprecatedPaintLayerReflectionInfo(LayoutBox&);
63 void destroy(); 63 void destroy();
64 64
65 LayoutReplica* reflection() const { return m_reflection; } 65 LayoutReplica* reflection() const { return m_reflection; }
66 DeprecatedPaintLayer* reflectionLayer() const; 66 DeprecatedPaintLayer* reflectionLayer() const;
67 67
68 bool isPaintingInsideReflection() const { return m_isPaintingInsideReflectio n; } 68 bool isPaintingInsideReflection() const { return m_isPaintingInsideReflectio n; }
69 69
70 void updateAfterStyleChange(const ComputedStyle* oldStyle); 70 void updateAfterStyleChange(const ComputedStyle* oldStyle);
71 71
72 void paint(GraphicsContext*, const DeprecatedPaintLayerPaintingInfo&, PaintL ayerFlags); 72 DeprecatedPaintLayerPainter::PaintResult paint(GraphicsContext*, const Depre catedPaintLayerPaintingInfo&, PaintLayerFlags);
73 73
74 private: 74 private:
75 LayoutBox& box() { return *m_box; } 75 LayoutBox& box() { return *m_box; }
76 const LayoutBox& box() const { return *m_box; } 76 const LayoutBox& box() const { return *m_box; }
77 77
78 LayoutBox* m_box; 78 LayoutBox* m_box;
79 LayoutReplica* m_reflection; 79 LayoutReplica* m_reflection;
80 80
81 // A state bit tracking if we are painting inside a replica. 81 // A state bit tracking if we are painting inside a replica.
82 unsigned m_isPaintingInsideReflection : 1; 82 unsigned m_isPaintingInsideReflection : 1;
83 }; 83 };
84 84
85 } // namespace blink 85 } // namespace blink
86 86
87 #endif // DeprecatedPaintLayerReflectinInfo_h 87 #endif // DeprecatedPaintLayerReflectinInfo_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698