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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutDeprecatedFlexibleBox.cpp

Issue 2387883002: Use float for scroll offset. (Closed)
Patch Set: Fix README.md Created 4 years, 2 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 * This file is part of the layout object implementation for KHTML. 2 * This file is part of the layout object implementation for KHTML.
3 * 3 *
4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
5 * (C) 1999 Antti Koivisto (koivisto@kde.org) 5 * (C) 1999 Antti Koivisto (koivisto@kde.org)
6 * Copyright (C) 2003 Apple Computer, Inc. 6 * Copyright (C) 2003 Apple Computer, Inc.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 449
450 LayoutUnit remainingSpace; 450 LayoutUnit remainingSpace;
451 451
452 FlexBoxIterator iterator(this); 452 FlexBoxIterator iterator(this);
453 unsigned highestFlexGroup = 0; 453 unsigned highestFlexGroup = 0;
454 unsigned lowestFlexGroup = 0; 454 unsigned lowestFlexGroup = 0;
455 bool haveFlex = false, flexingChildren = false; 455 bool haveFlex = false, flexingChildren = false;
456 gatherFlexChildrenInfo(iterator, relayoutChildren, highestFlexGroup, 456 gatherFlexChildrenInfo(iterator, relayoutChildren, highestFlexGroup,
457 lowestFlexGroup, haveFlex); 457 lowestFlexGroup, haveFlex);
458 458
459 PaintLayerScrollableArea::DelayScrollPositionClampScope delayClampScope; 459 PaintLayerScrollableArea::DelayScrollOffsetClampScope delayClampScope;
460 460
461 // We do 2 passes. The first pass is simply to lay everyone out at 461 // We do 2 passes. The first pass is simply to lay everyone out at
462 // their preferred widths. The second pass handles flexing the children. 462 // their preferred widths. The second pass handles flexing the children.
463 do { 463 do {
464 // Reset our height. 464 // Reset our height.
465 setHeight(yPos); 465 setHeight(yPos);
466 466
467 xPos = borderLeft() + paddingLeft(); 467 xPos = borderLeft() + paddingLeft();
468 468
469 // Our first pass is done without flexing. We simply lay the children 469 // Our first pass is done without flexing. We simply lay the children
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
795 gatherFlexChildrenInfo(iterator, relayoutChildren, highestFlexGroup, 795 gatherFlexChildrenInfo(iterator, relayoutChildren, highestFlexGroup,
796 lowestFlexGroup, haveFlex); 796 lowestFlexGroup, haveFlex);
797 797
798 // We confine the line clamp ugliness to vertical flexible boxes (thus keeping 798 // We confine the line clamp ugliness to vertical flexible boxes (thus keeping
799 // it out of 799 // it out of
800 // mainstream block layout); this is not really part of the XUL box model. 800 // mainstream block layout); this is not really part of the XUL box model.
801 bool haveLineClamp = !style()->lineClamp().isNone(); 801 bool haveLineClamp = !style()->lineClamp().isNone();
802 if (haveLineClamp) 802 if (haveLineClamp)
803 applyLineClamp(iterator, relayoutChildren); 803 applyLineClamp(iterator, relayoutChildren);
804 804
805 PaintLayerScrollableArea::DelayScrollPositionClampScope delayClampScope; 805 PaintLayerScrollableArea::DelayScrollOffsetClampScope delayClampScope;
806 806
807 // We do 2 passes. The first pass is simply to lay everyone out at 807 // We do 2 passes. The first pass is simply to lay everyone out at
808 // their preferred widths. The second pass handles flexing the children. 808 // their preferred widths. The second pass handles flexing the children.
809 // Our first pass is done without flexing. We simply lay the children 809 // Our first pass is done without flexing. We simply lay the children
810 // out within the box. 810 // out within the box.
811 do { 811 do {
812 setHeight(borderTop() + paddingTop()); 812 setHeight(borderTop() + paddingTop());
813 LayoutUnit minHeight = size().height() + toAdd; 813 LayoutUnit minHeight = size().height() + toAdd;
814 814
815 for (LayoutBox* child = iterator.first(); child; child = iterator.next()) { 815 for (LayoutBox* child = iterator.first(); child; child = iterator.next()) {
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after
1261 if (minHeight.isFixed() || minHeight.isAuto()) { 1261 if (minHeight.isFixed() || minHeight.isAuto()) {
1262 LayoutUnit minHeight(child->style()->minHeight().value()); 1262 LayoutUnit minHeight(child->style()->minHeight().value());
1263 LayoutUnit height = contentHeightForChild(child); 1263 LayoutUnit height = contentHeightForChild(child);
1264 LayoutUnit allowedShrinkage = (minHeight - height).clampPositiveToZero(); 1264 LayoutUnit allowedShrinkage = (minHeight - height).clampPositiveToZero();
1265 return allowedShrinkage; 1265 return allowedShrinkage;
1266 } 1266 }
1267 return LayoutUnit(); 1267 return LayoutUnit();
1268 } 1268 }
1269 1269
1270 } // namespace blink 1270 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698