| Index: Source/core/rendering/RenderObject.cpp
|
| diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp
|
| index 4db5c5918070ac914af0f20b1068121555da0b79..fb0ed819965f994dd3f0ce54a241ced646505b9b 100644
|
| --- a/Source/core/rendering/RenderObject.cpp
|
| +++ b/Source/core/rendering/RenderObject.cpp
|
| @@ -121,6 +121,9 @@ struct SameSizeAsRenderObject {
|
| void* pointers[5];
|
| #if ENABLE(ASSERT)
|
| unsigned m_debugBitfields : 2;
|
| +#if ENABLE(OILPAN)
|
| + unsigned m_oilpanBitfields : 1;
|
| +#endif
|
| #endif
|
| unsigned m_bitfields;
|
| unsigned m_bitfields2;
|
| @@ -132,6 +135,7 @@ COMPILE_ASSERT(sizeof(RenderObject) == sizeof(SameSizeAsRenderObject), RenderObj
|
|
|
| bool RenderObject::s_affectsParentBlock = false;
|
|
|
| +#if !ENABLE(OILPAN)
|
| void* RenderObject::operator new(size_t sz)
|
| {
|
| ASSERT(isMainThread());
|
| @@ -143,6 +147,7 @@ void RenderObject::operator delete(void* ptr)
|
| ASSERT(isMainThread());
|
| partitionFree(ptr);
|
| }
|
| +#endif
|
|
|
| RenderObject* RenderObject::createObject(Element* element, RenderStyle* style)
|
| {
|
| @@ -213,12 +218,15 @@ RenderObject::RenderObject(Node* node)
|
| : ImageResourceClient()
|
| , m_style(nullptr)
|
| , m_node(node)
|
| - , m_parent(0)
|
| - , m_previous(0)
|
| - , m_next(0)
|
| + , m_parent(nullptr)
|
| + , m_previous(nullptr)
|
| + , m_next(nullptr)
|
| #if ENABLE(ASSERT)
|
| , m_hasAXObject(false)
|
| , m_setNeedsLayoutForbidden(false)
|
| +#if ENABLE(OILPAN)
|
| + , m_didCallDestroy(false)
|
| +#endif
|
| #endif
|
| , m_bitfields(node)
|
| {
|
| @@ -231,11 +239,22 @@ RenderObject::~RenderObject()
|
| {
|
| ResourceLoadPriorityOptimizer::resourceLoadPriorityOptimizer()->removeRenderObject(this);
|
| ASSERT(!m_hasAXObject);
|
| +#if ENABLE(OILPAN)
|
| + ASSERT(m_didCallDestroy);
|
| +#endif
|
| #ifndef NDEBUG
|
| renderObjectCounter.decrement();
|
| #endif
|
| }
|
|
|
| +void RenderObject::trace(Visitor* visitor)
|
| +{
|
| + visitor->trace(m_node);
|
| + visitor->trace(m_parent);
|
| + visitor->trace(m_previous);
|
| + visitor->trace(m_next);
|
| +}
|
| +
|
| String RenderObject::debugName() const
|
| {
|
| StringBuilder name;
|
| @@ -2806,6 +2825,9 @@ void RenderObject::destroyAndCleanupAnonymousWrappers()
|
|
|
| void RenderObject::destroy()
|
| {
|
| +#if ENABLE(ASSERT) && ENABLE(OILPAN)
|
| + m_didCallDestroy = true;
|
| +#endif
|
| willBeDestroyed();
|
| postDestroy();
|
| }
|
| @@ -2840,8 +2862,9 @@ void RenderObject::postDestroy()
|
|
|
| removeShapeImageClient(m_style->shapeOutside());
|
| }
|
| -
|
| +#if !ENABLE(OILPAN)
|
| delete this;
|
| +#endif
|
| }
|
|
|
| PositionWithAffinity RenderObject::positionForPoint(const LayoutPoint&)
|
|
|