Index: Source/core/dom/ElementRareData.h |
diff --git a/Source/core/dom/ElementRareData.h b/Source/core/dom/ElementRareData.h |
index eaa50af15aa99fc1e4df794a9d5f498d29f6446b..5f692a8743b1a370c00a7a8b07ad0a1bd228a6c4 100644 |
--- a/Source/core/dom/ElementRareData.h |
+++ b/Source/core/dom/ElementRareData.h |
@@ -32,6 +32,7 @@ |
#include "core/html/ClassList.h" |
#include "core/html/ime/InputMethodContext.h" |
#include "core/rendering/style/StyleInheritedData.h" |
+#include "platform/heap/Handle.h" |
#include "wtf/OwnPtr.h" |
namespace WebCore { |
@@ -40,9 +41,9 @@ class HTMLElement; |
class ElementRareData : public NodeRareData { |
public: |
- static PassOwnPtr<ElementRareData> create(RenderObject* renderer) |
+ static ElementRareData* create(RenderObject* renderer) |
{ |
- return adoptPtr(new ElementRareData(renderer)); |
+ return new ElementRareData(renderer); |
} |
~ElementRareData(); |
@@ -119,16 +120,7 @@ public: |
void setCustomElementDefinition(PassRefPtr<CustomElementDefinition> definition) { m_customElementDefinition = definition; } |
CustomElementDefinition* customElementDefinition() const { return m_customElementDefinition.get(); } |
- void trace(Visitor* visitor) |
- { |
- // FIXME: Oilpan: Implement real tracing of the |
- // ElementRareData when it has been moved to the |
- // oilpan heap and move the ElementShadow tracing |
- // to the ElementShadow when that has been moved |
- // to the oilpan heap. |
- visitor->trace(m_shadow); |
- visitor->trace(m_cssomWrapper); |
- } |
+ void traceAfterDispatch(Visitor*); |
private: |
short m_tabindex; |
@@ -137,11 +129,10 @@ private: |
OwnPtr<DatasetDOMStringMap> m_dataset; |
OwnPtr<ClassList> m_classList; |
- OwnPtr<ElementShadow> m_shadow; |
+ OwnPtrWillBeMember<ElementShadow> m_shadow; |
OwnPtr<NamedNodeMap> m_attributeMap; |
OwnPtr<InputMethodContext> m_inputMethodContext; |
- OwnPtrWillBePersistent<ActiveAnimations> m_activeAnimations; |
- GC_PLUGIN_IGNORE("http://crbug.com/370453") |
+ OwnPtrWillBeMember<ActiveAnimations> m_activeAnimations; |
OwnPtrWillBeMember<InlineCSSStyleDeclaration> m_cssomWrapper; |
RefPtr<RenderStyle> m_computedStyle; |
@@ -158,11 +149,14 @@ inline ElementRareData::ElementRareData(RenderObject* renderer) |
: NodeRareData(renderer) |
, m_tabindex(0) |
{ |
+ m_isElementRareData = true; |
} |
inline ElementRareData::~ElementRareData() |
{ |
+#if !ENABLE(OILPAN) |
ASSERT(!m_shadow); |
+#endif |
ASSERT(!m_generatedBefore); |
ASSERT(!m_generatedAfter); |
ASSERT(!m_backdrop); |