Out-of-line RenderStyle substructure copying helpers.
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 31 Dec 2013 16:40:50 +0000 (16:40 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 31 Dec 2013 16:40:50 +0000 (16:40 +0000)
<https://webkit.org/b/126340>

This shrinks the .access() calls by moving memory allocation logic
out-of-line, though I'm really doing this to make Instruments.app
allocations output more readable.

Writes to e.g 'font' or 'color' will now be grouped under a single
StyleInheritedData::copy() call instead of being spread out over
setFontDescription(), setLineHeight(), setColor(), etc.

Reviewed by Anders Carlsson.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@161184 268f45cc-cd09-0410-ab3c-d52691b4dbfc

37 files changed:
Source/WebCore/ChangeLog
Source/WebCore/rendering/style/NinePieceImage.cpp
Source/WebCore/rendering/style/NinePieceImage.h
Source/WebCore/rendering/style/SVGRenderStyle.cpp
Source/WebCore/rendering/style/SVGRenderStyle.h
Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp
Source/WebCore/rendering/style/SVGRenderStyleDefs.h
Source/WebCore/rendering/style/StyleBackgroundData.cpp
Source/WebCore/rendering/style/StyleBackgroundData.h
Source/WebCore/rendering/style/StyleBoxData.cpp
Source/WebCore/rendering/style/StyleBoxData.h
Source/WebCore/rendering/style/StyleDeprecatedFlexibleBoxData.cpp
Source/WebCore/rendering/style/StyleDeprecatedFlexibleBoxData.h
Source/WebCore/rendering/style/StyleFilterData.cpp
Source/WebCore/rendering/style/StyleFilterData.h
Source/WebCore/rendering/style/StyleFlexibleBoxData.cpp
Source/WebCore/rendering/style/StyleFlexibleBoxData.h
Source/WebCore/rendering/style/StyleGridData.cpp
Source/WebCore/rendering/style/StyleGridData.h
Source/WebCore/rendering/style/StyleGridItemData.cpp
Source/WebCore/rendering/style/StyleGridItemData.h
Source/WebCore/rendering/style/StyleInheritedData.cpp
Source/WebCore/rendering/style/StyleInheritedData.h
Source/WebCore/rendering/style/StyleMarqueeData.cpp
Source/WebCore/rendering/style/StyleMarqueeData.h
Source/WebCore/rendering/style/StyleMultiColData.cpp
Source/WebCore/rendering/style/StyleMultiColData.h
Source/WebCore/rendering/style/StyleRareInheritedData.cpp
Source/WebCore/rendering/style/StyleRareInheritedData.h
Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp
Source/WebCore/rendering/style/StyleRareNonInheritedData.h
Source/WebCore/rendering/style/StyleSurroundData.cpp
Source/WebCore/rendering/style/StyleSurroundData.h
Source/WebCore/rendering/style/StyleTransformData.cpp
Source/WebCore/rendering/style/StyleTransformData.h
Source/WebCore/rendering/style/StyleVisualData.cpp
Source/WebCore/rendering/style/StyleVisualData.h

index 52911aa..c0fc987 100644 (file)
@@ -1,5 +1,20 @@
 2013-12-31  Andreas Kling  <akling@apple.com>
 
+        Out-of-line RenderStyle substructure copying helpers.
+        <https://webkit.org/b/126340>
+
+        This shrinks the .access() calls by moving memory allocation logic
+        out-of-line, though I'm really doing this to make Instruments.app
+        allocations output more readable.
+
+        Writes to e.g 'font' or 'color' will now be grouped under a single
+        StyleInheritedData::copy() call instead of being spread out over
+        setFontDescription(), setLineHeight(), setColor(), etc.
+
+        Reviewed by Anders Carlsson.
+
+2013-12-31  Andreas Kling  <akling@apple.com>
+
         RenderListItem should store its marker in a RenderPtr.
         <https://webkit.org/b/126298>
 
index 8863ab7..43bd1b0 100644 (file)
@@ -61,7 +61,7 @@ NinePieceImageData::NinePieceImageData()
 {
 }
 
-NinePieceImageData::NinePieceImageData(const NinePieceImageData& other)
+inline NinePieceImageData::NinePieceImageData(const NinePieceImageData& other)
     : RefCounted<NinePieceImageData>()
     , fill(other.fill)
     , horizontalRule(other.horizontalRule)
@@ -73,6 +73,11 @@ NinePieceImageData::NinePieceImageData(const NinePieceImageData& other)
 {
 }
 
+PassRef<NinePieceImageData> NinePieceImageData::copy() const
+{
+    return adoptRef(*new NinePieceImageData(*this));
+}
+
 bool NinePieceImageData::operator==(const NinePieceImageData& other) const
 {
     return StyleImage::imagesEquivalent(image.get(), other.image.get())
index 082fd19..e349241 100644 (file)
@@ -38,7 +38,7 @@ enum ENinePieceImageRule {
 class NinePieceImageData : public RefCounted<NinePieceImageData> {
 public:
     static PassRef<NinePieceImageData> create() { return adoptRef(*new NinePieceImageData); }
-    PassRef<NinePieceImageData> copy() const { return adoptRef(*new NinePieceImageData(*this)); }
+    PassRef<NinePieceImageData> copy() const;
 
     bool operator==(const NinePieceImageData&) const;
     bool operator!=(const NinePieceImageData& o) const { return !(*this == o); }
index 32b5137..06c793f 100644 (file)
@@ -76,7 +76,7 @@ SVGRenderStyle::SVGRenderStyle(CreateDefaultType)
     setBitDefaults();
 }
 
-SVGRenderStyle::SVGRenderStyle(const SVGRenderStyle& other)
+inline SVGRenderStyle::SVGRenderStyle(const SVGRenderStyle& other)
     : RefCounted<SVGRenderStyle>()
     , svg_inherited_flags(other.svg_inherited_flags)
     , svg_noninherited_flags(other.svg_noninherited_flags)
@@ -91,6 +91,11 @@ SVGRenderStyle::SVGRenderStyle(const SVGRenderStyle& other)
 {
 }
 
+PassRef<SVGRenderStyle> SVGRenderStyle::copy() const
+{
+    return adoptRef(*new SVGRenderStyle(*this));
+}
+
 SVGRenderStyle::~SVGRenderStyle()
 {
 }
index 3507d41..ff07db5 100644 (file)
@@ -43,7 +43,7 @@ class SVGRenderStyle : public RefCounted<SVGRenderStyle> {
 public:
     static PassRef<SVGRenderStyle> createDefaultStyle();
     static PassRef<SVGRenderStyle> create() { return adoptRef(*new SVGRenderStyle); }
-    PassRef<SVGRenderStyle> copy() const { return adoptRef(*new SVGRenderStyle(*this));}
+    PassRef<SVGRenderStyle> copy() const;
     ~SVGRenderStyle();
 
     bool inheritedNotEqual(const SVGRenderStyle*) const;
index e8c8098..aed179b 100644 (file)
@@ -46,7 +46,7 @@ StyleFillData::StyleFillData()
 {
 }
 
-StyleFillData::StyleFillData(const StyleFillData& other)
+inline StyleFillData::StyleFillData(const StyleFillData& other)
     : RefCounted<StyleFillData>()
     , opacity(other.opacity)
     , paintType(other.paintType)
@@ -58,6 +58,11 @@ StyleFillData::StyleFillData(const StyleFillData& other)
 {
 }
 
+PassRef<StyleFillData> StyleFillData::copy() const
+{
+    return adoptRef(*new StyleFillData(*this));
+}
+
 bool StyleFillData::operator==(const StyleFillData& other) const
 {
     return opacity == other.opacity 
@@ -84,7 +89,7 @@ StyleStrokeData::StyleStrokeData()
 {
 }
 
-StyleStrokeData::StyleStrokeData(const StyleStrokeData& other)
+inline StyleStrokeData::StyleStrokeData(const StyleStrokeData& other)
     : RefCounted<StyleStrokeData>()
     , opacity(other.opacity)
     , miterLimit(other.miterLimit)
@@ -100,6 +105,11 @@ StyleStrokeData::StyleStrokeData(const StyleStrokeData& other)
 {
 }
 
+PassRef<StyleStrokeData> StyleStrokeData::copy() const
+{
+    return adoptRef(*new StyleStrokeData(*this));
+}
+
 bool StyleStrokeData::operator==(const StyleStrokeData& other) const
 {
     return width == other.width
@@ -121,13 +131,18 @@ StyleStopData::StyleStopData()
 {
 }
 
-StyleStopData::StyleStopData(const StyleStopData& other)
+inline StyleStopData::StyleStopData(const StyleStopData& other)
     : RefCounted<StyleStopData>()
     , opacity(other.opacity)
     , color(other.color)
 {
 }
 
+PassRef<StyleStopData> StyleStopData::copy() const
+{
+    return adoptRef(*new StyleStopData(*this));
+}
+
 bool StyleStopData::operator==(const StyleStopData& other) const
 {
     return color == other.color
@@ -139,12 +154,17 @@ StyleTextData::StyleTextData()
 {
 }
 
-StyleTextData::StyleTextData(const StyleTextData& other)
+inline StyleTextData::StyleTextData(const StyleTextData& other)
     : RefCounted<StyleTextData>()
     , kerning(other.kerning)
 {
 }
 
+PassRef<StyleTextData> StyleTextData::copy() const
+{
+    return adoptRef(*new StyleTextData(*this));
+}
+
 bool StyleTextData::operator==(const StyleTextData& other) const
 {
     return kerning == other.kerning;
@@ -158,7 +178,7 @@ StyleMiscData::StyleMiscData()
 {
 }
 
-StyleMiscData::StyleMiscData(const StyleMiscData& other)
+inline StyleMiscData::StyleMiscData(const StyleMiscData& other)
     : RefCounted<StyleMiscData>()
     , floodColor(other.floodColor)
     , floodOpacity(other.floodOpacity)
@@ -167,6 +187,11 @@ StyleMiscData::StyleMiscData(const StyleMiscData& other)
 {
 }
 
+PassRef<StyleMiscData> StyleMiscData::copy() const
+{
+    return adoptRef(*new StyleMiscData(*this));
+}
+
 bool StyleMiscData::operator==(const StyleMiscData& other) const
 {
     return floodOpacity == other.floodOpacity
@@ -179,12 +204,17 @@ StyleShadowSVGData::StyleShadowSVGData()
 {
 }
 
-StyleShadowSVGData::StyleShadowSVGData(const StyleShadowSVGData& other)
+inline StyleShadowSVGData::StyleShadowSVGData(const StyleShadowSVGData& other)
     : RefCounted<StyleShadowSVGData>()
     , shadow(other.shadow ? adoptPtr(new ShadowData(*other.shadow)) : nullptr)
 {
 }
 
+PassRef<StyleShadowSVGData> StyleShadowSVGData::copy() const
+{
+    return adoptRef(*new StyleShadowSVGData(*this));
+}
+
 bool StyleShadowSVGData::operator==(const StyleShadowSVGData& other) const
 {
     if ((!shadow && other.shadow) || (shadow && !other.shadow))
@@ -201,7 +231,7 @@ StyleResourceData::StyleResourceData()
 {
 }
 
-StyleResourceData::StyleResourceData(const StyleResourceData& other)
+inline StyleResourceData::StyleResourceData(const StyleResourceData& other)
     : RefCounted<StyleResourceData>()
     , clipper(other.clipper)
     , filter(other.filter)
@@ -209,6 +239,11 @@ StyleResourceData::StyleResourceData(const StyleResourceData& other)
 {
 }
 
+PassRef<StyleResourceData> StyleResourceData::copy() const
+{
+    return adoptRef(*new StyleResourceData(*this));
+}
+
 bool StyleResourceData::operator==(const StyleResourceData& other) const
 {
     return clipper == other.clipper
@@ -223,7 +258,7 @@ StyleInheritedResourceData::StyleInheritedResourceData()
 {
 }
 
-StyleInheritedResourceData::StyleInheritedResourceData(const StyleInheritedResourceData& other)
+inline StyleInheritedResourceData::StyleInheritedResourceData(const StyleInheritedResourceData& other)
     : RefCounted<StyleInheritedResourceData>()
     , markerStart(other.markerStart)
     , markerMid(other.markerMid)
@@ -231,6 +266,11 @@ StyleInheritedResourceData::StyleInheritedResourceData(const StyleInheritedResou
 {
 }
 
+PassRef<StyleInheritedResourceData> StyleInheritedResourceData::copy() const
+{
+    return adoptRef(*new StyleInheritedResourceData(*this));
+}
+
 bool StyleInheritedResourceData::operator==(const StyleInheritedResourceData& other) const
 {
     return markerStart == other.markerStart
index 2f18e86..9c840bc 100644 (file)
@@ -102,7 +102,7 @@ namespace WebCore {
     class StyleFillData : public RefCounted<StyleFillData> {
     public:
         static PassRef<StyleFillData> create() { return adoptRef(*new StyleFillData); }
-        PassRef<StyleFillData> copy() const { return adoptRef(*new StyleFillData(*this)); }
+        PassRef<StyleFillData> copy() const;
 
         bool operator==(const StyleFillData&) const;
         bool operator!=(const StyleFillData& other) const
@@ -126,7 +126,7 @@ namespace WebCore {
     class StyleStrokeData : public RefCounted<StyleStrokeData> {
     public:
         static PassRef<StyleStrokeData> create() { return adoptRef(*new StyleStrokeData); }
-        PassRef<StyleStrokeData> copy() const { return adoptRef(*new StyleStrokeData(*this)); }
+        PassRef<StyleStrokeData> copy() const;
 
         bool operator==(const StyleStrokeData&) const;
         bool operator!=(const StyleStrokeData& other) const
@@ -156,7 +156,7 @@ namespace WebCore {
     class StyleStopData : public RefCounted<StyleStopData> {
     public:
         static PassRef<StyleStopData> create() { return adoptRef(*new StyleStopData); }
-        PassRef<StyleStopData> copy() const { return adoptRef(*new StyleStopData(*this)); }
+        PassRef<StyleStopData> copy() const;
 
         bool operator==(const StyleStopData&) const;
         bool operator!=(const StyleStopData& other) const
@@ -175,7 +175,7 @@ namespace WebCore {
     class StyleTextData : public RefCounted<StyleTextData> {
     public:
         static PassRef<StyleTextData> create() { return adoptRef(*new StyleTextData); }
-        PassRef<StyleTextData> copy() const { return adoptRef(*new StyleTextData(*this)); }
+        PassRef<StyleTextData> copy() const;
         
         bool operator==(const StyleTextData& other) const;
         bool operator!=(const StyleTextData& other) const
@@ -194,7 +194,7 @@ namespace WebCore {
     class StyleMiscData : public RefCounted<StyleMiscData> {
     public:
         static PassRef<StyleMiscData> create() { return adoptRef(*new StyleMiscData); }
-        PassRef<StyleMiscData> copy() const { return adoptRef(*new StyleMiscData(*this)); }
+        PassRef<StyleMiscData> copy() const;
 
         bool operator==(const StyleMiscData&) const;
         bool operator!=(const StyleMiscData& other) const
@@ -217,7 +217,7 @@ namespace WebCore {
     class StyleShadowSVGData : public RefCounted<StyleShadowSVGData> {
     public:
         static PassRef<StyleShadowSVGData> create() { return adoptRef(*new StyleShadowSVGData); }
-        PassRef<StyleShadowSVGData> copy() const { return adoptRef(*new StyleShadowSVGData(*this)); }
+        PassRef<StyleShadowSVGData> copy() const;
 
         bool operator==(const StyleShadowSVGData&) const;
         bool operator!=(const StyleShadowSVGData& other) const
@@ -236,7 +236,7 @@ namespace WebCore {
     class StyleResourceData : public RefCounted<StyleResourceData> {
     public:
         static PassRef<StyleResourceData> create() { return adoptRef(*new StyleResourceData); }
-        PassRef<StyleResourceData> copy() const { return adoptRef(*new StyleResourceData(*this)); }
+        PassRef<StyleResourceData> copy() const;
 
         bool operator==(const StyleResourceData&) const;
         bool operator!=(const StyleResourceData& other) const
@@ -257,7 +257,7 @@ namespace WebCore {
     class StyleInheritedResourceData : public RefCounted<StyleInheritedResourceData> {
     public:
         static PassRef<StyleInheritedResourceData> create() { return adoptRef(*new StyleInheritedResourceData); }
-        PassRef<StyleInheritedResourceData> copy() const { return adoptRef(*new StyleInheritedResourceData(*this)); }
+        PassRef<StyleInheritedResourceData> copy() const;
 
         bool operator==(const StyleInheritedResourceData&) const;
         bool operator!=(const StyleInheritedResourceData& other) const
index 9407c12..c51b825 100644 (file)
@@ -33,7 +33,7 @@ StyleBackgroundData::StyleBackgroundData()
 {
 }
 
-StyleBackgroundData::StyleBackgroundData(const StyleBackgroundData& o)
+inline StyleBackgroundData::StyleBackgroundData(const StyleBackgroundData& o)
     : RefCounted<StyleBackgroundData>()
     , m_background(o.m_background)
     , m_color(o.m_color)
@@ -41,6 +41,11 @@ StyleBackgroundData::StyleBackgroundData(const StyleBackgroundData& o)
 {
 }
 
+PassRef<StyleBackgroundData> StyleBackgroundData::copy() const
+{
+    return adoptRef(*new StyleBackgroundData(*this));
+}
+
 bool StyleBackgroundData::operator==(const StyleBackgroundData& o) const
 {
     return m_background == o.m_background && m_color == o.m_color && m_outline == o.m_outline;
index 13b6151..b2996dc 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore {
 class StyleBackgroundData : public RefCounted<StyleBackgroundData> {
 public:
     static PassRef<StyleBackgroundData> create() { return adoptRef(*new StyleBackgroundData); }
-    PassRef<StyleBackgroundData> copy() const { return adoptRef(*new StyleBackgroundData(*this)); }
+    PassRef<StyleBackgroundData> copy() const;
     ~StyleBackgroundData() { }
 
     bool operator==(const StyleBackgroundData& o) const;
index 3fc00c8..a1187ff 100644 (file)
@@ -49,7 +49,7 @@ StyleBoxData::StyleBoxData()
 {
 }
 
-StyleBoxData::StyleBoxData(const StyleBoxData& o)
+inline StyleBoxData::StyleBoxData(const StyleBoxData& o)
     : RefCounted<StyleBoxData>()
     , m_width(o.m_width)
     , m_height(o.m_height)
@@ -67,6 +67,11 @@ StyleBoxData::StyleBoxData(const StyleBoxData& o)
 {
 }
 
+PassRef<StyleBoxData> StyleBoxData::copy() const
+{
+    return adoptRef(*new StyleBoxData(*this));
+}
+
 bool StyleBoxData::operator==(const StyleBoxData& o) const
 {
     return m_width == o.m_width
index 95ad93d..2c6d033 100644 (file)
@@ -35,7 +35,7 @@ namespace WebCore {
 class StyleBoxData : public RefCounted<StyleBoxData> {
 public:
     static PassRef<StyleBoxData> create() { return adoptRef(*new StyleBoxData); }
-    PassRef<StyleBoxData> copy() const { return adoptRef(*new StyleBoxData(*this)); }
+    PassRef<StyleBoxData> copy() const;
 
     bool operator==(const StyleBoxData& o) const;
     bool operator!=(const StyleBoxData& o) const
index 33c4c98..3c83592 100644 (file)
@@ -37,7 +37,7 @@ StyleDeprecatedFlexibleBoxData::StyleDeprecatedFlexibleBoxData()
 {
 }
 
-StyleDeprecatedFlexibleBoxData::StyleDeprecatedFlexibleBoxData(const StyleDeprecatedFlexibleBoxData& o)
+inline StyleDeprecatedFlexibleBoxData::StyleDeprecatedFlexibleBoxData(const StyleDeprecatedFlexibleBoxData& o)
     : RefCounted<StyleDeprecatedFlexibleBoxData>()
     , flex(o.flex)
     , flex_group(o.flex_group)
@@ -49,6 +49,11 @@ StyleDeprecatedFlexibleBoxData::StyleDeprecatedFlexibleBoxData(const StyleDeprec
 {
 }
 
+PassRef<StyleDeprecatedFlexibleBoxData> StyleDeprecatedFlexibleBoxData::copy() const
+{
+    return adoptRef(*new StyleDeprecatedFlexibleBoxData(*this));
+}
+
 bool StyleDeprecatedFlexibleBoxData::operator==(const StyleDeprecatedFlexibleBoxData& o) const
 {
     return flex == o.flex && flex_group == o.flex_group &&
index 24e3b25..64c9c7f 100644 (file)
@@ -33,7 +33,7 @@ namespace WebCore {
 class StyleDeprecatedFlexibleBoxData : public RefCounted<StyleDeprecatedFlexibleBoxData> {
 public:
     static PassRef<StyleDeprecatedFlexibleBoxData> create() { return adoptRef(*new StyleDeprecatedFlexibleBoxData); }
-    PassRef<StyleDeprecatedFlexibleBoxData> copy() const { return adoptRef(*new StyleDeprecatedFlexibleBoxData(*this)); }
+    PassRef<StyleDeprecatedFlexibleBoxData> copy() const;
 
     bool operator==(const StyleDeprecatedFlexibleBoxData&) const;
     bool operator!=(const StyleDeprecatedFlexibleBoxData& o) const
index e55b25b..d1eb94b 100644 (file)
@@ -39,12 +39,17 @@ StyleFilterData::StyleFilterData()
 {
 }
 
-StyleFilterData::StyleFilterData(const StyleFilterData& o)
+inline StyleFilterData::StyleFilterData(const StyleFilterData& o)
     : RefCounted<StyleFilterData>()
     , m_operations(o.m_operations)
 {
 }
 
+PassRef<StyleFilterData> StyleFilterData::copy() const
+{
+    return adoptRef(*new StyleFilterData(*this));
+}
+
 bool StyleFilterData::operator==(const StyleFilterData& o) const
 {
     return m_operations == o.m_operations;
index a4dd10e..25e2f7a 100644 (file)
@@ -37,7 +37,7 @@ namespace WebCore {
 class StyleFilterData : public RefCounted<StyleFilterData> {
 public:
     static PassRef<StyleFilterData> create() { return adoptRef(*new StyleFilterData); }
-    PassRef<StyleFilterData> copy() const { return adoptRef(*new StyleFilterData(*this)); }
+    PassRef<StyleFilterData> copy() const;
 
     bool operator==(const StyleFilterData&) const;
     bool operator!=(const StyleFilterData& o) const
index a7cfac1..775886b 100644 (file)
@@ -39,7 +39,7 @@ StyleFlexibleBoxData::StyleFlexibleBoxData()
 {
 }
 
-StyleFlexibleBoxData::StyleFlexibleBoxData(const StyleFlexibleBoxData& o)
+inline StyleFlexibleBoxData::StyleFlexibleBoxData(const StyleFlexibleBoxData& o)
     : RefCounted<StyleFlexibleBoxData>()
     , m_flexGrow(o.m_flexGrow)
     , m_flexShrink(o.m_flexShrink)
@@ -49,6 +49,11 @@ StyleFlexibleBoxData::StyleFlexibleBoxData(const StyleFlexibleBoxData& o)
 {
 }
 
+PassRef<StyleFlexibleBoxData> StyleFlexibleBoxData::copy() const
+{
+    return adoptRef(*new StyleFlexibleBoxData(*this));
+}
+
 bool StyleFlexibleBoxData::operator==(const StyleFlexibleBoxData& o) const
 {
     return m_flexGrow == o.m_flexGrow && m_flexShrink == o.m_flexShrink && m_flexBasis == o.m_flexBasis
index 0e54cf3..0e3352c 100644 (file)
@@ -36,7 +36,7 @@ namespace WebCore {
 class StyleFlexibleBoxData : public RefCounted<StyleFlexibleBoxData> {
 public:
     static PassRef<StyleFlexibleBoxData> create() { return adoptRef(*new StyleFlexibleBoxData); }
-    PassRef<StyleFlexibleBoxData> copy() const { return adoptRef(*new StyleFlexibleBoxData(*this)); }
+    PassRef<StyleFlexibleBoxData> copy() const;
 
     bool operator==(const StyleFlexibleBoxData&) const;
     bool operator!=(const StyleFlexibleBoxData& o) const
index e5d183f..10eccc0 100644 (file)
@@ -44,7 +44,7 @@ StyleGridData::StyleGridData()
 {
 }
 
-StyleGridData::StyleGridData(const StyleGridData& o)
+inline StyleGridData::StyleGridData(const StyleGridData& o)
     : RefCounted<StyleGridData>()
     , m_gridColumns(o.m_gridColumns)
     , m_gridRows(o.m_gridRows)
@@ -59,5 +59,10 @@ StyleGridData::StyleGridData(const StyleGridData& o)
 {
 }
 
+PassRef<StyleGridData> StyleGridData::copy() const
+{
+    return adoptRef(*new StyleGridData(*this));
+}
+
 } // namespace WebCore
 
index 7dd5a5f..7fe4c95 100644 (file)
@@ -41,7 +41,7 @@ typedef HashMap<String, Vector<size_t>> NamedGridLinesMap;
 class StyleGridData : public RefCounted<StyleGridData> {
 public:
     static PassRef<StyleGridData> create() { return adoptRef(*new StyleGridData); }
-    PassRef<StyleGridData> copy() const { return adoptRef(*new StyleGridData(*this)); }
+    PassRef<StyleGridData> copy() const;
 
     bool operator==(const StyleGridData& o) const
     {
index 4cfcf5b..0c9929a 100644 (file)
@@ -42,7 +42,7 @@ StyleGridItemData::StyleGridItemData()
 {
 }
 
-StyleGridItemData::StyleGridItemData(const StyleGridItemData& o)
+inline StyleGridItemData::StyleGridItemData(const StyleGridItemData& o)
     : RefCounted<StyleGridItemData>()
     , m_gridColumnStart(o.m_gridColumnStart)
     , m_gridColumnEnd(o.m_gridColumnEnd)
@@ -51,4 +51,9 @@ StyleGridItemData::StyleGridItemData(const StyleGridItemData& o)
 {
 }
 
+PassRef<StyleGridItemData> StyleGridItemData::copy() const
+{
+    return adoptRef(*new StyleGridItemData(*this));
+}
+
 } // namespace WebCore
index e321120..c0f9d98 100644 (file)
@@ -42,7 +42,7 @@ namespace WebCore {
 class StyleGridItemData : public RefCounted<StyleGridItemData> {
 public:
     static PassRef<StyleGridItemData> create() { return adoptRef(*new StyleGridItemData); }
-    PassRef<StyleGridItemData> copy() const { return adoptRef(*new StyleGridItemData(*this)); }
+    PassRef<StyleGridItemData> copy() const;
 
     bool operator==(const StyleGridItemData& o) const
     {
index b87260f..7f2e1c5 100644 (file)
@@ -42,7 +42,7 @@ StyleInheritedData::~StyleInheritedData()
 {
 }
 
-StyleInheritedData::StyleInheritedData(const StyleInheritedData& o)
+inline StyleInheritedData::StyleInheritedData(const StyleInheritedData& o)
     : RefCounted<StyleInheritedData>()
     , horizontal_border_spacing(o.horizontal_border_spacing)
     , vertical_border_spacing(o.vertical_border_spacing)
@@ -56,6 +56,11 @@ StyleInheritedData::StyleInheritedData(const StyleInheritedData& o)
 {
 }
 
+PassRef<StyleInheritedData> StyleInheritedData::copy() const
+{
+    return adoptRef(*new StyleInheritedData(*this));
+}
+
 bool StyleInheritedData::operator==(const StyleInheritedData& o) const
 {
     return line_height == o.line_height
index 7c6e5b9..a65beff 100644 (file)
@@ -37,7 +37,7 @@ namespace WebCore {
 class StyleInheritedData : public RefCounted<StyleInheritedData> {
 public:
     static PassRef<StyleInheritedData> create() { return adoptRef(*new StyleInheritedData); }
-    PassRef<StyleInheritedData> copy() const { return adoptRef(*new StyleInheritedData(*this)); }
+    PassRef<StyleInheritedData> copy() const;
     ~StyleInheritedData();
 
     bool operator==(const StyleInheritedData& o) const;
index f0e824d..5e25e49 100644 (file)
@@ -35,7 +35,7 @@ StyleMarqueeData::StyleMarqueeData()
 {
 }
 
-StyleMarqueeData::StyleMarqueeData(const StyleMarqueeData& o)
+inline StyleMarqueeData::StyleMarqueeData(const StyleMarqueeData& o)
     : RefCounted<StyleMarqueeData>()
     , increment(o.increment)
     , speed(o.speed)
@@ -45,6 +45,11 @@ StyleMarqueeData::StyleMarqueeData(const StyleMarqueeData& o)
 {
 }
 
+PassRef<StyleMarqueeData> StyleMarqueeData::copy() const
+{
+    return adoptRef(*new StyleMarqueeData(*this));
+}
+
 bool StyleMarqueeData::operator==(const StyleMarqueeData& o) const
 {
     return increment == o.increment && speed == o.speed && direction == o.direction &&
index 050a5d1..69e9dcc 100644 (file)
@@ -35,7 +35,7 @@ namespace WebCore {
 class StyleMarqueeData : public RefCounted<StyleMarqueeData> {
 public:
     static PassRef<StyleMarqueeData> create() { return adoptRef(*new StyleMarqueeData); }
-    PassRef<StyleMarqueeData> copy() const { return adoptRef(*new StyleMarqueeData(*this)); }
+    PassRef<StyleMarqueeData> copy() const;
 
     bool operator==(const StyleMarqueeData& o) const;
     bool operator!=(const StyleMarqueeData& o) const
index 19a0d7c..68b6178 100644 (file)
@@ -43,7 +43,7 @@ StyleMultiColData::StyleMultiColData()
 {
 }
 
-StyleMultiColData::StyleMultiColData(const StyleMultiColData& o)
+inline StyleMultiColData::StyleMultiColData(const StyleMultiColData& o)
     : RefCounted<StyleMultiColData>()
     , m_width(o.m_width)
     , m_count(o.m_count)
@@ -63,6 +63,11 @@ StyleMultiColData::StyleMultiColData(const StyleMultiColData& o)
 {
 }
 
+PassRef<StyleMultiColData> StyleMultiColData::copy() const
+{
+    return adoptRef(*new StyleMultiColData(*this));
+}
+
 bool StyleMultiColData::operator==(const StyleMultiColData& o) const
 {
     return m_width == o.m_width && m_count == o.m_count && m_gap == o.m_gap
index 4915707..0e42e6f 100644 (file)
@@ -38,7 +38,7 @@ namespace WebCore {
 class StyleMultiColData : public RefCounted<StyleMultiColData> {
 public:
     static PassRef<StyleMultiColData> create() { return adoptRef(*new StyleMultiColData); }
-    PassRef<StyleMultiColData> copy() const { return adoptRef(*new StyleMultiColData(*this)); }
+    PassRef<StyleMultiColData> copy() const;
     
     bool operator==(const StyleMultiColData& o) const;
     bool operator!=(const StyleMultiColData &o) const
index 26ccedc..14aede9 100644 (file)
@@ -135,7 +135,7 @@ StyleRareInheritedData::StyleRareInheritedData()
 {
 }
 
-StyleRareInheritedData::StyleRareInheritedData(const StyleRareInheritedData& o)
+inline StyleRareInheritedData::StyleRareInheritedData(const StyleRareInheritedData& o)
     : RefCounted<StyleRareInheritedData>()
     , listStyleImage(o.listStyleImage)
     , textStrokeColor(o.textStrokeColor)
@@ -219,6 +219,11 @@ StyleRareInheritedData::StyleRareInheritedData(const StyleRareInheritedData& o)
 {
 }
 
+PassRef<StyleRareInheritedData> StyleRareInheritedData::copy() const
+{
+    return adoptRef(*new StyleRareInheritedData(*this));
+}
+
 StyleRareInheritedData::~StyleRareInheritedData()
 {
 }
index 0497784..0e1cb5a 100644 (file)
@@ -48,7 +48,7 @@ class StyleImage;
 class StyleRareInheritedData : public RefCounted<StyleRareInheritedData> {
 public:
     static PassRef<StyleRareInheritedData> create() { return adoptRef(*new StyleRareInheritedData); }
-    PassRef<StyleRareInheritedData> copy() const { return adoptRef(*new StyleRareInheritedData(*this)); }
+    PassRef<StyleRareInheritedData> copy() const;
     ~StyleRareInheritedData();
 
     bool operator==(const StyleRareInheritedData& o) const;
index 46fac48..95f0760 100644 (file)
@@ -103,7 +103,7 @@ StyleRareNonInheritedData::StyleRareNonInheritedData()
     m_maskBoxImage.setMaskDefaults();
 }
 
-StyleRareNonInheritedData::StyleRareNonInheritedData(const StyleRareNonInheritedData& o)
+inline StyleRareNonInheritedData::StyleRareNonInheritedData(const StyleRareNonInheritedData& o)
     : RefCounted<StyleRareNonInheritedData>()
     , opacity(o.opacity)
     , m_aspectRatioDenominator(o.m_aspectRatioDenominator)
@@ -189,6 +189,11 @@ StyleRareNonInheritedData::StyleRareNonInheritedData(const StyleRareNonInherited
 {
 }
 
+PassRef<StyleRareNonInheritedData> StyleRareNonInheritedData::copy() const
+{
+    return adoptRef(*new StyleRareNonInheritedData(*this));
+}
+
 StyleRareNonInheritedData::~StyleRareNonInheritedData()
 {
 }
index 45a9665..6935c02 100644 (file)
@@ -78,7 +78,7 @@ enum PageSizeType {
 class StyleRareNonInheritedData : public RefCounted<StyleRareNonInheritedData> {
 public:
     static PassRef<StyleRareNonInheritedData> create() { return adoptRef(*new StyleRareNonInheritedData); }
-    PassRef<StyleRareNonInheritedData> copy() const { return adoptRef(*new StyleRareNonInheritedData(*this)); }
+    PassRef<StyleRareNonInheritedData> copy() const;
     ~StyleRareNonInheritedData();
     
     bool operator==(const StyleRareNonInheritedData&) const;
index 8d5e79c..766a70f 100644 (file)
@@ -30,7 +30,7 @@ StyleSurroundData::StyleSurroundData()
 {
 }
 
-StyleSurroundData::StyleSurroundData(const StyleSurroundData& o)
+inline StyleSurroundData::StyleSurroundData(const StyleSurroundData& o)
     : RefCounted<StyleSurroundData>()
     , offset(o.offset)
     , margin(o.margin)
@@ -39,6 +39,11 @@ StyleSurroundData::StyleSurroundData(const StyleSurroundData& o)
 {
 }
 
+PassRef<StyleSurroundData> StyleSurroundData::copy() const
+{
+    return adoptRef(*new StyleSurroundData(*this));
+}
+
 bool StyleSurroundData::operator==(const StyleSurroundData& o) const
 {
     return offset == o.offset && margin == o.margin && padding == o.padding && border == o.border;
index f423f37..0dce318 100644 (file)
@@ -35,7 +35,7 @@ namespace WebCore {
 class StyleSurroundData : public RefCounted<StyleSurroundData> {
 public:
     static PassRef<StyleSurroundData> create() { return adoptRef(*new StyleSurroundData); }
-    PassRef<StyleSurroundData> copy() const { return adoptRef(*new StyleSurroundData(*this)); }
+    PassRef<StyleSurroundData> copy() const;
     
     bool operator==(const StyleSurroundData& o) const;
     bool operator!=(const StyleSurroundData& o) const
index 2baebf9..c3f91ea 100644 (file)
@@ -34,7 +34,7 @@ StyleTransformData::StyleTransformData()
 {
 }
 
-StyleTransformData::StyleTransformData(const StyleTransformData& o)
+inline StyleTransformData::StyleTransformData(const StyleTransformData& o)
     : RefCounted<StyleTransformData>()
     , m_operations(o.m_operations)
     , m_x(o.m_x)
@@ -43,6 +43,11 @@ StyleTransformData::StyleTransformData(const StyleTransformData& o)
 {
 }
 
+PassRef<StyleTransformData> StyleTransformData::copy() const
+{
+    return adoptRef(*new StyleTransformData(*this));
+}
+
 bool StyleTransformData::operator==(const StyleTransformData& o) const
 {
     return m_x == o.m_x && m_y == o.m_y && m_z == o.m_z && m_operations == o.m_operations;
index 24e136f..e82ea20 100644 (file)
@@ -35,7 +35,7 @@ namespace WebCore {
 class StyleTransformData : public RefCounted<StyleTransformData> {
 public:
     static PassRef<StyleTransformData> create() { return adoptRef(*new StyleTransformData); }
-    PassRef<StyleTransformData> copy() const { return adoptRef(*new StyleTransformData(*this)); }
+    PassRef<StyleTransformData> copy() const;
 
     bool operator==(const StyleTransformData& o) const;
     bool operator!=(const StyleTransformData& o) const
index 628a20a..23e6cd2 100644 (file)
@@ -40,7 +40,7 @@ StyleVisualData::~StyleVisualData()
 {
 }
 
-StyleVisualData::StyleVisualData(const StyleVisualData& o)
+inline StyleVisualData::StyleVisualData(const StyleVisualData& o)
     : RefCounted<StyleVisualData>()
     , clip(o.clip)
     , hasClip(o.hasClip)
@@ -52,4 +52,9 @@ StyleVisualData::StyleVisualData(const StyleVisualData& o)
 {
 }
 
+PassRef<StyleVisualData> StyleVisualData::copy() const
+{
+    return adoptRef(*new StyleVisualData(*this));
+}
+
 } // namespace WebCore
index 9df53e1..2b2d630 100644 (file)
@@ -35,7 +35,7 @@ namespace WebCore {
 class StyleVisualData : public RefCounted<StyleVisualData> {
 public:
     static PassRef<StyleVisualData> create() { return adoptRef(*new StyleVisualData); }
-    PassRef<StyleVisualData> copy() const { return adoptRef(*new StyleVisualData(*this)); }
+    PassRef<StyleVisualData> copy() const;
     ~StyleVisualData();
 
     bool operator==(const StyleVisualData& o) const