Bug 172836 - [css-grid] Logical margin incorrectly applied during the tracks sizing algorithm of auto tracks
Summary: [css-grid] Logical margin incorrectly applied during the tracks sizing algori...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Javier Fernandez
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-01 14:48 PDT by Javier Fernandez
Modified: 2017-06-02 04:35 PDT (History)
8 users (show)

See Also:


Attachments
Test case to reproduce the issue (436 bytes, text/html)
2017-06-01 14:48 PDT, Javier Fernandez
no flags Details
Patch (8.68 KB, patch)
2017-06-01 15:26 PDT, Javier Fernandez
no flags Details | Formatted Diff | Diff
Patch (13.85 KB, patch)
2017-06-02 03:56 PDT, Javier Fernandez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Javier Fernandez 2017-06-01 14:48:56 PDT
Created attachment 311761 [details]
Test case to reproduce the issue

There are some cases where right/left margin is applied to determine an orthogonal item's width. This is incorrect because right/left are absolute directions which can operate along inline or block item's axis depending on its writing-mode.
It seems we are using the grid container's writing-mode to determine the logical size of the margin. This is incorrect for orthogonal items, as it's shown in the attached test case.
Comment 1 Javier Fernandez 2017-06-01 14:50:01 PDT
This issue has been already solved in Blink, so it'd be a matter of porting the following patch:

https://codereview.chromium.org/2543193002/
Comment 2 Javier Fernandez 2017-06-01 15:26:48 PDT
Created attachment 311765 [details]
Patch
Comment 3 Manuel Rego Casasnovas 2017-06-02 01:04:35 PDT
Comment on attachment 311765 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=311765&action=review

> LayoutTests/fast/css-grid-layout/grid-track-sizing-with-margins-and-orthogonal-flows.html:7
> +.item { margin: 10px 5px 5px 15px; }

I'd use a different value for each margin property, so we're sure we're not mixing margin-right and margin-bottom.
What about something like: 10px 5px 20px 15px ?
Comment 4 Javier Fernandez 2017-06-02 03:56:27 PDT
Created attachment 311818 [details]
Patch
Comment 5 WebKit Commit Bot 2017-06-02 04:35:31 PDT
Comment on attachment 311818 [details]
Patch

Clearing flags on attachment: 311818

Committed r217709: <http://trac.webkit.org/changeset/217709>
Comment 6 WebKit Commit Bot 2017-06-02 04:35:32 PDT
All reviewed patches have been landed.  Closing bug.