c141ef7eaab7c495a28ae4d8633e98333f33160b
[WebKit-https.git] / Source / WebCore / rendering / style / StyleGridData.cpp
1 /*
2  * Copyright (C) 2011 Google Inc. All Rights Reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  *  THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
14  *  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15  *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16  *  DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
17  *  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18  *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19  *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20  *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23  *
24  */
25
26 #include "config.h"
27 #include "StyleGridData.h"
28
29 #if ENABLE(CSS_GRID_LAYOUT)
30
31 #include "RenderStyle.h"
32
33 namespace WebCore {
34
35 StyleGridData::StyleGridData()
36     : gridColumns(RenderStyle::initialGridColumns())
37     , gridRows(RenderStyle::initialGridRows())
38     , namedGridColumnLines(RenderStyle::initialNamedGridColumnLines())
39     , namedGridRowLines(RenderStyle::initialNamedGridRowLines())
40     , orderedNamedGridColumnLines(RenderStyle::initialOrderedNamedGridColumnLines())
41     , orderedNamedGridRowLines(RenderStyle::initialOrderedNamedGridRowLines())
42     , autoRepeatNamedGridColumnLines(RenderStyle::initialNamedGridColumnLines())
43     , autoRepeatNamedGridRowLines(RenderStyle::initialNamedGridRowLines())
44     , autoRepeatOrderedNamedGridColumnLines(RenderStyle::initialOrderedNamedGridColumnLines())
45     , autoRepeatOrderedNamedGridRowLines(RenderStyle::initialOrderedNamedGridRowLines())
46     , gridAutoFlow(RenderStyle::initialGridAutoFlow())
47     , gridAutoRows(RenderStyle::initialGridAutoRows())
48     , gridAutoColumns(RenderStyle::initialGridAutoColumns())
49     , namedGridArea(RenderStyle::initialNamedGridArea())
50     , namedGridAreaRowCount(RenderStyle::initialNamedGridAreaCount())
51     , namedGridAreaColumnCount(RenderStyle::initialNamedGridAreaCount())
52     , gridColumnGap(RenderStyle::initialGridColumnGap())
53     , gridRowGap(RenderStyle::initialGridRowGap())
54     , gridAutoRepeatColumns(RenderStyle::initialGridAutoRepeatTracks())
55     , gridAutoRepeatRows(RenderStyle::initialGridAutoRepeatTracks())
56     , autoRepeatColumnsInsertionPoint(RenderStyle::initialGridAutoRepeatInsertionPoint())
57     , autoRepeatRowsInsertionPoint(RenderStyle::initialGridAutoRepeatInsertionPoint())
58     , autoRepeatColumnsType(RenderStyle::initialGridAutoRepeatType())
59     , autoRepeatRowsType(RenderStyle::initialGridAutoRepeatType())
60 {
61 }
62
63 inline StyleGridData::StyleGridData(const StyleGridData& o)
64     : RefCounted<StyleGridData>()
65     , gridColumns(o.gridColumns)
66     , gridRows(o.gridRows)
67     , namedGridColumnLines(o.namedGridColumnLines)
68     , namedGridRowLines(o.namedGridRowLines)
69     , orderedNamedGridColumnLines(o.orderedNamedGridColumnLines)
70     , orderedNamedGridRowLines(o.orderedNamedGridRowLines)
71     , autoRepeatNamedGridColumnLines(o.autoRepeatNamedGridColumnLines)
72     , autoRepeatNamedGridRowLines(o.autoRepeatNamedGridRowLines)
73     , autoRepeatOrderedNamedGridColumnLines(o.autoRepeatOrderedNamedGridColumnLines)
74     , autoRepeatOrderedNamedGridRowLines(o.autoRepeatOrderedNamedGridRowLines)
75     , gridAutoFlow(o.gridAutoFlow)
76     , gridAutoRows(o.gridAutoRows)
77     , gridAutoColumns(o.gridAutoColumns)
78     , namedGridArea(o.namedGridArea)
79     , namedGridAreaRowCount(o.namedGridAreaRowCount)
80     , namedGridAreaColumnCount(o.namedGridAreaColumnCount)
81     , gridColumnGap(o.gridColumnGap)
82     , gridRowGap(o.gridRowGap)
83     , gridAutoRepeatColumns(o.gridAutoRepeatColumns)
84     , gridAutoRepeatRows(o.gridAutoRepeatRows)
85     , autoRepeatColumnsInsertionPoint(o.autoRepeatColumnsInsertionPoint)
86     , autoRepeatRowsInsertionPoint(o.autoRepeatRowsInsertionPoint)
87     , autoRepeatColumnsType(o.autoRepeatColumnsType)
88     , autoRepeatRowsType(o.autoRepeatRowsType)
89 {
90 }
91
92 Ref<StyleGridData> StyleGridData::copy() const
93 {
94     return adoptRef(*new StyleGridData(*this));
95 }
96
97 } // namespace WebCore
98
99 #endif /* ENABLE(CSS_GRID_LAYOUT) */