Bug 150891

Summary: [css-grid] Grid placement conflict handling
Product: WebKit Reporter: Sergio Villar Senin <svillar>
Component: Layout and RenderingAssignee: Sergio Villar Senin <svillar>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, commit-queue, darin, esprehn+autocc, glenn, jfernandez, kling, kondapallykalyan, rego, svillar
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 60731    
Attachments:
Description Flags
Patch darin: review+

Sergio Villar Senin
Reported 2015-11-04 04:31:39 PST
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.
Attachments
Patch (14.93 KB, patch)
2015-11-05 08:11 PST, Sergio Villar Senin
darin: review+
Sergio Villar Senin
Comment 1 2015-11-05 08:11:49 PST
Darin Adler
Comment 2 2015-11-06 09:02:55 PST
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;
Sergio Villar Senin
Comment 3 2015-11-09 04:24:53 PST
Note You need to log in before you can comment on or make changes to this bug.