Implement CSS `display: flow-root` (modern clearfix)
[WebKit-https.git] / Source / WebCore / rendering / style / StyleInheritedData.cpp
1 /*
2  * Copyright (C) 1999 Antti Koivisto (koivisto@kde.org)
3  * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public License
16  * along with this library; see the file COPYING.LIB.  If not, write to
17  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  * Boston, MA 02110-1301, USA.
19  *
20  */
21
22 #include "config.h"
23 #include "StyleInheritedData.h"
24
25 #include "RenderStyle.h"
26
27 namespace WebCore {
28
29 StyleInheritedData::StyleInheritedData()
30     : horizontalBorderSpacing(RenderStyle::initialHorizontalBorderSpacing())
31     , verticalBorderSpacing(RenderStyle::initialVerticalBorderSpacing())
32     , lineHeight(RenderStyle::initialLineHeight())
33 #if ENABLE(TEXT_AUTOSIZING)
34     , specifiedLineHeight(RenderStyle::initialLineHeight())
35 #endif
36     , color(RenderStyle::initialColor())
37     , visitedLinkColor(RenderStyle::initialColor())
38 {
39 }
40
41 inline StyleInheritedData::StyleInheritedData(const StyleInheritedData& o)
42     : RefCounted<StyleInheritedData>()
43     , horizontalBorderSpacing(o.horizontalBorderSpacing)
44     , verticalBorderSpacing(o.verticalBorderSpacing)
45     , lineHeight(o.lineHeight)
46 #if ENABLE(TEXT_AUTOSIZING)
47     , specifiedLineHeight(o.specifiedLineHeight)
48 #endif
49     , fontCascade(o.fontCascade)
50     , color(o.color)
51     , visitedLinkColor(o.visitedLinkColor)
52 {
53 }
54
55 Ref<StyleInheritedData> StyleInheritedData::copy() const
56 {
57     return adoptRef(*new StyleInheritedData(*this));
58 }
59
60 bool StyleInheritedData::operator==(const StyleInheritedData& o) const
61 {
62     return lineHeight == o.lineHeight
63 #if ENABLE(TEXT_AUTOSIZING)
64         && specifiedLineHeight == o.specifiedLineHeight
65 #endif
66         && fontCascade == o.fontCascade
67         && color == o.color
68         && visitedLinkColor == o.visitedLinkColor
69         && horizontalBorderSpacing == o.horizontalBorderSpacing
70         && verticalBorderSpacing == o.verticalBorderSpacing;
71 }
72
73 } // namespace WebCore