• layout: Rewrite the block formatting context/float inline-size

    speculation code.
    
    The old code tried to do the speculation as a single bottom-up pass
    after intrinsic inline-size calculation, which was unable to handle
    cases like this:
    
        <div>
            <div style="float: left">Foo</div>
        </div>
        <div>
            <div style="overflow: hidden">Bar</div>
        </div>
    
    No single bottom-up pass could possibly handle this case, because the
    inline-size of the float flowing out of the "Foo" block could never make
    it down to the "Bar" block, where it is needed for speculation.
    
    On the pages I tried, this regresses layout performance by 1%-2%.
    
    I first noticed this breaking some pages, like the Google SERPs, several
    months ago.
    pcwalton committed Mar 26, 2016