Index: Source/core/rendering/RenderWidget.cpp |
diff --git a/Source/core/rendering/RenderWidget.cpp b/Source/core/rendering/RenderWidget.cpp |
index 2d76543b739a523c3c0cdd9ba7949c036df664f9..97276523c27cd8b117603c190e67f02fc98a7d4d 100644 |
--- a/Source/core/rendering/RenderWidget.cpp |
+++ b/Source/core/rendering/RenderWidget.cpp |
@@ -31,7 +31,6 @@ |
#include "core/rendering/RenderLayer.h" |
#include "core/rendering/RenderLayerBacking.h" |
#include "core/rendering/RenderView.h" |
-#include "core/rendering/RenderWidgetProtector.h" |
using namespace std; |
@@ -112,11 +111,9 @@ void RenderWidget::destroy() |
{ |
willBeDestroyed(); |
- // Grab the arena from node()->document()->renderArena() before clearing the node pointer. |
// Clear the node before deref-ing, as this may be deleted when deref is called. |
- RenderArena* arena = renderArena(); |
clearNode(); |
- deref(arena); |
+ deref(); |
} |
RenderWidget::~RenderWidget() |
@@ -148,7 +145,6 @@ bool RenderWidget::setWidgetGeometry(const LayoutRect& frame) |
m_clipRect = clipRect; |
- RenderWidgetProtector protector(this); |
RefPtr<Node> protectedNode(node()); |
m_widget->setFrameRect(newFrame); |
@@ -318,10 +314,10 @@ void RenderWidget::setOverlapTestResult(bool isOverlapped) |
toFrameView(m_widget.get())->setIsOverlapped(isOverlapped); |
} |
-void RenderWidget::deref(RenderArena *arena) |
+void RenderWidget::deref() |
{ |
if (--m_refCount <= 0) |
- arenaDelete(arena, this); |
+ postDestroy(); |
} |
void RenderWidget::updateWidgetPosition() |