The specs have recently changed. If the placement for a grid item contains two lines, and the start line is further end-ward than the end line, swap the two lines.
Created attachment 264865 [details] Patch
Comment on attachment 264865 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=264865&action=review > Source/WebCore/rendering/style/GridResolvedPosition.cpp:300 > + m_integerPosition = isStartSide(side) ? integerPosition : std::max<int>(0, integerPosition - 1); This conversion to int and back to unsigned is not a clean way to clamp at zero? I suggest instead we write: if (!isStartSide(side) && integerPosition) --integerPosition; m_integerPosition = integerPosition; > Source/WebCore/rendering/style/GridResolvedPosition.h:138 > + return std::max<int>(m_integerPosition - 1, 0); Same issue here with converting to and from int. I would instead write: return m_integerPosition ? m_integerPosition - 1 : 0;
Committed r192153: <http://trac.webkit.org/changeset/192153>