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

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

Issue 2890583002: Fix incorrect use of coords conversion for sticky elements (Closed)
Patch Set: Created 3 years, 7 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 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 bool HasAncestorWithFilterThatMovesPixels() const; 367 bool HasAncestorWithFilterThatMovesPixels() const;
368 368
369 bool CanUseConvertToLayerCoords() const { 369 bool CanUseConvertToLayerCoords() const {
370 // These LayoutObjects have an impact on their layers without the 370 // These LayoutObjects have an impact on their layers without the
371 // layoutObjects knowing about it. 371 // layoutObjects knowing about it.
372 return !GetLayoutObject().HasTransformRelatedProperty() && 372 return !GetLayoutObject().HasTransformRelatedProperty() &&
373 !GetLayoutObject().IsSVGRoot(); 373 !GetLayoutObject().IsSVGRoot();
374 } 374 }
375 375
376 void ConvertToLayerCoords(const PaintLayer* ancestor_layer, 376 void ConvertToLayerCoords(const PaintLayer* ancestor_layer,
377 LayoutPoint&) const; 377 LayoutPoint&,
378 bool* is_descendant = nullptr) const;
378 void ConvertToLayerCoords(const PaintLayer* ancestor_layer, 379 void ConvertToLayerCoords(const PaintLayer* ancestor_layer,
379 LayoutRect&) const; 380 LayoutRect&) const;
380 381
381 // Does the same as convertToLayerCoords() when not in multicol. For multicol, 382 // Does the same as convertToLayerCoords() when not in multicol. For multicol,
382 // however, convertToLayerCoords() calculates the offset in flow-thread 383 // however, convertToLayerCoords() calculates the offset in flow-thread
383 // coordinates (what the layout engine uses internally), while this method 384 // coordinates (what the layout engine uses internally), while this method
384 // calculates the visual coordinates; i.e. it figures out which column the 385 // calculates the visual coordinates; i.e. it figures out which column the
385 // layer starts in and adds in the offset. See 386 // layer starts in and adds in the offset. See
386 // http://www.chromium.org/developers/design-documents/multi-column-layout for 387 // http://www.chromium.org/developers/design-documents/multi-column-layout for
387 // more info. 388 // more info.
(...skipping 889 matching lines...) Expand 10 before | Expand all | Expand 10 after
1277 1278
1278 } // namespace blink 1279 } // namespace blink
1279 1280
1280 #ifndef NDEBUG 1281 #ifndef NDEBUG
1281 // Outside the WebCore namespace for ease of invocation from gdb. 1282 // Outside the WebCore namespace for ease of invocation from gdb.
1282 CORE_EXPORT void showLayerTree(const blink::PaintLayer*); 1283 CORE_EXPORT void showLayerTree(const blink::PaintLayer*);
1283 CORE_EXPORT void showLayerTree(const blink::LayoutObject*); 1284 CORE_EXPORT void showLayerTree(const blink::LayoutObject*);
1284 #endif 1285 #endif
1285 1286
1286 #endif // Layer_h 1287 #endif // Layer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698