Created attachment 223963 [details]
Example file to reproduce the issue
RenderGrid::logicalContentHeightForChild() is called for some items at the beginning of RenderGrid::layoutGridItems() from RenderGrid::computeUsedBreadthOfGridTracks(). This causes that the comparison inside the for loop in RenderGrid::layoutGridItems() does not detect width changes, so elements won't be marked as needsLayout.
So the comparison is done in RenderGrid::logicalContentHeightForChild() and the element is marked to perform a layout if the width has changed.
The issue can be reproduced easily with a simple grid with one flexible or content sized column, all the available width is not used. On top of that, when you resize the window the flexible or content sized columns are not updating their size properly.
This has been already fixed in Blink and will be ported to WebKit: https://codereview.chromium.org/146833018
Created attachment 223965 [details]
Comment on attachment 223965 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=223965&action=review
> + From Blink r166914.
Don't need to specify this if you're the original author.
Created attachment 224346 [details]
Patch for landing.
Comment on attachment 224346 [details]
Clearing flags on attachment: 224346
Committed r164214: <http://trac.webkit.org/changeset/164214>
All reviewed patches have been landed. Closing bug.