OLD | NEW |
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 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 // #fixed is a child of #container, which is the reason why we keep 3 clip rects | 146 // #fixed is a child of #container, which is the reason why we keep 3 clip rects |
147 // depending on the 'position' of the elements. | 147 // depending on the 'position' of the elements. |
148 // | 148 // |
149 // Now instead if we add "clip: rect(0px, 100px, 100px, 0px)" to #container, | 149 // Now instead if we add "clip: rect(0px, 100px, 100px, 0px)" to #container, |
150 // the clip will apply to both #inflow and #fixed. That's because 'clip' | 150 // the clip will apply to both #inflow and #fixed. That's because 'clip' |
151 // applies to any descendant, regardless of containing blocks. Note that | 151 // applies to any descendant, regardless of containing blocks. Note that |
152 // #container and #fixed are siblings in the paint tree but #container does | 152 // #container and #fixed are siblings in the paint tree but #container does |
153 // clip #fixed. This is the reason why we compute the painting clip rects during | 153 // clip #fixed. This is the reason why we compute the painting clip rects during |
154 // a layout tree walk and cache them for painting. | 154 // a layout tree walk and cache them for painting. |
155 class PaintLayerClipper { | 155 class PaintLayerClipper { |
156 DISALLOW_ALLOCATION(); | 156 DISALLOW_NEW(); |
157 WTF_MAKE_NONCOPYABLE(PaintLayerClipper); | 157 WTF_MAKE_NONCOPYABLE(PaintLayerClipper); |
158 public: | 158 public: |
159 explicit PaintLayerClipper(const LayoutBoxModelObject&); | 159 explicit PaintLayerClipper(const LayoutBoxModelObject&); |
160 | 160 |
161 void clearClipRectsIncludingDescendants(); | 161 void clearClipRectsIncludingDescendants(); |
162 void clearClipRectsIncludingDescendants(ClipRectsCacheSlot); | 162 void clearClipRectsIncludingDescendants(ClipRectsCacheSlot); |
163 | 163 |
164 LayoutRect childrenClipRect() const; // Returns the foreground clip rect of
the layer in the document's coordinate space. | 164 LayoutRect childrenClipRect() const; // Returns the foreground clip rect of
the layer in the document's coordinate space. |
165 LayoutRect localClipRect() const; // Returns the background clip rect of the
layer in the local coordinate space. | 165 LayoutRect localClipRect() const; // Returns the background clip rect of the
layer in the local coordinate space. |
166 | 166 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 // FIXME: Could this be a LayoutBox? | 201 // FIXME: Could this be a LayoutBox? |
202 const LayoutBoxModelObject& m_layoutObject; | 202 const LayoutBoxModelObject& m_layoutObject; |
203 | 203 |
204 // Lazily created by 'cache() const'. | 204 // Lazily created by 'cache() const'. |
205 mutable OwnPtr<ClipRectsCache> m_cache; | 205 mutable OwnPtr<ClipRectsCache> m_cache; |
206 }; | 206 }; |
207 | 207 |
208 } // namespace blink | 208 } // namespace blink |
209 | 209 |
210 #endif // LayerClipper_h | 210 #endif // LayerClipper_h |
OLD | NEW |