Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

layout: Make the compositor rather than layout determine the position of each iframe. #7423

Merged
merged 1 commit into from Sep 30, 2015

Commits on Sep 29, 2015

  1. layout: Make the compositor rather than layout determine the position of

    each iframe.
    
    The old code that attempted to do this during layout wasn't able to work
    for multiple reasons: it couldn't know where the iframe was going to be
    on the page (because of nested iframes), and at the time it was building
    the display list for a fragment it couldn't know where that fragment was
    going to be in page coordinates.
    
    This patch rewrites that code so that both the sizes and positions of
    iframes are determined by the compositor. Layout layerizes all iframes
    and marks the iframe layers with the appropriate pipeline and subpage
    IDs so that the compositor can place them correctly. This approach is
    similar in spirit to Gecko's `RefLayer` infrastructure. The logic that
    determines when it is time to take the screenshot for reftests has been
    significantly revamped to deal with this change in delegation of
    responsibility.
    
    Additionally, this code removes the infrastructure that sends layout
    data back to the layout task to be destroyed, since it is now all
    thread-safe and can be destroyed on the script task.
    
    The failing tests now fail because of a pre-existing bug related to
    intrinsic heights and borders on inline replaced elements. They happened
    to pass before because we never rendered the iframes at all, which meant
    they never had a chance to draw the red border the tests expect to not
    render!
    
    Closes #7377.
    pcwalton committed Sep 29, 2015
You can’t perform that action at this time.