Bug 1316486 - BindRenderbuffer should return invalid operation with a deleted render buffer input, r?mtseng draft
authorpeter chang <pchang@mozilla.com>
Thu, 10 Nov 2016 11:41:09 +0800
changeset 437007 d63a5b7bebe79f5fd9f7e9dccefb094dc7300757
parent 435182 f13e90d496cf1bc6dfc4fd398da33e4afe785bde
child 536516 df4ae12562f31ee5894cfdf612aa326320f9698c
push id35281
push userbmo:howareyou322@gmail.com
push dateThu, 10 Nov 2016 07:02:00 +0000
reviewersmtseng
bugs1316486
milestone52.0a1
Bug 1316486 - BindRenderbuffer should return invalid operation with a deleted render buffer input, r?mtseng MozReview-Commit-ID: Gu976wWy352
dom/canvas/WebGLContextGL.cpp
--- a/dom/canvas/WebGLContextGL.cpp
+++ b/dom/canvas/WebGLContextGL.cpp
@@ -165,19 +165,19 @@ WebGLContext::BindRenderbuffer(GLenum ta
         return;
 
     if (target != LOCAL_GL_RENDERBUFFER)
         return ErrorInvalidEnumInfo("bindRenderbuffer: target", target);
 
     if (!ValidateObjectAllowDeletedOrNull("bindRenderbuffer", wrb))
         return;
 
-    // silently ignore a deleted buffer
-    if (wrb && wrb->IsDeleted())
-        return;
+    if (wrb && wrb->IsDeleted()) {
+        return ErrorInvalidOperation("BindRenderbuffer: bind a deleted buffer");
+    }
 
     // Usually, we would now call into glBindRenderbuffer. However, since we have to
     // potentially emulate packed-depth-stencil, there's not a specific renderbuffer that
     // we know we should bind here.
     // Instead, we do all renderbuffer binding lazily.
 
     if (wrb) {
         wrb->mHasBeenBound = true;