+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.
{
}
-NinePieceImageData::NinePieceImageData(const NinePieceImageData& other)
+inline NinePieceImageData::NinePieceImageData(const NinePieceImageData& other)
: RefCounted<NinePieceImageData>()
, fill(other.fill)
, horizontalRule(other.horizontalRule)
{
}
+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())
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); }
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)
{
}
+PassRef<SVGRenderStyle> SVGRenderStyle::copy() const
+{
+ return adoptRef(*new SVGRenderStyle(*this));
+}
+
SVGRenderStyle::~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;
{
}
-StyleFillData::StyleFillData(const StyleFillData& other)
+inline StyleFillData::StyleFillData(const StyleFillData& other)
: RefCounted<StyleFillData>()
, opacity(other.opacity)
, paintType(other.paintType)
{
}
+PassRef<StyleFillData> StyleFillData::copy() const
+{
+ return adoptRef(*new StyleFillData(*this));
+}
+
bool StyleFillData::operator==(const StyleFillData& other) const
{
return opacity == other.opacity
{
}
-StyleStrokeData::StyleStrokeData(const StyleStrokeData& other)
+inline StyleStrokeData::StyleStrokeData(const StyleStrokeData& other)
: RefCounted<StyleStrokeData>()
, opacity(other.opacity)
, miterLimit(other.miterLimit)
{
}
+PassRef<StyleStrokeData> StyleStrokeData::copy() const
+{
+ return adoptRef(*new StyleStrokeData(*this));
+}
+
bool StyleStrokeData::operator==(const StyleStrokeData& other) const
{
return width == other.width
{
}
-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
{
}
-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;
{
}
-StyleMiscData::StyleMiscData(const StyleMiscData& other)
+inline StyleMiscData::StyleMiscData(const StyleMiscData& other)
: RefCounted<StyleMiscData>()
, floodColor(other.floodColor)
, floodOpacity(other.floodOpacity)
{
}
+PassRef<StyleMiscData> StyleMiscData::copy() const
+{
+ return adoptRef(*new StyleMiscData(*this));
+}
+
bool StyleMiscData::operator==(const StyleMiscData& other) const
{
return floodOpacity == other.floodOpacity
{
}
-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))
{
}
-StyleResourceData::StyleResourceData(const StyleResourceData& other)
+inline StyleResourceData::StyleResourceData(const StyleResourceData& other)
: RefCounted<StyleResourceData>()
, clipper(other.clipper)
, filter(other.filter)
{
}
+PassRef<StyleResourceData> StyleResourceData::copy() const
+{
+ return adoptRef(*new StyleResourceData(*this));
+}
+
bool StyleResourceData::operator==(const StyleResourceData& other) const
{
return clipper == other.clipper
{
}
-StyleInheritedResourceData::StyleInheritedResourceData(const StyleInheritedResourceData& other)
+inline StyleInheritedResourceData::StyleInheritedResourceData(const StyleInheritedResourceData& other)
: RefCounted<StyleInheritedResourceData>()
, markerStart(other.markerStart)
, markerMid(other.markerMid)
{
}
+PassRef<StyleInheritedResourceData> StyleInheritedResourceData::copy() const
+{
+ return adoptRef(*new StyleInheritedResourceData(*this));
+}
+
bool StyleInheritedResourceData::operator==(const StyleInheritedResourceData& other) const
{
return markerStart == other.markerStart
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
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
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
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
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
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
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
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
{
}
-StyleBackgroundData::StyleBackgroundData(const StyleBackgroundData& o)
+inline StyleBackgroundData::StyleBackgroundData(const StyleBackgroundData& o)
: RefCounted<StyleBackgroundData>()
, m_background(o.m_background)
, m_color(o.m_color)
{
}
+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;
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;
{
}
-StyleBoxData::StyleBoxData(const StyleBoxData& o)
+inline StyleBoxData::StyleBoxData(const StyleBoxData& o)
: RefCounted<StyleBoxData>()
, m_width(o.m_width)
, m_height(o.m_height)
{
}
+PassRef<StyleBoxData> StyleBoxData::copy() const
+{
+ return adoptRef(*new StyleBoxData(*this));
+}
+
bool StyleBoxData::operator==(const StyleBoxData& o) const
{
return m_width == o.m_width
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
{
}
-StyleDeprecatedFlexibleBoxData::StyleDeprecatedFlexibleBoxData(const StyleDeprecatedFlexibleBoxData& o)
+inline StyleDeprecatedFlexibleBoxData::StyleDeprecatedFlexibleBoxData(const StyleDeprecatedFlexibleBoxData& o)
: RefCounted<StyleDeprecatedFlexibleBoxData>()
, flex(o.flex)
, flex_group(o.flex_group)
{
}
+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 &&
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
{
}
-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;
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
{
}
-StyleFlexibleBoxData::StyleFlexibleBoxData(const StyleFlexibleBoxData& o)
+inline StyleFlexibleBoxData::StyleFlexibleBoxData(const StyleFlexibleBoxData& o)
: RefCounted<StyleFlexibleBoxData>()
, m_flexGrow(o.m_flexGrow)
, m_flexShrink(o.m_flexShrink)
{
}
+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
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
{
}
-StyleGridData::StyleGridData(const StyleGridData& o)
+inline StyleGridData::StyleGridData(const StyleGridData& o)
: RefCounted<StyleGridData>()
, m_gridColumns(o.m_gridColumns)
, m_gridRows(o.m_gridRows)
{
}
+PassRef<StyleGridData> StyleGridData::copy() const
+{
+ return adoptRef(*new StyleGridData(*this));
+}
+
} // namespace WebCore
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
{
{
}
-StyleGridItemData::StyleGridItemData(const StyleGridItemData& o)
+inline StyleGridItemData::StyleGridItemData(const StyleGridItemData& o)
: RefCounted<StyleGridItemData>()
, m_gridColumnStart(o.m_gridColumnStart)
, m_gridColumnEnd(o.m_gridColumnEnd)
{
}
+PassRef<StyleGridItemData> StyleGridItemData::copy() const
+{
+ return adoptRef(*new StyleGridItemData(*this));
+}
+
} // 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
{
{
}
-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)
{
}
+PassRef<StyleInheritedData> StyleInheritedData::copy() const
+{
+ return adoptRef(*new StyleInheritedData(*this));
+}
+
bool StyleInheritedData::operator==(const StyleInheritedData& o) const
{
return line_height == o.line_height
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;
{
}
-StyleMarqueeData::StyleMarqueeData(const StyleMarqueeData& o)
+inline StyleMarqueeData::StyleMarqueeData(const StyleMarqueeData& o)
: RefCounted<StyleMarqueeData>()
, increment(o.increment)
, speed(o.speed)
{
}
+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 &&
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
{
}
-StyleMultiColData::StyleMultiColData(const StyleMultiColData& o)
+inline StyleMultiColData::StyleMultiColData(const StyleMultiColData& o)
: RefCounted<StyleMultiColData>()
, m_width(o.m_width)
, m_count(o.m_count)
{
}
+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
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
{
}
-StyleRareInheritedData::StyleRareInheritedData(const StyleRareInheritedData& o)
+inline StyleRareInheritedData::StyleRareInheritedData(const StyleRareInheritedData& o)
: RefCounted<StyleRareInheritedData>()
, listStyleImage(o.listStyleImage)
, textStrokeColor(o.textStrokeColor)
{
}
+PassRef<StyleRareInheritedData> StyleRareInheritedData::copy() const
+{
+ return adoptRef(*new StyleRareInheritedData(*this));
+}
+
StyleRareInheritedData::~StyleRareInheritedData()
{
}
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;
m_maskBoxImage.setMaskDefaults();
}
-StyleRareNonInheritedData::StyleRareNonInheritedData(const StyleRareNonInheritedData& o)
+inline StyleRareNonInheritedData::StyleRareNonInheritedData(const StyleRareNonInheritedData& o)
: RefCounted<StyleRareNonInheritedData>()
, opacity(o.opacity)
, m_aspectRatioDenominator(o.m_aspectRatioDenominator)
{
}
+PassRef<StyleRareNonInheritedData> StyleRareNonInheritedData::copy() const
+{
+ return adoptRef(*new StyleRareNonInheritedData(*this));
+}
+
StyleRareNonInheritedData::~StyleRareNonInheritedData()
{
}
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;
{
}
-StyleSurroundData::StyleSurroundData(const StyleSurroundData& o)
+inline StyleSurroundData::StyleSurroundData(const StyleSurroundData& o)
: RefCounted<StyleSurroundData>()
, offset(o.offset)
, margin(o.margin)
{
}
+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;
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
{
}
-StyleTransformData::StyleTransformData(const StyleTransformData& o)
+inline StyleTransformData::StyleTransformData(const StyleTransformData& o)
: RefCounted<StyleTransformData>()
, m_operations(o.m_operations)
, m_x(o.m_x)
{
}
+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;
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
{
}
-StyleVisualData::StyleVisualData(const StyleVisualData& o)
+inline StyleVisualData::StyleVisualData(const StyleVisualData& o)
: RefCounted<StyleVisualData>()
, clip(o.clip)
, hasClip(o.hasClip)
{
}
+PassRef<StyleVisualData> StyleVisualData::copy() const
+{
+ return adoptRef(*new StyleVisualData(*this));
+}
+
} // 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