Changeset 182613 in webkit


Ignore:
Timestamp:
Apr 9, 2015 4:36:28 PM (9 years ago)
Author:
jfernandez@igalia.com
Message:

[CSS Grid Layout] Implement justify-self and justify-item css properties.
https://bugs.webkit.org/show_bug.cgi?id=133281

Reviewed by David Hyatt.

Implement the new property 'justify-items', defined in the CSS Box Alignment
Source/WebCore:

specification to describe the container's alignment behavior, in the same way
the 'align-items' property does. The 'justify-self' 'auto' value of any relative
positioned element will be resolved to its container's 'justify-items' value.

Test: fast/css/parse-justify-items.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::resolveContainerAlignmentAuto): Function to resolve 'auto' values for 'align-items' or 'justify-items'.
(WebCore::resolveSelfAlignmentAuto): Function to resolve 'auto' values for 'align-self' or 'justify-self'.
(WebCore::valueForItemPositionWithOverflowAlignment): Take into account the 'legacy' keyword.
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::resolveAlignmentAuto): Deleted (renamed to resolveContainerAlignmentAuto).

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): Refactoring to share logic between justify-xxx and align-xxx properties.
(WebCore::CSSParser::parseLegacyPosition): Parsing logic of 'legacy' keyword,
(WebCore::CSSParser::parseItemPositionOverflowPosition): Take into account the 'legacy' keyword.

  • css/CSSParser.h:
  • css/CSSPropertyNames.in:
  • css/CSSValueKeywords.in:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInheritJustifyItems): Added.
(WebCore::StyleBuilderCustom::applyInitialJustifyItems): Added.
(WebCore::StyleBuilderCustom::applyValueJustifyItems): Added.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle): Resolve 'auto' values for justify-items when parents have the 'legacy' keyword.

  • rendering/style/RenderStyle.h: Managing the new ItemPositionType fields.
  • rendering/style/RenderStyleConstants.h: Added the ItemPositionType enumeration for handling the 'legacy' keyword.
  • rendering/style/StyleRareNonInheritedData.cpp: Managing the new ItemPositionType fields.

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

specification to desribe the container's alignment behavior, in the same way
the 'align-items' property does.

  • fast/css/parse-justify-items-expected.txt: Added.
  • fast/css/parse-justify-items.html: Added.
  • fast/css/resources/alignment-parsing-utils.js: Added.

(checkValues):
(checkBadValues):
(checkInitialValues):
(checkInheritValues):
(checkLegacyValues):

