We're calling several times per item to the same methods in order to resolve the grid positions over an over. Now that GridSpan doesn't have pointers anymore, we could just call the resolution code once and store it in the GridCoordinates cache. This is a port from Blink of https://codereview.chromium.org/1465153004/
Created attachment 271550 [details] Patch
Comment on attachment 271550 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=271550&action=review Nice change > Source/WebCore/rendering/RenderGrid.cpp:1184 > + for (RenderBox* child = m_orderIterator.first(); child; child = m_orderIterator.next()) { Perhaps not for this patch but we should make OrderIterator a stl iterator-like class so that instead of first() and next() we have begin() and end() and we could do things like for (auto child : m_orderIterator)
(In reply to comment #2) > Comment on attachment 271550 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=271550&action=review > > Nice change Thanks for the review! > > Source/WebCore/rendering/RenderGrid.cpp:1184 > > + for (RenderBox* child = m_orderIterator.first(); child; child = m_orderIterator.next()) { > > Perhaps not for this patch but we should make OrderIterator a stl > iterator-like class so that instead of first() and next() we have begin() > and end() and we could do things like > > for (auto child : m_orderIterator) Note down in bug #154590.
Comment on attachment 271550 [details] Patch Clearing flags on attachment: 271550 Committed r196983: <http://trac.webkit.org/changeset/196983>
All reviewed patches have been landed. Closing bug.