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

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

Issue 2650873002: Refactor PaintLayer location and offset calculation especially for floats (Closed)
Patch Set: - Created 3 years, 10 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 /* 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 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 bool hasVisibleBoxDecorations() const; 326 bool hasVisibleBoxDecorations() const;
327 // True if this layer container layoutObjects that paint. 327 // True if this layer container layoutObjects that paint.
328 bool hasNonEmptyChildLayoutObjects() const; 328 bool hasNonEmptyChildLayoutObjects() const;
329 329
330 // Will ensure that isAllScrollingContentComposited() is up to date. 330 // Will ensure that isAllScrollingContentComposited() is up to date.
331 void updateScrollingStateAfterCompositingChange(); 331 void updateScrollingStateAfterCompositingChange();
332 bool isAllScrollingContentComposited() const { 332 bool isAllScrollingContentComposited() const {
333 return m_isAllScrollingContentComposited; 333 return m_isAllScrollingContentComposited;
334 } 334 }
335 335
336 // Gets the ancestor layer that serves as the containing block of this layer. 336 // Gets the ancestor layer that serves as the containing block (in the sense
337 // This is either another out of flow positioned layer, or one that contains 337 // of LayoutObject::container() instead of LayoutObject::containingBlock())
338 // paint. If |ancestor| is specified, |*skippedAncestor| will be set to true 338 // of this layer. Normally the parent layer is the containing layer, except
339 // if |ancestor| is found in the ancestry chain between this layer and the 339 // for out of flow positioned, floating and multicol spanner layers whose
340 // containing layer might be an ancestor of the parent layer.
341 // If |ancestor| is specified, |*skippedAncestor| will be set to true if
342 // |ancestor| is found in the ancestry chain between this layer and the
340 // containing block layer; if not found, it will be set to false. Either both 343 // containing block layer; if not found, it will be set to false. Either both
341 // |ancestor| and |skippedAncestor| should be nullptr, or none of them should. 344 // |ancestor| and |skippedAncestor| should be nullptr, or none of them should.
342 PaintLayer* containingLayerForOutOfFlowPositioned( 345 PaintLayer* containingLayer(const PaintLayer* ancestor = nullptr,
343 const PaintLayer* ancestor = nullptr, 346 bool* skippedAncestor = nullptr) const;
344 bool* skippedAncestor = nullptr) const;
345 347
346 bool isPaintInvalidationContainer() const; 348 bool isPaintInvalidationContainer() const;
347 349
348 // Do *not* call this method unless you know what you are dooing. You probably 350 // Do *not* call this method unless you know what you are dooing. You probably
349 // want to call enclosingCompositingLayerForPaintInvalidation() instead. 351 // want to call enclosingCompositingLayerForPaintInvalidation() instead.
350 // If includeSelf is true, may return this. 352 // If includeSelf is true, may return this.
351 PaintLayer* enclosingLayerWithCompositedLayerMapping(IncludeSelfOrNot) const; 353 PaintLayer* enclosingLayerWithCompositedLayerMapping(IncludeSelfOrNot) const;
352 354
353 // Returns the enclosing layer root into which this layer paints, inclusive of 355 // Returns the enclosing layer root into which this layer paints, inclusive of
354 // this one. Note that the enclosing layer may or may not have its own 356 // this one. Note that the enclosing layer may or may not have its own
(...skipping 852 matching lines...) Expand 10 before | Expand all | Expand 10 after
1207 unsigned m_selfPaintingStatusChanged : 1; 1209 unsigned m_selfPaintingStatusChanged : 1;
1208 1210
1209 LayoutBoxModelObject* m_layoutObject; 1211 LayoutBoxModelObject* m_layoutObject;
1210 1212
1211 PaintLayer* m_parent; 1213 PaintLayer* m_parent;
1212 PaintLayer* m_previous; 1214 PaintLayer* m_previous;
1213 PaintLayer* m_next; 1215 PaintLayer* m_next;
1214 PaintLayer* m_first; 1216 PaintLayer* m_first;
1215 PaintLayer* m_last; 1217 PaintLayer* m_last;
1216 1218
1217 // Our (x,y) coordinates are in our parent layer's coordinate space. 1219 // Our (x,y) coordinates are in our containing layer's coordinate space.
1218 LayoutPoint m_location; 1220 LayoutPoint m_location;
1219 1221
1220 // The layer's size. 1222 // The layer's size.
1221 // 1223 //
1222 // If the associated LayoutBoxModelObject is a LayoutBox, it's its border 1224 // If the associated LayoutBoxModelObject is a LayoutBox, it's its border
1223 // box. Otherwise, this is the LayoutInline's lines' bounding box. 1225 // box. Otherwise, this is the LayoutInline's lines' bounding box.
1224 IntSize m_size; 1226 IntSize m_size;
1225 1227
1226 // Cached normal flow values for absolute positioned elements with static 1228 // Cached normal flow values for absolute positioned elements with static
1227 // left/top values. 1229 // left/top values.
(...skipping 24 matching lines...) Expand all
1252 1254
1253 } // namespace blink 1255 } // namespace blink
1254 1256
1255 #ifndef NDEBUG 1257 #ifndef NDEBUG
1256 // Outside the WebCore namespace for ease of invocation from gdb. 1258 // Outside the WebCore namespace for ease of invocation from gdb.
1257 CORE_EXPORT void showLayerTree(const blink::PaintLayer*); 1259 CORE_EXPORT void showLayerTree(const blink::PaintLayer*);
1258 CORE_EXPORT void showLayerTree(const blink::LayoutObject*); 1260 CORE_EXPORT void showLayerTree(const blink::LayoutObject*);
1259 #endif 1261 #endif
1260 1262
1261 #endif // Layer_h 1263 #endif // Layer_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/paint/PaintInvalidator.cpp ('k') | third_party/WebKit/Source/core/paint/PaintLayer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698