DataRef<T> should use Ref<T> internally.
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Oct 2013 12:15:36 +0000 (12:15 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Oct 2013 12:15:36 +0000 (12:15 +0000)
commitc9cc9f6371c7ef6fdb4475ce91522de499939eb0
treea98cb248157cb2daf4fc5dc3c6cc8d7cafaf3d8f
parent8aba31f18246aa84daa8c609931a77c33fcb1113
DataRef<T> should use Ref<T> internally.
<https://webkit.org/b/122953>

DataRef is used to hold RenderStyle substructures, and due to the
way style inheritance is implemented, DataRef will always point to
a live object.

Codify this by making DataRef::m_data a Ref, and making all methods
that create substructure objects return PassRef.

Reviewed by Antti Koivisto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
26 files changed:
Source/WebCore/ChangeLog
Source/WebCore/rendering/style/DataRef.h
Source/WebCore/rendering/style/NinePieceImage.cpp
Source/WebCore/rendering/style/NinePieceImage.h
Source/WebCore/rendering/style/RenderStyle.cpp
Source/WebCore/rendering/style/SVGRenderStyle.cpp
Source/WebCore/rendering/style/SVGRenderStyle.h
Source/WebCore/rendering/style/SVGRenderStyleDefs.h
Source/WebCore/rendering/style/StyleBackgroundData.h
Source/WebCore/rendering/style/StyleBoxData.h
Source/WebCore/rendering/style/StyleDeprecatedFlexibleBoxData.h
Source/WebCore/rendering/style/StyleFilterData.h
Source/WebCore/rendering/style/StyleFlexibleBoxData.h
Source/WebCore/rendering/style/StyleGridData.h
Source/WebCore/rendering/style/StyleGridItemData.h
Source/WebCore/rendering/style/StyleInheritedData.h
Source/WebCore/rendering/style/StyleMarqueeData.h
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.h
Source/WebCore/rendering/style/StyleTransformData.h
Source/WebCore/rendering/style/StyleVariableData.h
Source/WebCore/rendering/style/StyleVisualData.h