void WebGLProgram::cacheInfoIfNeeded() { if (m_infoValid) return; if (!object()) return; blink::WebGraphicsContext3D* context = getAWebGraphicsContext3D(); if (!context) return; GLint linkStatus = 0; context->getProgramiv(object(), GL_LINK_STATUS, &linkStatus); m_linkStatus = linkStatus; if (m_linkStatus) cacheActiveAttribLocations(context); m_infoValid = true; }
void WebGLObject::deleteObject(blink::WebGraphicsContext3D* context3d) { m_deleted = true; if (!m_object) return; if (!hasGroupOrContext()) return; if (!m_attachmentCount) { if (!context3d) context3d = getAWebGraphicsContext3D(); if (context3d) deleteObjectImpl(context3d, m_object); m_object = 0; } }