• ojan@chromium.org's avatar
    min-width/max-width of min-content/max-content don't work correctly if width is specified · 6efd34e3
    ojan@chromium.org authored
    https://bugs.webkit.org/show_bug.cgi?id=106143
    
    Reviewed by Tony Chang.
    
    Source/WebCore:
    
    Test: fast/css-intrinsic-dimensions/intrinsic-sized-blocks.html
    
    * rendering/RenderBlock.cpp:
    (WebCore::RenderBlock::computeIntrinsicLogicalWidths):
    Expose this so that we don't use the preferred widths when calculating intrinsic width
    values since the preferred width will be the regular width value if it is set.
    Also, simplified the logic around table cells and scrollbar widths. The old code was
    wrong and unnecessarily complicated.
    
    (WebCore::RenderBlock::computePreferredLogicalWidths):
    Use the new computeIntrinsicLogicalWidths method.
    
    (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
    (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
    Pass in the min/max values as out params so they can be called from computeIntrinsicLogicalWidths.
    Also, make computeBlockPreferredLogicalWidths const.
    
    * rendering/RenderBlock.h:
    
    LayoutTests:
    
    * css3/flexbox/box-sizing.html:
    The old result was incorrectly using the preferred width as the min-content width of the flex items.
    The new result is correctly resolving the min-content width to 0 and allowing the flex items to shrink.
    
    * fast/css-intrinsic-dimensions/intrinsic-sized-blocks-expected.txt: Added.
    * fast/css-intrinsic-dimensions/intrinsic-sized-blocks.html: Added.
    * platform/chromium-win/fast/table/overflowHidden-expected.txt:
    The new result correctly adds the scrollbar width to the table cell intrinsic width.
    The pixel result doesn't need ot be updated because the elements that changed are below
    the fold, so they don't show up in the png.
    
    * platform/chromium/TestExpectations:
    * platform/efl/TestExpectations:
    * platform/gtk/TestExpectations:
    * platform/mac/TestExpectations:
    * platform/qt/TestExpectations:
    Add tests that will need rebaselines.
    
    * scrollbars/custom-scrollbar-table-cell-expected.png:
    The new result correctly adds the scrollbar width to the table cell intrinsic width.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    6efd34e3
custom-scrollbar-table-cell.html 873 Bytes