Index: Source/core/html/canvas/WebGLRenderingContextBase.h |
diff --git a/Source/core/html/canvas/WebGLRenderingContextBase.h b/Source/core/html/canvas/WebGLRenderingContextBase.h |
index 1985368850ac478a56b4d97686c6647e8bf46a6b..8ee5a906ef1b4f7212eb4e73b534b65ab5a1148d 100644 |
--- a/Source/core/html/canvas/WebGLRenderingContextBase.h |
+++ b/Source/core/html/canvas/WebGLRenderingContextBase.h |
@@ -97,7 +97,6 @@ class WebGLRenderbuffer; |
class WebGLShader; |
class WebGLShaderPrecisionFormat; |
class WebGLSharedObject; |
-class WebGLSharedWebGraphicsContext3D; |
class WebGLUniformLocation; |
class WebGLVertexArrayObjectBase; |
@@ -374,6 +373,10 @@ public: |
void populateSubscribedValuesCHROMIUM(GLenum target); |
void uniformValuebufferCHROMIUM(const WebGLUniformLocation*, GLenum target, GLenum subscription); |
+ // Eagerly finalize WebGLRenderingContextBase in order for it |
+ // to (first) be able to detach its WebGLContextObjects, before |
+ // they're later swept and finalized. |
+ EAGERLY_FINALIZE(); |
DECLARE_VIRTUAL_TRACE(); |
// Returns approximate gpu memory allocated per pixel. |
@@ -413,10 +416,6 @@ protected: |
PassRefPtr<DrawingBuffer> createDrawingBuffer(PassOwnPtr<WebGraphicsContext3D>); |
void setupFlags(); |
-#if ENABLE(OILPAN) |
- PassRefPtr<WebGLSharedWebGraphicsContext3D> sharedWebGraphicsContext3D() const; |
-#endif |
- |
// CanvasRenderingContext implementation. |
virtual bool is3d() const override { return true; } |
virtual bool isAccelerated() const override { return true; } |
@@ -458,11 +457,7 @@ protected: |
// Structure for rendering to a DrawingBuffer, instead of directly |
// to the back-buffer of m_context. |
-#if ENABLE(OILPAN) |
- RefPtr<WebGLSharedWebGraphicsContext3D> m_sharedWebGraphicsContext3D; |
-#else |
RefPtr<DrawingBuffer> m_drawingBuffer; |
-#endif |
DrawingBuffer* drawingBuffer() const; |
RefPtr<WebGLContextGroup> m_contextGroup; |