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 52911aac884f5ef13ef4378f9c0090842392c58e..c0fc987a1e983a35a2e69864a43f45e2110b6f5c 100644 (file)
@@ -1,3 +1,18 @@
+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.
index 8863ab75b3331d0f7f83c34b306c193cb81f2e2b..43bd1b043d124096e01359d884a2634d74fe0368 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 082fd19e73563f3239743c6dd6ebd25185004395..e349241476143ae13e3cc13c48ec7e38dfb1451a 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 32b5137f78765776f968dfc90741ffc6d6dd1f6c..06c793f69bd18cd13ffeb0a3b5339d784d4b5eb2 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 3507d4143e5ebd8467968bb1aa58efff29a33094..ff07db54c400c1f6fc488b41b3e9adee6266bc56 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 e8c8098598e936b56a54fbe4f351b48312d57def..aed179b9c958f67309f0ab2084bda42710f2de1d 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 2f18e864661be05bf841a793802761692d65946c..9c840bc0fe0e46c6d4d2413e9b9bbc9e6db2b5d4 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 9407c1283c9365db10454d30bdff3b22f55ee2d1..c51b8255fcf8c4f29d2bb468df273c4cd5adfbc2 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 13b6151e4f3358729ba777cb72c2ec22875343cb..b2996dcd80fdbcefd7085ed193a6fd48c77ce5fc 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 3fc00c8dc4359ad8366f9a5964f036e2c0ead394..a1187ff366dbe595dba15e10403a709846d074aa 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 95ad93d9c9903dec15bda04247cffcdf3209d155..2c6d03353eab0fa5e44459ecae304252a1b74a6c 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 33c4c98476a813dd59ad1452ef1293dfd1abe55b..3c835923ae78e55e52340d31796bc118f05fd908 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 24e3b25a80fe8e3ba094cd45650ddd691a9ee1d1..64c9c7fa097d740551f83d3d726ee85283a5ae8e 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 e55b25bdd5a57ca4517cbf05c06134a6a617e74c..d1eb94bd495521ead57c9600e69cd19f0cab736a 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 a4dd10e3fccaad457ce77c5f7c3f50e9ac3150cb..25e2f7a3bcbff1f76ab11fc1ec61ed0d644ba7d1 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 a7cfac1ed18c555956269349929ce7fd905e82ce..775886b6e3d04a026c03bbb730dcf84ce45d7e11 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 0e54cf31f70281088b8cd322b1330ec771139edd..0e3352c09b42df4b6a9f8debfdc02fabf2302514 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 e5d183f34d7881ec3b3d83c48af600b9ea2ed973..10eccc0d8c3d4a76815d6c72bbcc3243eb801cd1 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 7dd5a5f40ed433e1c4b7c93e41e8a24a52954a49..7fe4c95881d682e3b64d78acc2cbef067476ab3f 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 4cfcf5b326a56585cdaea0e02773c531dca2925f..0c9929a7d2bad0f21c8824ee2dee5003d6a12d52 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 e321120723b3c54adef5dfd328587e9ad69822c5..c0f9d987aa5ae9f22cf60cfaf23b0e0f0182e12c 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 b87260fa48144d90a415f8dec9049edeecc46078..7f2e1c55157e00833992271adb885b20ef18c531 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 7c6e5b90c05f9d8191f4579965a8e5917caecf86..a65beff4718eb314e6bae53a4ad0adb6e0d4a0f8 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 f0e824dafcc2217d26d5cecfeaea98d58dfa43ce..5e25e498396bd7be99ae23b6c15122c4a32ed603 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 050a5d1cfaa03aa3bca111746699cbff0da0befd..69e9dcc3c6e75eb98fe928153558eb9d84d72319 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 19a0d7cbe06bb7e44fed3e2f3fbeb430e740b1a9..68b6178ed34f7c731506c6fa8c3423da6cfffe2c 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 49157073dd2c07c59e682d8828489896ad28b9a8..0e42e6f29eb23132cdd6a7f9263d090faea6f04c 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 26ccedce08362d0b96b40bf1bd3a538be579abb0..14aede93c09fe620c17127163312d97b2ecd5463 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 0497784b98544e86443e899293fb0f88fac37354..0e1cb5a28b59de1a6a791108a67590e05f1f2b70 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 46fac482431b9ba33e15232673b9ce47729eaee7..95f076090e109113b604ca53aa7f58ca062cd0cb 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 45a96655171e2338fe2070caf2eb41d4e57cf4ec..6935c023cc9e5513b98bfd4c2a1d9e51a78104d6 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 8d5e79cb373b16296818bfa4a8a77b2b11f7d797..766a70f461c2848c67c86e852df8c11a94b52d4d 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 f423f37f202e1c67346a8b1d149ec591ee1e5bae..0dce31811a842a9174d2a176fb785040ef1bca6a 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 2baebf9b145a319eacf0371b20ff44b8ace5bff3..c3f91ea2a052d0f0a336f70b7dc2f0b0fb51080e 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 24e136f325ad468fe26a5df060030d1327b1806f..e82ea206382a8f1e105149be60d5b94d5ec02dee 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 628a20acebb618f138052f4bef96892ba1f44dbd..23e6cd225902520f8211ef6d906b6b96c06c6461 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 9df53e1ad9177736dc1f4e69ddbddd78eb93b246..2b2d6302784ff5824cd1c63bdfce950b44868bda 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