• ojan@chromium.org's avatar
    Fix infinite recursion in computePreferredLogicalWidths. · 87107bc5
    ojan@chromium.org authored
    RenderReplaced::computeReplacedLogicalWidth walks up to it's
    containingBlock in some cases and asks for the containingBlock's
    width. If the containingBlock's width itself depends on the
    RenderReplaced's width, then we infinite loop. Avoid the
    infinite loop by making sure that width/min-width/max-width
    are all specified on the containingBlock, which will keep
    the width from depending on it's children.
    
    Added FIXMEs. I think we should delete all this containingBlock
    walking code, but it needs to be done carefully to make sure
    percentage widths on <svg> keep working. The spec actually
    considered this undefined behavior, but suggests doing the
    crazy that we do here.
    
    BUG=344647
    
    Review URL: https://codereview.chromium.org/186913003
    
    git-svn-id: svn://svn.chromium.org/blink/trunk@168511 bbb929c8-8fbe-4397-9dbb-9b2b20218538
    87107bc5
replaced-intrinsic-ratio-min-width-min-content.html 201 Bytes