Index: Source/core/html/canvas/OESVertexArrayObject.cpp |
diff --git a/Source/core/html/canvas/OESVertexArrayObject.cpp b/Source/core/html/canvas/OESVertexArrayObject.cpp |
index 063dc0f4a95c1ddad693d84a1ed2348f667deab2..997990271083a49e7214ce7cf4c12486e6f56367 100644 |
--- a/Source/core/html/canvas/OESVertexArrayObject.cpp |
+++ b/Source/core/html/canvas/OESVertexArrayObject.cpp |
@@ -55,54 +55,58 @@ PassRefPtrWillBeRawPtr<OESVertexArrayObject> OESVertexArrayObject::create(WebGLR |
PassRefPtrWillBeRawPtr<WebGLVertexArrayObjectOES> OESVertexArrayObject::createVertexArrayOES() |
{ |
- if (isLost()) |
+ WebGLExtensionScopedContext scoped(this); |
+ if (scoped.isLost()) |
return nullptr; |
- RefPtrWillBeRawPtr<WebGLVertexArrayObjectOES> o = WebGLVertexArrayObjectOES::create(m_context, WebGLVertexArrayObjectOES::VaoTypeUser); |
- m_context->addContextObject(o.get()); |
+ RefPtrWillBeRawPtr<WebGLVertexArrayObjectOES> o = WebGLVertexArrayObjectOES::create(scoped.context(), WebGLVertexArrayObjectOES::VaoTypeUser); |
+ scoped.context()->addContextObject(o.get()); |
return o.release(); |
} |
void OESVertexArrayObject::deleteVertexArrayOES(WebGLVertexArrayObjectOES* arrayObject) |
{ |
- if (!arrayObject || isLost()) |
+ WebGLExtensionScopedContext scoped(this); |
+ if (!arrayObject || scoped.isLost()) |
return; |
- if (!arrayObject->isDefaultObject() && arrayObject == m_context->m_boundVertexArrayObject) |
- m_context->setBoundVertexArrayObject(nullptr); |
+ if (!arrayObject->isDefaultObject() && arrayObject == scoped.context()->m_boundVertexArrayObject) |
+ scoped.context()->setBoundVertexArrayObject(nullptr); |
- arrayObject->deleteObject(m_context->webContext()); |
+ arrayObject->deleteObject(scoped.context()->webContext()); |
} |
GLboolean OESVertexArrayObject::isVertexArrayOES(WebGLVertexArrayObjectOES* arrayObject) |
{ |
- if (!arrayObject || isLost()) |
+ WebGLExtensionScopedContext scoped(this); |
+ if (!arrayObject || scoped.isLost()) |
return 0; |
if (!arrayObject->hasEverBeenBound()) |
return 0; |
- return m_context->webContext()->isVertexArrayOES(arrayObject->object()); |
+ return scoped.context()->webContext()->isVertexArrayOES(arrayObject->object()); |
} |
void OESVertexArrayObject::bindVertexArrayOES(WebGLVertexArrayObjectOES* arrayObject) |
{ |
- if (isLost()) |
+ WebGLExtensionScopedContext scoped(this); |
+ if (scoped.isLost()) |
return; |
- if (arrayObject && (arrayObject->isDeleted() || !arrayObject->validate(0, context()))) { |
- m_context->webContext()->synthesizeGLError(GL_INVALID_OPERATION); |
+ if (arrayObject && (arrayObject->isDeleted() || !arrayObject->validate(0, scoped.context()))) { |
+ scoped.context()->webContext()->synthesizeGLError(GL_INVALID_OPERATION); |
return; |
} |
if (arrayObject && !arrayObject->isDefaultObject() && arrayObject->object()) { |
- m_context->webContext()->bindVertexArrayOES(arrayObject->object()); |
+ scoped.context()->webContext()->bindVertexArrayOES(arrayObject->object()); |
arrayObject->setHasEverBeenBound(); |
- m_context->setBoundVertexArrayObject(arrayObject); |
+ scoped.context()->setBoundVertexArrayObject(arrayObject); |
} else { |
- m_context->webContext()->bindVertexArrayOES(0); |
- m_context->setBoundVertexArrayObject(nullptr); |
+ scoped.context()->webContext()->bindVertexArrayOES(0); |
+ scoped.context()->setBoundVertexArrayObject(nullptr); |
} |
} |