Location:
trunk
Files:
3 added
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r182609 r182613  
     12015-04-09  Javier Fernandez  <jfernandez@igalia.com>
     2
     3        [CSS Grid Layout] Implement justify-self and justify-item css properties.
     4        https://bugs.webkit.org/show_bug.cgi?id=133281
     5
     6        Reviewed by David Hyatt.
     7
     8        Implement the new property 'justify-items', defined in the CSS Box Alignment
     9        specification to desribe the container's alignment behavior, in the same way
     10        the 'align-items' property does.
     11
     12        * fast/css/parse-justify-items-expected.txt: Added.
     13        * fast/css/parse-justify-items.html: Added.
     14        * fast/css/resources/alignment-parsing-utils.js: Added.
     15        (checkValues):
     16        (checkBadValues):
     17        (checkInitialValues):
     18        (checkInheritValues):
     19        (checkLegacyValues):
     20
    1212015-04-09  Myles C. Maxfield  <mmaxfield@apple.com>
    222
  • trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt

    r182147 r182613  
    154154justify-content: flex-start;
    155155justify-self: start;
     156justify-items: start;
    156157-webkit-font-kerning: auto;
    157158-webkit-font-smoothing: auto;
  • trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt

    r182147 r182613  
    153153justify-content: flex-start
    154154justify-self: auto
     155justify-items: auto
    155156-webkit-font-kerning: auto
    156157-webkit-font-smoothing: auto
  • trunk/LayoutTests/fast/css/getComputedStyle/resources/property-names.js

    r182147 r182613  
    6767    "justify-content": true,
    6868    "justify-self": true,
     69    "justify-items": true,
    6970    "-webkit-line-align": true,
    7071    "-webkit-line-box-contain": true,
  • trunk/LayoutTests/svg/css/getComputedStyle-basic-expected.txt

    r182147 r182613  
    305305rect: style.getPropertyValue(justify-self) : start
    306306rect: style.getPropertyCSSValue(justify-self) : [object CSSValueList]
     307rect: style.getPropertyValue(justify-items) : start
     308rect: style.getPropertyCSSValue(justify-items) : [object CSSValueList]
    307309rect: style.getPropertyValue(-webkit-font-kerning) : auto
    308310rect: style.getPropertyCSSValue(-webkit-font-kerning) : [object CSSPrimitiveValue]
     
    821823g: style.getPropertyValue(justify-self) : start
    822824g: style.getPropertyCSSValue(justify-self) : [object CSSValueList]
     825g: style.getPropertyValue(justify-items) : start
     826g: style.getPropertyCSSValue(justify-items) : [object CSSValueList]
    823827g: style.getPropertyValue(-webkit-font-kerning) : auto
    824828g: style.getPropertyCSSValue(-webkit-font-kerning) : [object CSSPrimitiveValue]
  • trunk/Source/WebCore/ChangeLog

    r182612 r182613  
     12015-04-09  Javier Fernandez  <jfernandez@igalia.com>
     2
     3        [CSS Grid Layout] Implement justify-self and justify-item css properties.
     4        https://bugs.webkit.org/show_bug.cgi?id=133281
     5
     6        Reviewed by David Hyatt.
     7
     8        Implement the new property 'justify-items', defined in the CSS Box Alignment
     9        specification to describe the container's alignment behavior, in the same way
     10        the 'align-items' property does. The 'justify-self' 'auto' value of any relative
     11        positioned element will be resolved to its container's 'justify-items' value.
     12
     13        Test: fast/css/parse-justify-items.html
     14
     15        * css/CSSComputedStyleDeclaration.cpp:
     16        (WebCore::resolveContainerAlignmentAuto): Function to resolve 'auto' values for 'align-items' or 'justify-items'.
     17        (WebCore::resolveSelfAlignmentAuto): Function to resolve 'auto' values for 'align-self' or 'justify-self'.
     18        (WebCore::valueForItemPositionWithOverflowAlignment): Take into account the 'legacy' keyword.
     19        (WebCore::ComputedStyleExtractor::propertyValue):
     20        (WebCore::resolveAlignmentAuto): Deleted (renamed to resolveContainerAlignmentAuto).
     21        * css/CSSParser.cpp:
     22        (WebCore::CSSParser::parseValue): Refactoring to share logic between justify-xxx and align-xxx properties.
     23        (WebCore::CSSParser::parseLegacyPosition): Parsing logic of 'legacy' keyword,
     24        (WebCore::CSSParser::parseItemPositionOverflowPosition): Take into account the 'legacy' keyword.
     25        * css/CSSParser.h:
     26        * css/CSSPropertyNames.in:
     27        * css/CSSValueKeywords.in:
     28        * css/StyleBuilderCustom.h:
     29        (WebCore::StyleBuilderCustom::applyInheritJustifyItems): Added.
     30        (WebCore::StyleBuilderCustom::applyInitialJustifyItems): Added.
     31        (WebCore::StyleBuilderCustom::applyValueJustifyItems): Added.
     32        * css/StyleResolver.cpp:
     33        (WebCore::StyleResolver::adjustRenderStyle): Resolve 'auto' values for justify-items when parents have the 'legacy' keyword.
     34        * rendering/style/RenderStyle.h: Managing the new ItemPositionType fields.
     35        * rendering/style/RenderStyleConstants.h: Added the ItemPositionType enumeration for handling the 'legacy' keyword.
     36        * rendering/style/StyleRareNonInheritedData.cpp: Managing the new ItemPositionType fields.
     37        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
     38        (WebCore::StyleRareNonInheritedData::operator==):
     39        * rendering/style/StyleRareNonInheritedData.h:
     40
    1412015-04-09  Anders Carlsson  <andersca@apple.com>
    242
  • trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp

    r182243 r182613  
    310310    CSSPropertyJustifyContent,
    311311    CSSPropertyJustifySelf,
     312    CSSPropertyJustifyItems,
    312313    CSSPropertyWebkitFilter,
    313314#if ENABLE(FILTERS_LEVEL_2)
     
    16961697}
    16971698
    1698 static ItemPosition resolveAlignmentAuto(ItemPosition position, RenderObject* element)
     1699static ItemPosition resolveContainerAlignmentAuto(ItemPosition position, RenderObject* element)
    16991700{
    17001701    if (position != ItemPositionAuto || !element)
     
    17051706}
    17061707
     1708static ItemPosition resolveSelfAlignmentAuto(ItemPosition position, OverflowAlignment& overflow, RenderObject* element)
     1709{
     1710    if (position != ItemPositionAuto || !element || element->isOutOfFlowPositioned())
     1711        return position;
     1712
     1713    RenderBlock* parent = element->containingBlock();
     1714    if (!parent)
     1715        return ItemPositionStart;
     1716
     1717    overflow = parent->style().alignItemsOverflowAlignment();
     1718    return resolveContainerAlignmentAuto(parent->style().alignItems(), parent);
     1719}
    17071720
    17081721PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropertyID propertyID, EUpdateLayout updateLayout) const
     
    17861799#endif
    17871800
    1788 static PassRefPtr<CSSValueList> valueForItemPositionWithOverflowAlignment(ItemPosition itemPosition, OverflowAlignment overflowAlignment)
     1801static PassRefPtr<CSSValueList> valueForItemPositionWithOverflowAlignment(ItemPosition itemPosition, OverflowAlignment overflowAlignment, ItemPositionType positionType)
    17891802{
    17901803    RefPtr<CSSValueList> result = CSSValueList::createSpaceSeparated();
     1804    if (positionType == LegacyPosition)
     1805        result->append(CSSPrimitiveValue::createIdentifier(CSSValueLegacy));
    17911806    result->append(cssValuePool().createValue(itemPosition));
    17921807    if (overflowAlignment != OverflowAlignmentDefault)
    17931808        result->append(cssValuePool().createValue(overflowAlignment));
     1809    ASSERT(result->length() <= 2);
    17941810    return result.release();
    17951811}
     
    21582174            return cssValuePool().createValue(style->alignContent());
    21592175        case CSSPropertyAlignItems:
    2160             return valueForItemPositionWithOverflowAlignment(resolveAlignmentAuto(style->alignItems(), renderer), style->alignItemsOverflowAlignment());
     2176            return valueForItemPositionWithOverflowAlignment(resolveContainerAlignmentAuto(style->alignItems(), renderer), style->alignItemsOverflowAlignment(), NonLegacyPosition);
    21612177        case CSSPropertyAlignSelf: {
    2162             ItemPosition alignSelf = style->alignSelf();
    21632178            OverflowAlignment overflow = style->alignSelfOverflowAlignment();
    2164             if (alignSelf == ItemPositionAuto) {
    2165                 if (renderer && !renderer->isOutOfFlowPositioned()) {
    2166                     alignSelf = ItemPositionStart;
    2167                     RenderBlock* parent = renderer->containingBlock();
    2168                     if (parent) {
    2169                         alignSelf = resolveAlignmentAuto(parent->style().alignItems(), parent);
    2170                         overflow = parent->style().alignItemsOverflowAlignment();
    2171                     }
    2172                 }
    2173             }
    2174             return valueForItemPositionWithOverflowAlignment(alignSelf, overflow);
     2179            ItemPosition alignSelf = resolveSelfAlignmentAuto(style->alignSelf(), overflow, renderer);
     2180            return valueForItemPositionWithOverflowAlignment(alignSelf, overflow, NonLegacyPosition);
    21752181        }
    21762182        case CSSPropertyFlex:
     
    21902196        case CSSPropertyJustifyContent:
    21912197            return cssValuePool().createValue(style->justifyContent());
    2192         case CSSPropertyJustifySelf:
    2193             return valueForItemPositionWithOverflowAlignment(resolveAlignmentAuto(style->justifySelf(), renderer), style->justifySelfOverflowAlignment());
     2198        case CSSPropertyJustifyItems:
     2199            return valueForItemPositionWithOverflowAlignment(resolveContainerAlignmentAuto(style->justifyItems(), renderer), style->justifyItemsOverflowAlignment(), style->justifyItemsPositionType());
     2200        case CSSPropertyJustifySelf: {
     2201            OverflowAlignment overflow = style->justifySelfOverflowAlignment();
     2202            ItemPosition justifySelf = resolveSelfAlignmentAuto(style->justifySelf(), overflow, renderer);
     2203            return valueForItemPositionWithOverflowAlignment(justifySelf, overflow, NonLegacyPosition);
     2204        }
    21942205        case CSSPropertyOrder:
    21952206            return cssValuePool().createValue(style->order(), CSSPrimitiveValue::CSS_NUMBER);
  • trunk/Source/WebCore/css/CSSParser.cpp

    r182525 r182613  
    26982698    case CSSPropertyJustifySelf:
    26992699        return parseItemPositionOverflowPosition(propId, important);
     2700    case CSSPropertyJustifyItems:
     2701        if (parseLegacyPosition(propId, important))
     2702            return true;
     2703        m_valueList->setCurrentIndex(0);
     2704        return parseItemPositionOverflowPosition(propId, important);
    27002705#if ENABLE(CSS_GRID_LAYOUT)
    27012706    case CSSPropertyWebkitGridAutoColumns:
     
    32223227}
    32233228
     3229bool CSSParser::parseLegacyPosition(CSSPropertyID propId, bool important)
     3230{
     3231    // [ legacy && [ left | right | center ]
     3232
     3233    CSSParserValue* value = m_valueList->current();
     3234    if (!value)
     3235        return false;
     3236
     3237    if (value->id == CSSValueLegacy) {
     3238        value = m_valueList->next();
     3239        if (!value)
     3240            return false;
     3241        if (value->id != CSSValueCenter && value->id != CSSValueLeft && value->id != CSSValueRight)
     3242            return false;
     3243    } else if (value->id == CSSValueCenter || value->id == CSSValueLeft || value->id == CSSValueRight) {
     3244        if (!m_valueList->next() || m_valueList->current()->id != CSSValueLegacy)
     3245            return false;
     3246    } else
     3247        return false;
     3248
     3249    addProperty(propId, createPrimitiveValuePair(cssValuePool().createIdentifierValue(CSSValueLegacy), cssValuePool().createIdentifierValue(value->id)), important);
     3250    return !m_valueList->next();
     3251}
     3252
    32243253bool CSSParser::parseItemPositionOverflowPosition(CSSPropertyID propId, bool important)
    32253254{
    3226     // auto | baseline | stretch | [<item-position> && <overflow-position>? ]
     3255    // auto | stretch | <baseline-position> | [<item-position> && <overflow-position>? ]
     3256    // <baseline-position> = baseline | last-baseline;
    32273257    // <item-position> = center | start | end | self-start | self-end | flex-start | flex-end | left | right;
    32283258    // <overflow-position> = true | safe
    32293259
    32303260    CSSParserValue* value = m_valueList->current();
     3261    if (!value)
     3262        return false;
    32313263
    32323264    if (value->id == CSSValueAuto || value->id == CSSValueStretch || isBaselinePositionKeyword(value->id)) {
  • trunk/Source/WebCore/css/CSSParser.h

    r182270 r182613  
    219219    bool parseClipShape(CSSPropertyID, bool important);
    220220
     221    bool parseLegacyPosition(CSSPropertyID, bool important);
    221222    bool parseItemPositionOverflowPosition(CSSPropertyID, bool important);
    222223
  • trunk/Source/WebCore/css/CSSPropertyNames.in

    r182147 r182613  
    480480justify-self [Custom=All]
    481481-webkit-font-size-delta [SkipBuilder]
     482justify-items [Custom=All]
     483-webkit-justify-items = justify-items
    482484#if defined(ENABLE_CSS_GRID_LAYOUT) && ENABLE_CSS_GRID_LAYOUT
    483485-webkit-grid [Longhands=-webkit-grid-template-columns|-webkit-grid-template-rows|-webkit-grid-template-areas|-webkit-grid-auto-flow|-webkit-grid-auto-columns|-webkit-grid-auto-rows]
  • trunk/Source/WebCore/css/CSSValueKeywords.in

    r182147 r182613  
    554554// space-around
    555555
    556 // CSS_PROP_JUSTIFY_SELF
     556// CSS_PROP_JUSTIFY_ITEMS / CSS_PROP_JUSTIFY_SELF
    557557// auto
    558558// stretch
     
    570570true
    571571safe
     572legacy
    572573
    573574// CSS_PROP_FLEX_FLOW
  • trunk/Source/WebCore/css/StyleBuilderCustom.h

    r182147 r182613  
    104104    DECLARE_PROPERTY_CUSTOM_HANDLERS(Zoom);
    105105    DECLARE_PROPERTY_CUSTOM_HANDLERS(JustifySelf);
     106    DECLARE_PROPERTY_CUSTOM_HANDLERS(JustifyItems);
    106107    DECLARE_PROPERTY_CUSTOM_HANDLERS(AlignItems);
    107108    DECLARE_PROPERTY_CUSTOM_HANDLERS(AlignSelf);
     
    579580}
    580581
     582inline void StyleBuilderCustom::applyInheritJustifyItems(StyleResolver& styleResolver)
     583{
     584    styleResolver.style()->setJustifyItems(styleResolver.parentStyle()->justifyItems());
     585    styleResolver.style()->setJustifyItemsOverflowAlignment(styleResolver.parentStyle()->justifyItemsOverflowAlignment());
     586    styleResolver.style()->setJustifyItemsPositionType(styleResolver.parentStyle()->justifyItemsPositionType());
     587}
     588
     589inline void StyleBuilderCustom::applyInitialJustifyItems(StyleResolver& styleResolver)
     590{
     591    styleResolver.style()->setJustifyItems(RenderStyle::initialJustifyItems());
     592    styleResolver.style()->setJustifyItemsOverflowAlignment(RenderStyle::initialJustifyItemsOverflowAlignment());
     593    styleResolver.style()->setJustifyItemsPositionType(RenderStyle::initialJustifyItemsPositionType());
     594}
     595
     596inline void StyleBuilderCustom::applyValueJustifyItems(StyleResolver& styleResolver, CSSValue& value)
     597{
     598    styleResolver.style()->setJustifyItems(RenderStyle::initialJustifyItems());
     599    styleResolver.style()->setJustifyItemsOverflowAlignment(RenderStyle::initialJustifyItemsOverflowAlignment());
     600    styleResolver.style()->setJustifyItemsPositionType(RenderStyle::initialJustifyItemsPositionType());
     601
     602    auto& primitiveValue = downcast<CSSPrimitiveValue>(value);
     603    if (Pair* pairValue = primitiveValue.getPairValue()) {
     604        if (pairValue->first()->getValueID() == CSSValueLegacy) {
     605            styleResolver.style()->setJustifyItemsPositionType(LegacyPosition);
     606            styleResolver.style()->setJustifyItems(*pairValue->second());
     607        } else {
     608            styleResolver.style()->setJustifyItems(*pairValue->first());
     609            styleResolver.style()->setJustifyItemsOverflowAlignment(*pairValue->second());
     610        }
     611    } else
     612        styleResolver.style()->setJustifyItems(primitiveValue);
     613}
     614
    581615enum BorderImageType { BorderImage, WebkitMaskBoxImage };
    582616enum BorderImageModifierType { Outset, Repeat, Slice, Width };
  • trunk/Source/WebCore/css/StyleResolver.cpp

    r182364 r182613  
    14351435            style.setDisplay(BLOCK);
    14361436    }
     1437
     1438    // If the inherited value of justify-items includes the legacy keyword, 'auto'
     1439    // computes to the the inherited value.
     1440    if (parentStyle.justifyItemsPositionType() == LegacyPosition && style.justifyItems() == ItemPositionAuto) {
     1441        style.setJustifyItems(parentStyle.justifyItems());
     1442        style.setJustifyItemsPositionType(parentStyle.justifyItemsPositionType());
     1443    }
    14371444}
    14381445
  • trunk/Source/WebCore/rendering/style/RenderStyle.h

    r182207 r182613  
    919919    EFlexWrap flexWrap() const { return static_cast<EFlexWrap>(rareNonInheritedData->m_flexibleBox->m_flexWrap); }
    920920    EJustifyContent justifyContent() const { return static_cast<EJustifyContent>(rareNonInheritedData->m_justifyContent); }
     921    ItemPosition justifyItems() const { return static_cast<ItemPosition>(rareNonInheritedData->m_justifyItems); }
     922    OverflowAlignment justifyItemsOverflowAlignment() const { return static_cast<OverflowAlignment>(rareNonInheritedData->m_justifyItemsOverflowAlignment); }
     923    ItemPositionType justifyItemsPositionType() const { return static_cast<ItemPositionType>(rareNonInheritedData->m_justifyItemsPositionType); }
    921924    ItemPosition justifySelf() const { return static_cast<ItemPosition>(rareNonInheritedData->m_justifySelf); }
    922925    OverflowAlignment justifySelfOverflowAlignment() const { return static_cast<OverflowAlignment>(rareNonInheritedData->m_justifySelfOverflowAlignment); }
     
    14951498    void setFlexWrap(EFlexWrap w) { SET_VAR(rareNonInheritedData.access()->m_flexibleBox, m_flexWrap, w); }
    14961499    void setJustifyContent(EJustifyContent p) { SET_VAR(rareNonInheritedData, m_justifyContent, p); }
     1500    void setJustifyItems(ItemPosition justifyItems) { SET_VAR(rareNonInheritedData, m_justifyItems, justifyItems); }
     1501    void setJustifyItemsOverflowAlignment(OverflowAlignment overflowAlignment) { SET_VAR(rareNonInheritedData, m_justifyItemsOverflowAlignment, overflowAlignment); }
     1502    void setJustifyItemsPositionType(ItemPositionType positionType) { SET_VAR(rareNonInheritedData, m_justifyItemsPositionType, positionType); }
    14971503    void setJustifySelf(ItemPosition p) { SET_VAR(rareNonInheritedData, m_justifySelf, p); }
    14981504    void setJustifySelfOverflowAlignment(OverflowAlignment overflowAlignment) { SET_VAR(rareNonInheritedData, m_justifySelfOverflowAlignment, overflowAlignment); }
     
    19131919    static EFlexWrap initialFlexWrap() { return FlexNoWrap; }
    19141920    static EJustifyContent initialJustifyContent() { return JustifyFlexStart; }
     1921    static ItemPosition initialJustifyItems() { return ItemPositionAuto; }
     1922    static OverflowAlignment initialJustifyItemsOverflowAlignment() { return OverflowAlignmentDefault; }
     1923    static ItemPositionType initialJustifyItemsPositionType() { return NonLegacyPosition; }
    19151924    static ItemPosition initialJustifySelf() { return ItemPositionAuto; }
    19161925    static OverflowAlignment initialJustifySelfOverflowAlignment() { return OverflowAlignmentDefault; }
  • trunk/Source/WebCore/rendering/style/RenderStyleConstants.h

    r182147 r182613  
    251251enum ItemPosition {ItemPositionAuto, ItemPositionStretch, ItemPositionBaseline, ItemPositionLastBaseline, ItemPositionCenter, ItemPositionStart, ItemPositionEnd, ItemPositionSelfStart, ItemPositionSelfEnd, ItemPositionFlexStart, ItemPositionFlexEnd, ItemPositionLeft, ItemPositionRight};
    252252enum OverflowAlignment {OverflowAlignmentDefault, OverflowAlignmentTrue, OverflowAlignmentSafe};
    253 
     253enum ItemPositionType {NonLegacyPosition, LegacyPosition};
    254254
    255255enum ETextSecurity {
  • trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp

    r182147 r182613  
    8888    , m_alignSelfOverflowAlignment(RenderStyle::initialAlignSelfOverflowAlignment())
    8989    , m_justifyContent(RenderStyle::initialJustifyContent())
     90    , m_justifyItems(RenderStyle::initialJustifyItems())
     91    , m_justifyItemsOverflowAlignment(RenderStyle::initialJustifyItemsOverflowAlignment())
     92    , m_justifyItemsPositionType(NonLegacyPosition)
    9093    , m_justifySelf(RenderStyle::initialJustifySelf())
    9194    , m_justifySelfOverflowAlignment(RenderStyle::initialJustifySelfOverflowAlignment())
     
    178181    , m_alignSelfOverflowAlignment(o.m_alignSelfOverflowAlignment)
    179182    , m_justifyContent(o.m_justifyContent)
     183    , m_justifyItems(o.m_justifyItems)
     184    , m_justifyItemsOverflowAlignment(o.m_justifyItemsOverflowAlignment)
     185    , m_justifyItemsPositionType(o.m_justifyItemsPositionType)
    180186    , m_justifySelf(o.m_justifySelf)
    181187    , m_justifySelfOverflowAlignment(o.m_justifySelfOverflowAlignment)
     
    293299        && m_aspectRatioType == o.m_aspectRatioType
    294300        && m_objectFit == o.m_objectFit
     301        && m_justifyItems == o.m_justifyItems
     302        && m_justifyItemsOverflowAlignment == o.m_justifyItemsOverflowAlignment
     303        && m_justifyItemsPositionType == o.m_justifyItemsPositionType
    295304        && m_justifySelf == o.m_justifySelf
    296305        && m_justifySelfOverflowAlignment == o.m_justifySelfOverflowAlignment;
  • trunk/Source/WebCore/rendering/style/StyleRareNonInheritedData.h

    r182147 r182613  
    195195    unsigned m_justifyContent : 3; // EJustifyContent
    196196
     197    unsigned m_justifyItems : 4; // ItemPosition
     198    unsigned m_justifyItemsOverflowAlignment : 2; // OverflowAlignment
     199    unsigned m_justifyItemsPositionType: 1; // Whether or not alignment uses the 'legacy' keyword.
     200
    197201    unsigned m_justifySelf : 4; // ItemPosition
    198202    unsigned m_justifySelfOverflowAlignment : 2; // OverflowAlignment
Note: See TracChangeset for help on using the changeset viewer.