Changeset 147140 in webkit


Ignore:
Timestamp:
Mar 28, 2013 12:24:03 PM (11 years ago)
Author:
jchaffraix@webkit.org
Message:

[CSS Grid Layout] Before / start paddings and borders are not accounted for when placing the grid items
https://bugs.webkit.org/show_bug.cgi?id=113351

Reviewed by Tony Chang.

Source/WebCore:

Tests: fast/css-grid-layout/grid-element-border-grid-item.html

fast/css-grid-layout/grid-element-border-padding-grid-item.html
fast/css-grid-layout/grid-element-padding-grid-item.html

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::borderAndPaddingBefore):
Added this helper function (we do have borderAndPaddingStart but didn't have this
one for some reason).

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::findChildLogicalPosition):
Shifted |offset| by the paddings and borders before / start.

LayoutTests:

  • fast/css-grid-layout/resources/grid.css:

(.verticalLR):
(.horizontalBT):
(.directionRTL):
Added more helper classes.

  • fast/css-grid-layout/grid-element-border-grid-item-expected.txt: Added.
  • fast/css-grid-layout/grid-element-border-grid-item.html: Added.
  • fast/css-grid-layout/grid-element-border-padding-grid-item-expected.txt: Added.
  • fast/css-grid-layout/grid-element-border-padding-grid-item.html: Added.
  • fast/css-grid-layout/grid-element-padding-grid-item-expected.txt: Added.
  • fast/css-grid-layout/grid-element-padding-grid-item.html: Added.
Location:
trunk
Files:
6 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r147139 r147140  
     12013-03-28  Julien Chaffraix  <jchaffraix@webkit.org>
     2
     3        [CSS Grid Layout] Before / start paddings and borders are not accounted for when placing the grid items
     4        https://bugs.webkit.org/show_bug.cgi?id=113351
     5
     6        Reviewed by Tony Chang.
     7
     8        * fast/css-grid-layout/resources/grid.css:
     9        (.verticalLR):
     10        (.horizontalBT):
     11        (.directionRTL):
     12        Added more helper classes.
     13
     14        * fast/css-grid-layout/grid-element-border-grid-item-expected.txt: Added.
     15        * fast/css-grid-layout/grid-element-border-grid-item.html: Added.
     16        * fast/css-grid-layout/grid-element-border-padding-grid-item-expected.txt: Added.
     17        * fast/css-grid-layout/grid-element-border-padding-grid-item.html: Added.
     18        * fast/css-grid-layout/grid-element-padding-grid-item-expected.txt: Added.
     19        * fast/css-grid-layout/grid-element-padding-grid-item.html: Added.
     20
    1212013-03-28  Roger Fong  <roger_fong@apple.com>
    222
  • trunk/LayoutTests/fast/css-grid-layout/resources/grid.css

    r146482 r147140  
    145145    -webkit-writing-mode: vertical-rl;
    146146}
     147
     148.verticalLR {
     149    -webkit-writing-mode: vertical-lr;
     150}
     151
     152.horizontalBT {
     153    -webkit-writing-mode: horizontal-bt;
     154}
     155
     156.directionRTL {
     157    direction: rtl;
     158}
  • trunk/Source/WebCore/ChangeLog

    r147137 r147140  
     12013-03-28  Julien Chaffraix  <jchaffraix@webkit.org>
     2
     3        [CSS Grid Layout] Before / start paddings and borders are not accounted for when placing the grid items
     4        https://bugs.webkit.org/show_bug.cgi?id=113351
     5
     6        Reviewed by Tony Chang.
     7
     8        Tests: fast/css-grid-layout/grid-element-border-grid-item.html
     9               fast/css-grid-layout/grid-element-border-padding-grid-item.html
     10               fast/css-grid-layout/grid-element-padding-grid-item.html
     11
     12        * rendering/RenderBoxModelObject.h:
     13        (WebCore::RenderBoxModelObject::borderAndPaddingBefore):
     14        Added this helper function (we do have borderAndPaddingStart but didn't have this
     15        one for some reason).
     16
     17        * rendering/RenderGrid.cpp:
     18        (WebCore::RenderGrid::findChildLogicalPosition):
     19        Shifted |offset| by the paddings and borders before / start.
     20
    1212013-03-28  Zan Dobersek  <zdobersek@igalia.com>
    222
  • trunk/Source/WebCore/rendering/RenderBoxModelObject.h

    r145726 r147140  
    129129
    130130    LayoutUnit borderAndPaddingStart() const { return borderStart() + paddingStart(); }
     131    LayoutUnit borderAndPaddingBefore() const { return borderBefore() + paddingBefore(); }
    131132    LayoutUnit borderLogicalLeft() const { return style()->isHorizontalWritingMode() ? borderLeft() : borderTop(); }
    132133    LayoutUnit borderLogicalRight() const { return style()->isHorizontalWritingMode() ? borderRight() : borderBottom(); }
  • trunk/Source/WebCore/rendering/RenderGrid.cpp

    r146697 r147140  
    793793    const GridCoordinate& coordinate = cachedGridCoordinate(child);
    794794
    795     LayoutPoint offset;
     795    // The grid items should be inside the grid container's border box, that's why they need to be shifted.
     796    LayoutPoint offset(borderAndPaddingStart(), borderAndPaddingBefore());
    796797    // FIXME: |columnTrack| and |rowTrack| should be smaller than our column / row count.
    797798    for (size_t i = 0; i < coordinate.columns.initialPositionIndex && i < columnTracks.size(); ++i)
Note: See TracChangeset for help on using the changeset viewer.