Index: Source/core/html/HTMLCanvasElement.cpp |
diff --git a/Source/core/html/HTMLCanvasElement.cpp b/Source/core/html/HTMLCanvasElement.cpp |
index 54f25ea62e6ae151385ddb556821a6cb4390dd09..15886521fbe1903540cb92094a621192f424ddd6 100644 |
--- a/Source/core/html/HTMLCanvasElement.cpp |
+++ b/Source/core/html/HTMLCanvasElement.cpp |
@@ -97,7 +97,9 @@ HTMLCanvasElement::~HTMLCanvasElement() |
for (HashSet<CanvasObserver*>::iterator it = m_observers.begin(); it != end; ++it) |
(*it)->canvasDestroyed(this); |
+#if !ENABLE(OILPAN) |
m_context.clear(); // Ensure this goes away before the ImageBuffer. |
+#endif |
} |
void HTMLCanvasElement::parseAttribute(const QualifiedName& name, const AtomicString& value) |
@@ -529,6 +531,12 @@ void HTMLCanvasElement::notifySurfaceInvalid() |
} |
} |
+void HTMLCanvasElement::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_context); |
+ HTMLElement::trace(visitor); |
+} |
+ |
void HTMLCanvasElement::updateExternallyAllocatedMemory() const |
{ |
int bufferCount = 0; |