Changeset 200182 in webkit


Ignore:
Timestamp:
Apr 28, 2016 2:27:55 AM (8 years ago)
Author:
svillar@igalia.com
Message:

[css-grid] Store auto-repeat information in style
https://bugs.webkit.org/show_bug.cgi?id=157097

Reviewed by Darin Adler.

This is the second step to implement auto-repeat. This patch provides the necessary
machinery to store the auto-repeat data extracted by the parser in the RenderStyle class. We
are not doing anything with that information yet, it will be used later to compute the
number of auto-repeat tracks in a follow up patch.

No new tests required as there is no change in behavior yet (we're just storing the info we
already get from the parser).

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForGridTrackList): Check also that the auto-repeat list of tracks is empty.

  • css/StyleBuilderConverter.h:

(WebCore::createGridLineNamesList): Refactored from createGridTrackList.
(WebCore::StyleBuilderConverter::createGridTrackList): Extract auto-repeat data from the
parser. Also gathered all the out arguments in a single new struct called TracksData.

  • css/StyleBuilderCustom.h: Added new macro SET_TRACKS_DATA which properly sets the info

from TracksData struct into style.
(WebCore::StyleBuilderCustom::applyValueWebkitGridTemplateColumns): Store auto-repeat data
in RenderStyle.
(WebCore::StyleBuilderCustom::applyValueWebkitGridTemplateRows): Ditto.

  • rendering/style/RenderStyle.h: Add methods and attributes for auto-repeat data.
  • rendering/style/RenderStyleConstants.h: New AutoRepeatType enumerated type.
  • rendering/style/StyleGridData.cpp:

(WebCore::StyleGridData::StyleGridData): Add auto-repeat data.

  • rendering/style/StyleGridData.h:

(WebCore::StyleGridData::operator==): Check also auto-repeat data.

