Bug 124408

Summary: [CSS Grid Layout] Improve content-sized track layout
Product: WebKit Reporter: Sergio Villar Senin <svillar>
Component: CSSAssignee: Sergio Villar Senin <svillar>
Status: RESOLVED FIXED    
Severity: Normal CC: buildbot, commit-queue, darin, dino, esprehn+autocc, glenn, kling, koivisto, kondapallykalyan, mitz, rniwa, sam, svillar, syoichi
Priority: P2 Keywords: BlinkMergeCandidate
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 124039    
Bug Blocks: 112208, 123989, 123995    
Attachments:
Description Flags
Patch
dino: review+, buildbot: commit-queue-
Archive of layout-test-results from webkit-ews-02 for mac-mountainlion
none
Archive of layout-test-results from webkit-ews-15 for mac-mountainlion-wk2 none

Description Sergio Villar Senin 2013-11-15 06:37:36 PST
Bug 124039 improves the performance of the grid layouting by not running the autoplacement algorithm for non content-sized tracks. But we can also improve the performance for content-sized tracks by narrowing down the relayout conditions. This change involves merging:

    [CSS Grid Layout] Speed up content sized track layout

    This change narrows down the relayout condition in
    RenderGrid::logicalContentHeightForChild to only
    percentage children: as they are the only lengths that
    depends on the containing block's override. We
    unfortunately can't use percentHeightDescendants as
    it's not populated yet. This code can probably be
    simplified further down but it's a good start.

    This greatly speeds up the new performance test, moving
    from 25 runs/sec to 91 runs/sec.

    BUG=234211
    Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=156122
Comment 1 Sergio Villar Senin 2013-11-15 06:40:21 PST
It also makes sense to integrate this other change too:

    Remove an extra relayout for non-percent logical height grid items

    The only reason for a grid item to force a relayout after a grid
    area's logical height change is if it has a percentage height. In
    all other cases, this would cause an unneeded relayout. Note that
    changing the logical width still forces a relayout as the situation
    is not that simple.

    This improves auto-grid-lots-of-data.html from 94 runs/s to 226
    runs/s as we avoid a relayout in layoutGridItems for every grid
    items.

    BUG=273238
    Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=157633
Comment 2 Sergio Villar Senin 2013-11-18 02:10:23 PST
Created attachment 217182 [details]
Patch
Comment 3 Build Bot 2013-11-18 02:48:09 PST
Comment on attachment 217182 [details]
Patch

Attachment 217182 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/26368057

New failing tests:
fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html
fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html
Comment 4 Build Bot 2013-11-18 02:48:11 PST
Created attachment 217184 [details]
Archive of layout-test-results from webkit-ews-02 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-02  Port: mac-mountainlion  Platform: Mac OS X 10.8.5
Comment 5 Build Bot 2013-11-18 02:59:28 PST
Comment on attachment 217182 [details]
Patch

Attachment 217182 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/26418048

New failing tests:
fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html
fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html
Comment 6 Build Bot 2013-11-18 02:59:30 PST
Created attachment 217186 [details]
Archive of layout-test-results from webkit-ews-15 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-15  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5
Comment 7 Sergio Villar Senin 2013-11-18 03:08:23 PST
(In reply to comment #5)
> (From update of attachment 217182 [details])
> Attachment 217182 [details] did not pass mac-wk2-ews (mac-wk2):
> Output: http://webkit-queues.appspot.com/results/26418048
> 
> New failing tests:
> fast/css-grid-layout/percent-padding-margin-resolution-grid-item-update.html
> fast/css-grid-layout/percent-grid-item-in-percent-grid-track-update.html

Expected failures as this change requires bug 124039 to be fixed first.
Comment 8 Sergio Villar Senin 2013-11-22 03:01:16 PST
Committed r159685: <http://trac.webkit.org/changeset/159685>