Changeset 130714 in webkit
- Timestamp:
- Oct 8, 2012 6:52:21 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r130709 r130714 1 2012-10-08 Tony Chang <tony@chromium.org> 2 3 image not displayed in flexbox 4 https://bugs.webkit.org/show_bug.cgi?id=98611 5 6 Reviewed by Ojan Vafai. 7 8 Load an image after flexbox layout has happened. 9 10 * css3/flexbox/relayout-image-load-expected.txt: Added. 11 * css3/flexbox/relayout-image-load.html: Added. 12 * platform/chromium/TestExpectations: Remove css3/flexbox/flexitem-stretch-image.html 13 since it should no longer be flaky. 14 1 15 2012-10-08 Dirk Pranke <dpranke@chromium.org> 2 16 -
trunk/LayoutTests/platform/chromium/TestExpectations
r130702 r130714 3413 3413 3414 3414 webkit.org/b/94660 fast/js/create-lots-of-workers.html [ Crash Pass Timeout ] 3415 webkit.org/b/95366 [ Debug ] css3/flexbox/flexitem-stretch-image.html [ Failure Pass ]3416 3415 3417 3416 crbug.com/67540 webkit.org/b/94735 [ Linux ] fast/text/emphasis-overlap.html [ Failure ImageOnlyFailure ] -
trunk/Source/WebCore/ChangeLog
r130712 r130714 1 2012-10-08 Tony Chang <tony@chromium.org> 2 3 image not displayed in flexbox 4 https://bugs.webkit.org/show_bug.cgi?id=98611 5 6 Reviewed by Ojan Vafai. 7 8 Flexbox will override the width of a child and when stretching, will override the height of the child. 9 When this happens, when an image loads, it checks to see if it's width/height has 10 changed, and if so, does a relayout. The overridden width/height was preventing this 11 relayout from happening. 12 13 To fix, we clear all the override sizes when we're done laying out the flex children. 14 15 Test: css3/flexbox/relayout-image-load.html 16 17 * rendering/RenderFlexibleBox.cpp: 18 (WebCore::RenderFlexibleBox::layoutBlock): Clear child override sizes. 19 (WebCore::RenderFlexibleBox::clearChildOverrideSizes): 20 (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): No longer need to clear the override size 21 here since it should have already been cleared. 22 * rendering/RenderFlexibleBox.h: 23 1 24 2012-10-08 Andreas Kling <kling@webkit.org> 2 25 -
trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp
r130553 r130714 325 325 326 326 computeRegionRangeForBlock(); 327 clearChildOverrideSizes(); 327 328 328 329 // FIXME: css3/flexbox/repaint-rtl-column.html seems to repaint more overflow than it needs to. … … 372 373 // direction:rtl + flex-direction:column means the cross-axis direction is flipped. 373 374 flipForRightToLeftColumn(iterator); 375 } 376 377 void RenderFlexibleBox::clearChildOverrideSizes() 378 { 379 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBox()) 380 child->clearOverrideSize(); 374 381 } 375 382 … … 807 814 continue; 808 815 809 child->clearOverrideSize();810 816 // Only need to layout here if we will need to get the logicalHeight of the child in computeNextFlexLine. 811 817 Length childMainAxisMin = isHorizontalFlow() ? child->style()->minWidth() : child->style()->minHeight(); -
trunk/Source/WebCore/rendering/RenderFlexibleBox.h
r130409 r130714 121 121 bool updateAutoMarginsInCrossAxis(RenderBox* child, LayoutUnit availableAlignmentSpace); 122 122 void repositionLogicalHeightDependentFlexItems(OrderIterator&, WTF::Vector<LineContext>&, LayoutUnit& oldClientAfterEdge); 123 void clearChildOverrideSizes(); 123 124 124 125 LayoutUnit availableAlignmentSpaceForChild(LayoutUnit lineCrossAxisExtent, RenderBox*);
Note: See TracChangeset
for help on using the changeset viewer.