Location:
trunk/Source/WebCore
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r200181 r200182  
     12016-04-28  Sergio Villar Senin  <svillar@igalia.com>
     2
     3        [css-grid] Store auto-repeat information in style
     4        https://bugs.webkit.org/show_bug.cgi?id=157097
     5
     6        Reviewed by Darin Adler.
     7
     8        This is the second step to implement auto-repeat. This patch provides the necessary
     9        machinery to store the auto-repeat data extracted by the parser in the RenderStyle class. We
     10        are not doing anything with that information yet, it will be used later to compute the
     11        number of auto-repeat tracks in a follow up patch.
     12
     13        No new tests required as there is no change in behavior yet (we're just storing the info we
     14        already get from the parser).
     15
     16        * css/CSSComputedStyleDeclaration.cpp:
     17        (WebCore::valueForGridTrackList): Check also that the auto-repeat list of tracks is empty.
     18        * css/StyleBuilderConverter.h:
     19        (WebCore::createGridLineNamesList): Refactored from createGridTrackList.
     20        (WebCore::StyleBuilderConverter::createGridTrackList): Extract auto-repeat data from the
     21        parser. Also gathered all the out arguments in a single new struct called TracksData.
     22        * css/StyleBuilderCustom.h: Added new macro SET_TRACKS_DATA which properly sets the info
     23        from TracksData struct into style.
     24        (WebCore::StyleBuilderCustom::applyValueWebkitGridTemplateColumns): Store auto-repeat data
     25        in RenderStyle.
     26        (WebCore::StyleBuilderCustom::applyValueWebkitGridTemplateRows): Ditto.
     27        * rendering/style/RenderStyle.h: Add methods and attributes for auto-repeat data.
     28        * rendering/style/RenderStyleConstants.h: New AutoRepeatType enumerated type.
     29        * rendering/style/StyleGridData.cpp:
     30        (WebCore::StyleGridData::StyleGridData): Add auto-repeat data.
     31        * rendering/style/StyleGridData.h:
     32        (WebCore::StyleGridData::operator==): Check also auto-repeat data.
     33
    1342016-04-28  Manuel Rego Casasnovas  <rego@igalia.com>
    235
  • trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp

    r200098 r200182  
    10501050static Ref<CSSValue> valueForGridTrackList(GridTrackSizingDirection direction, RenderObject* renderer, const RenderStyle& style)
    10511051{
    1052     const Vector<GridTrackSize>& trackSizes = direction == ForColumns ? style.gridColumns() : style.gridRows();
    1053     const OrderedNamedGridLinesMap& orderedNamedGridLines = direction == ForColumns ? style.orderedNamedGridColumnLines() : style.orderedNamedGridRowLines();
     1052    bool isRowAxis = direction == ForColumns;
    10541053    bool isRenderGrid = is<RenderGrid>(renderer);
     1054    auto& trackSizes = isRowAxis ? style.gridColumns() : style.gridRows();
     1055    auto& autoRepeatTrackSizes = isRowAxis ? style.gridAutoRepeatColumns() : style.gridAutoRepeatRows();
     1056    auto& orderedNamedGridLines = isRowAxis ? style.orderedNamedGridColumnLines() : style.orderedNamedGridRowLines();
    10551057
    10561058    // Handle the 'none' case.
    1057     bool trackListIsEmpty = trackSizes.isEmpty();
     1059    bool trackListIsEmpty = trackSizes.isEmpty() && autoRepeatTrackSizes.isEmpty();
    10581060    if (isRenderGrid && trackListIsEmpty) {
    10591061        // For grids we should consider every listed track, whether implicitly or explicitly created. If we don't have
  • trunk/Source/WebCore/css/StyleBuilderConverter.h

    r199034 r200182  
    3333#include "CSSFontFeatureValue.h"
    3434#include "CSSFunctionValue.h"
     35#include "CSSGridAutoRepeatValue.h"
    3536#include "CSSGridLineNamesValue.h"
    3637#include "CSSGridTemplateAreasValue.h"
     
    157158    static GridLength createGridTrackBreadth(CSSPrimitiveValue&, StyleResolver&);
    158159    static GridTrackSize createGridTrackSize(CSSValue&, StyleResolver&);
    159     static bool createGridTrackList(CSSValue&, Vector<GridTrackSize>& trackSizes, NamedGridLinesMap&, OrderedNamedGridLinesMap&, StyleResolver&);
     160    struct TracksData;
     161    static bool createGridTrackList(CSSValue&, TracksData&, StyleResolver&);
    160162    static bool createGridPosition(CSSValue&, GridPosition&);
    161163    static void createImplicitNamedGridLinesFromGridArea(const NamedGridAreaMap&, NamedGridLinesMap&, GridTrackSizingDirection);
     
    853855}
    854856
    855 inline bool StyleBuilderConverter::createGridTrackList(CSSValue& value, Vector<GridTrackSize>& trackSizes, NamedGridLinesMap& namedGridLines, OrderedNamedGridLinesMap& orderedNamedGridLines, StyleResolver& styleResolver)
     857static void createGridLineNamesList(const CSSValue& value, unsigned currentNamedGridLine, NamedGridLinesMap& namedGridLines, OrderedNamedGridLinesMap& orderedNamedGridLines)
     858{
     859    ASSERT(value.isGridLineNamesValue());
     860
     861    for (auto& namedGridLineValue : downcast<CSSGridLineNamesValue>(value)) {
     862        String namedGridLine = downcast<CSSPrimitiveValue>(namedGridLineValue.get()).getStringValue();
     863        auto result = namedGridLines.add(namedGridLine, Vector<unsigned>());
     864        result.iterator->value.append(currentNamedGridLine);
     865        auto orderedResult = orderedNamedGridLines.add(currentNamedGridLine, Vector<String>());
     866        orderedResult.iterator->value.append(namedGridLine);
     867    }
     868}
     869
     870struct StyleBuilderConverter::TracksData {
     871    WTF_MAKE_NONCOPYABLE(TracksData); WTF_MAKE_FAST_ALLOCATED;
     872public:
     873    TracksData() = default;
     874
     875    Vector<GridTrackSize> m_trackSizes;
     876    NamedGridLinesMap m_namedGridLines;
     877    OrderedNamedGridLinesMap m_orderedNamedGridLines;
     878    Vector<GridTrackSize> m_autoRepeatTrackSizes;
     879    NamedGridLinesMap m_autoRepeatNamedGridLines;
     880    OrderedNamedGridLinesMap m_autoRepeatOrderedNamedGridLines;
     881    unsigned m_autoRepeatInsertionPoint { RenderStyle::initialGridAutoRepeatInsertionPoint() };
     882    AutoRepeatType m_autoRepeatType { RenderStyle::initialGridAutoRepeatType() };
     883};
     884
     885inline bool StyleBuilderConverter::createGridTrackList(CSSValue& value, TracksData& tracksData, StyleResolver& styleResolver)
    856886{
    857887    // Handle 'none'.
     
    865895    for (auto& currentValue : downcast<CSSValueList>(value)) {
    866896        if (is<CSSGridLineNamesValue>(currentValue.get())) {
    867             for (auto& currentGridLineName : downcast<CSSGridLineNamesValue>(currentValue.get())) {
    868                 String namedGridLine = downcast<CSSPrimitiveValue>(currentGridLineName.get()).getStringValue();
    869                 NamedGridLinesMap::AddResult result = namedGridLines.add(namedGridLine, Vector<unsigned>());
    870                 result.iterator->value.append(currentNamedGridLine);
    871                 OrderedNamedGridLinesMap::AddResult orderedResult = orderedNamedGridLines.add(currentNamedGridLine, Vector<String>());
    872                 orderedResult.iterator->value.append(namedGridLine);
    873             }
     897            createGridLineNamesList(currentValue.get(), currentNamedGridLine, tracksData.m_namedGridLines, tracksData.m_orderedNamedGridLines);
    874898            continue;
    875899        }
    876900
     901        if (is<CSSGridAutoRepeatValue>(currentValue)) {
     902            ASSERT(tracksData.m_autoRepeatTrackSizes.isEmpty());
     903            unsigned autoRepeatIndex = 0;
     904            CSSValueID autoRepeatID = downcast<CSSGridAutoRepeatValue>(currentValue.get()).autoRepeatID();
     905            ASSERT(autoRepeatID == CSSValueAutoFill || autoRepeatID == CSSValueAutoFit);
     906            tracksData.m_autoRepeatType = autoRepeatID == CSSValueAutoFill ? AutoFill : AutoFit;
     907            for (auto& autoRepeatValue : downcast<CSSValueList>(currentValue.get())) {
     908                if (is<CSSGridLineNamesValue>(autoRepeatValue.get())) {
     909                    createGridLineNamesList(autoRepeatValue.get(), autoRepeatIndex, tracksData.m_autoRepeatNamedGridLines, tracksData.m_autoRepeatOrderedNamedGridLines);
     910                    continue;
     911                }
     912                ++autoRepeatIndex;
     913                tracksData.m_autoRepeatTrackSizes.append(createGridTrackSize(autoRepeatValue.get(), styleResolver));
     914            }
     915            tracksData.m_autoRepeatInsertionPoint = currentNamedGridLine++;
     916            continue;
     917        }
     918
    877919        ++currentNamedGridLine;
    878         trackSizes.append(createGridTrackSize(currentValue, styleResolver));
     920        tracksData.m_trackSizes.append(createGridTrackSize(currentValue, styleResolver));
    879921    }
    880922
    881923    // The parser should have rejected any <track-list> without any <track-size> as
    882924    // this is not conformant to the syntax.
    883     ASSERT(!trackSizes.isEmpty());
     925    ASSERT(!tracksData.m_trackSizes.isEmpty() || !tracksData.m_autoRepeatTrackSizes.isEmpty());
    884926    return true;
    885927}
  • trunk/Source/WebCore/css/StyleBuilderCustom.h

    r200098 r200182  
    16501650}
    16511651
     1652#define SET_TRACKS_DATA(tracksData, style, TrackType) \
     1653    style->setGrid##TrackType##s(tracksData.m_trackSizes); \
     1654    style->setNamedGrid##TrackType##Lines(tracksData.m_namedGridLines); \
     1655    style->setOrderedNamedGrid##TrackType##Lines(tracksData.m_orderedNamedGridLines); \
     1656    style->setGridAutoRepeat##TrackType##s(tracksData.m_autoRepeatTrackSizes); \
     1657    style->setGridAutoRepeat##TrackType##sInsertionPoint(tracksData.m_autoRepeatInsertionPoint); \
     1658    style->setAutoRepeatNamedGrid##TrackType##Lines(tracksData.m_autoRepeatNamedGridLines); \
     1659    style->setAutoRepeatOrderedNamedGrid##TrackType##Lines(tracksData.m_autoRepeatOrderedNamedGridLines); \
     1660    style->setGridAutoRepeat##TrackType##sType(tracksData.m_autoRepeatType);
     1661
    16521662inline void StyleBuilderCustom::applyValueWebkitGridTemplateColumns(StyleResolver& styleResolver, CSSValue& value)
    16531663{
    1654     Vector<GridTrackSize> trackSizes;
    1655     NamedGridLinesMap namedGridLines;
    1656     OrderedNamedGridLinesMap orderedNamedGridLines;
    1657     if (!StyleBuilderConverter::createGridTrackList(value, trackSizes, namedGridLines, orderedNamedGridLines, styleResolver))
     1664    StyleBuilderConverter::TracksData tracksData;
     1665    if (!StyleBuilderConverter::createGridTrackList(value, tracksData, styleResolver))
    16581666        return;
    16591667    const NamedGridAreaMap& namedGridAreas = styleResolver.style()->namedGridArea();
    16601668    if (!namedGridAreas.isEmpty())
    1661         StyleBuilderConverter::createImplicitNamedGridLinesFromGridArea(namedGridAreas, namedGridLines, ForColumns);
    1662 
    1663     styleResolver.style()->setGridColumns(trackSizes);
    1664     styleResolver.style()->setNamedGridColumnLines(namedGridLines);
    1665     styleResolver.style()->setOrderedNamedGridColumnLines(orderedNamedGridLines);
     1669        StyleBuilderConverter::createImplicitNamedGridLinesFromGridArea(namedGridAreas, tracksData.m_namedGridLines, ForColumns);
     1670
     1671    SET_TRACKS_DATA(tracksData, styleResolver.style(), Column);
    16661672}
    16671673
     
    16821688inline void StyleBuilderCustom::applyValueWebkitGridTemplateRows(StyleResolver& styleResolver, CSSValue& value)
    16831689{
    1684     Vector<GridTrackSize> trackSizes;
    1685     NamedGridLinesMap namedGridLines;
    1686     OrderedNamedGridLinesMap orderedNamedGridLines;
    1687     if (!StyleBuilderConverter::createGridTrackList(value, trackSizes, namedGridLines, orderedNamedGridLines, styleResolver))
     1690    StyleBuilderConverter::TracksData tracksData;
     1691    if (!StyleBuilderConverter::createGridTrackList(value, tracksData, styleResolver))
    16881692        return;
    16891693    const NamedGridAreaMap& namedGridAreas = styleResolver.style()->namedGridArea();
    16901694    if (!namedGridAreas.isEmpty())
    1691         StyleBuilderConverter::createImplicitNamedGridLinesFromGridArea(namedGridAreas, namedGridLines, ForRows);
    1692 
    1693     styleResolver.style()->setGridRows(trackSizes);
    1694     styleResolver.style()->setNamedGridRowLines(namedGridLines);
    1695     styleResolver.style()->setOrderedNamedGridRowLines(orderedNamedGridLines);
     1695        StyleBuilderConverter::createImplicitNamedGridLinesFromGridArea(namedGridAreas, tracksData.m_namedGridLines, ForRows);
     1696
     1697    SET_TRACKS_DATA(tracksData, styleResolver.style(), Row);
    16961698}
    16971699#endif // ENABLE(CSS_GRID_LAYOUT)
  • trunk/Source/WebCore/rendering/style/RenderStyle.h

    r200098 r200182  
    959959    const Vector<GridTrackSize>& gridColumns() const { return rareNonInheritedData->m_grid->m_gridColumns; }
    960960    const Vector<GridTrackSize>& gridRows() const { return rareNonInheritedData->m_grid->m_gridRows; }
     961    const Vector<GridTrackSize>& gridAutoRepeatColumns() const { return rareNonInheritedData->m_grid->m_gridAutoRepeatColumns; }
     962    const Vector<GridTrackSize>& gridAutoRepeatRows() const { return rareNonInheritedData->m_grid->m_gridAutoRepeatRows; }
     963    unsigned gridAutoRepeatColumnsInsertionPoint() const { return rareNonInheritedData->m_grid->m_autoRepeatColumnsInsertionPoint; }
     964    unsigned gridAutoRepeatRowsInsertionPoint() const { return rareNonInheritedData->m_grid->m_autoRepeatRowsInsertionPoint; }
     965    AutoRepeatType gridAutoRepeatColumnsType() const  { return rareNonInheritedData->m_grid->m_autoRepeatColumnsType; }
     966    AutoRepeatType gridAutoRepeatRowsType() const  { return rareNonInheritedData->m_grid->m_autoRepeatRowsType; }
    961967    const NamedGridLinesMap& namedGridColumnLines() const { return rareNonInheritedData->m_grid->m_namedGridColumnLines; }
    962968    const NamedGridLinesMap& namedGridRowLines() const { return rareNonInheritedData->m_grid->m_namedGridRowLines; }
    963969    const OrderedNamedGridLinesMap& orderedNamedGridColumnLines() const { return rareNonInheritedData->m_grid->m_orderedNamedGridColumnLines; }
    964970    const OrderedNamedGridLinesMap& orderedNamedGridRowLines() const { return rareNonInheritedData->m_grid->m_orderedNamedGridRowLines; }
     971    const NamedGridLinesMap& autoRepeatNamedGridColumnLines() const { return rareNonInheritedData->m_grid->m_autoRepeatNamedGridColumnLines; }
     972    const NamedGridLinesMap& autoRepeatNamedGridRowLines() const { return rareNonInheritedData->m_grid->m_autoRepeatNamedGridRowLines; }
     973    const OrderedNamedGridLinesMap& autoRepeatOrderedNamedGridColumnLines() const { return rareNonInheritedData->m_grid->m_autoRepeatOrderedNamedGridColumnLines; }
     974    const OrderedNamedGridLinesMap& autoRepeatOrderedNamedGridRowLines() const { return rareNonInheritedData->m_grid->m_autoRepeatOrderedNamedGridRowLines; }
    965975    const NamedGridAreaMap& namedGridArea() const { return rareNonInheritedData->m_grid->m_namedGridArea; }
    966976    size_t namedGridAreaRowCount() const { return rareNonInheritedData->m_grid->m_namedGridAreaRowCount; }
     
    15561566    void setGridColumns(const Vector<GridTrackSize>& lengths) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_gridColumns, lengths); }
    15571567    void setGridRows(const Vector<GridTrackSize>& lengths) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_gridRows, lengths); }
     1568    void setGridAutoRepeatColumns(const Vector<GridTrackSize>& lengths) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_gridAutoRepeatColumns, lengths); }
     1569    void setGridAutoRepeatRows(const Vector<GridTrackSize>& lengths) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_gridAutoRepeatRows, lengths); }
     1570    void setGridAutoRepeatColumnsInsertionPoint(const unsigned insertionPoint) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_autoRepeatColumnsInsertionPoint, insertionPoint); }
     1571    void setGridAutoRepeatRowsInsertionPoint(const unsigned insertionPoint) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_autoRepeatRowsInsertionPoint, insertionPoint); }
     1572    void setGridAutoRepeatColumnsType(const AutoRepeatType autoRepeatType) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_autoRepeatColumnsType, autoRepeatType); }
     1573    void setGridAutoRepeatRowsType(const AutoRepeatType autoRepeatType) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_autoRepeatRowsType, autoRepeatType); }
    15581574    void setNamedGridColumnLines(const NamedGridLinesMap& namedGridColumnLines) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_namedGridColumnLines, namedGridColumnLines); }
    15591575    void setNamedGridRowLines(const NamedGridLinesMap& namedGridRowLines) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_namedGridRowLines, namedGridRowLines); }
    15601576    void setOrderedNamedGridColumnLines(const OrderedNamedGridLinesMap& orderedNamedGridColumnLines) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_orderedNamedGridColumnLines, orderedNamedGridColumnLines); }
    15611577    void setOrderedNamedGridRowLines(const OrderedNamedGridLinesMap& orderedNamedGridRowLines) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_orderedNamedGridRowLines, orderedNamedGridRowLines); }
     1578    void setAutoRepeatNamedGridColumnLines(const NamedGridLinesMap& namedGridColumnLines) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_autoRepeatNamedGridColumnLines, namedGridColumnLines); }
     1579    void setAutoRepeatNamedGridRowLines(const NamedGridLinesMap& namedGridRowLines) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_autoRepeatNamedGridRowLines, namedGridRowLines); }
     1580    void setAutoRepeatOrderedNamedGridColumnLines(const OrderedNamedGridLinesMap& orderedNamedGridColumnLines) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_autoRepeatOrderedNamedGridColumnLines, orderedNamedGridColumnLines); }
     1581    void setAutoRepeatOrderedNamedGridRowLines(const OrderedNamedGridLinesMap& orderedNamedGridRowLines) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_autoRepeatOrderedNamedGridRowLines, orderedNamedGridRowLines); }
    15621582    void setNamedGridArea(const NamedGridAreaMap& namedGridArea) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_namedGridArea, namedGridArea); }
    15631583    void setNamedGridAreaRowCount(size_t rowCount) { SET_NESTED_VAR(rareNonInheritedData, m_grid, m_namedGridAreaRowCount, rowCount); }
     
    20692089    static Vector<GridTrackSize> initialGridRows() { return Vector<GridTrackSize>(); }
    20702090
     2091    static Vector<GridTrackSize> initialGridAutoRepeatTracks() { return Vector<GridTrackSize>(); }
     2092    static unsigned initialGridAutoRepeatInsertionPoint() { return 0; }
     2093    static AutoRepeatType initialGridAutoRepeatType() { return NoAutoRepeat; }
     2094
    20712095    static GridAutoFlow initialGridAutoFlow() { return AutoFlowRow; }
    20722096
  • trunk/Source/WebCore/rendering/style/RenderStyleConstants.h

    r199154 r200182  
    654654    AutoFlowColumnDense = InternalAutoFlowAlgorithmDense | InternalAutoFlowDirectionColumn
    655655};
     656
     657enum AutoRepeatType {
     658    NoAutoRepeat,
     659    AutoFill,
     660    AutoFit
     661};
    656662#endif
    657663
  • trunk/Source/WebCore/rendering/style/StyleGridData.cpp

    r190663 r200182  
    4040    , m_orderedNamedGridColumnLines(RenderStyle::initialOrderedNamedGridColumnLines())
    4141    , m_orderedNamedGridRowLines(RenderStyle::initialOrderedNamedGridRowLines())
     42    , m_autoRepeatNamedGridColumnLines(RenderStyle::initialNamedGridColumnLines())
     43    , m_autoRepeatNamedGridRowLines(RenderStyle::initialNamedGridRowLines())
     44    , m_autoRepeatOrderedNamedGridColumnLines(RenderStyle::initialOrderedNamedGridColumnLines())
     45    , m_autoRepeatOrderedNamedGridRowLines(RenderStyle::initialOrderedNamedGridRowLines())
    4246    , m_gridAutoFlow(RenderStyle::initialGridAutoFlow())
    4347    , m_gridAutoRows(RenderStyle::initialGridAutoRows())
     
    4852    , m_gridColumnGap(RenderStyle::initialGridColumnGap())
    4953    , m_gridRowGap(RenderStyle::initialGridRowGap())
     54    , m_gridAutoRepeatColumns(RenderStyle::initialGridAutoRepeatTracks())
     55    , m_gridAutoRepeatRows(RenderStyle::initialGridAutoRepeatTracks())
     56    , m_autoRepeatColumnsInsertionPoint(RenderStyle::initialGridAutoRepeatInsertionPoint())
     57    , m_autoRepeatRowsInsertionPoint(RenderStyle::initialGridAutoRepeatInsertionPoint())
     58    , m_autoRepeatColumnsType(RenderStyle::initialGridAutoRepeatType())
     59    , m_autoRepeatRowsType(RenderStyle::initialGridAutoRepeatType())
    5060{
    5161}
     
    5969    , m_orderedNamedGridColumnLines(o.m_orderedNamedGridColumnLines)
    6070    , m_orderedNamedGridRowLines(o.m_orderedNamedGridRowLines)
     71    , m_autoRepeatNamedGridColumnLines(o.m_autoRepeatNamedGridColumnLines)
     72    , m_autoRepeatNamedGridRowLines(o.m_autoRepeatNamedGridRowLines)
     73    , m_autoRepeatOrderedNamedGridColumnLines(o.m_autoRepeatOrderedNamedGridColumnLines)
     74    , m_autoRepeatOrderedNamedGridRowLines(o.m_autoRepeatOrderedNamedGridRowLines)
    6175    , m_gridAutoFlow(o.m_gridAutoFlow)
    6276    , m_gridAutoRows(o.m_gridAutoRows)
     
    6781    , m_gridColumnGap(o.m_gridColumnGap)
    6882    , m_gridRowGap(o.m_gridRowGap)
     83    , m_gridAutoRepeatColumns(o.m_gridAutoRepeatColumns)
     84    , m_gridAutoRepeatRows(o.m_gridAutoRepeatRows)
     85    , m_autoRepeatColumnsInsertionPoint(o.m_autoRepeatColumnsInsertionPoint)
     86    , m_autoRepeatRowsInsertionPoint(o.m_autoRepeatRowsInsertionPoint)
     87    , m_autoRepeatColumnsType(o.m_autoRepeatColumnsType)
     88    , m_autoRepeatRowsType(o.m_autoRepeatRowsType)
    6989{
    7090}
  • trunk/Source/WebCore/rendering/style/StyleGridData.h

    r198210 r200182  
    5353            && m_gridAutoFlow == o.m_gridAutoFlow && m_gridAutoRows == o.m_gridAutoRows && m_gridAutoColumns == o.m_gridAutoColumns
    5454            && m_namedGridColumnLines == o.m_namedGridColumnLines && m_namedGridRowLines == o.m_namedGridRowLines
     55            && m_autoRepeatNamedGridColumnLines == o.m_autoRepeatNamedGridColumnLines && m_autoRepeatNamedGridRowLines == o.m_autoRepeatNamedGridRowLines
     56            && m_autoRepeatOrderedNamedGridColumnLines == o.m_autoRepeatOrderedNamedGridColumnLines && m_autoRepeatOrderedNamedGridRowLines == o.m_autoRepeatOrderedNamedGridRowLines
    5557            && m_namedGridArea == o.m_namedGridArea && m_namedGridArea == o.m_namedGridArea
    5658            && m_namedGridAreaRowCount == o.m_namedGridAreaRowCount && m_namedGridAreaColumnCount == o.m_namedGridAreaColumnCount
    5759            && m_orderedNamedGridRowLines == o.m_orderedNamedGridRowLines && m_orderedNamedGridColumnLines == o.m_orderedNamedGridColumnLines
    58             && m_gridColumnGap == o.m_gridColumnGap && m_gridRowGap == o.m_gridRowGap;
     60            && m_gridColumnGap == o.m_gridColumnGap && m_gridRowGap == o.m_gridRowGap
     61            && m_gridAutoRepeatColumns == o.m_gridAutoRepeatColumns && m_gridAutoRepeatRows == o.m_gridAutoRepeatRows
     62            && m_autoRepeatColumnsInsertionPoint == o.m_autoRepeatColumnsInsertionPoint && m_autoRepeatRowsInsertionPoint == o.m_autoRepeatRowsInsertionPoint
     63            && m_autoRepeatColumnsType == o.m_autoRepeatColumnsType && m_autoRepeatRowsType == o.m_autoRepeatRowsType;
    5964    }
    6065
     
    7479    OrderedNamedGridLinesMap m_orderedNamedGridRowLines;
    7580
     81    NamedGridLinesMap m_autoRepeatNamedGridColumnLines;
     82    NamedGridLinesMap m_autoRepeatNamedGridRowLines;
     83    OrderedNamedGridLinesMap m_autoRepeatOrderedNamedGridColumnLines;
     84    OrderedNamedGridLinesMap m_autoRepeatOrderedNamedGridRowLines;
     85
    7686    unsigned m_gridAutoFlow : GridAutoFlowBits;
    7787
     
    8898    Length m_gridRowGap;
    8999
     100    Vector<GridTrackSize> m_gridAutoRepeatColumns;
     101    Vector<GridTrackSize> m_gridAutoRepeatRows;
     102
     103    unsigned m_autoRepeatColumnsInsertionPoint;
     104    unsigned m_autoRepeatRowsInsertionPoint;
     105
     106    AutoRepeatType m_autoRepeatColumnsType;
     107    AutoRepeatType m_autoRepeatRowsType;
     108
    90109private:
    91110    StyleGridData();
Note: See TracChangeset for help on using the changeset viewer.