| 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);
|
|
|