Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1041)

Unified Diff: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp

Issue 2401893002: [wrapper-tracing] WebGL and friends: Add write barriers (Closed)
Patch Set: Rework to use TraceWrapperMember Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
diff --git a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
index b41167dffcebd9d3496aece0e5c3baa3def9f761..00a8b3881a6b87df0a05305d39d73f31bab5db3e 100644
--- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
+++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
@@ -27,6 +27,7 @@
#include "bindings/core/v8/ExceptionMessages.h"
#include "bindings/core/v8/ExceptionState.h"
+#include "bindings/core/v8/ScriptWrappableVisitor.h"
#include "bindings/core/v8/V8BindingMacros.h"
#include "bindings/modules/v8/HTMLCanvasElementOrOffscreenCanvas.h"
#include "bindings/modules/v8/WebGLAny.h"
@@ -977,6 +978,11 @@ WebGLRenderingContextBase::WebGLRenderingContextBase(
&WebGLRenderingContextBase::dispatchContextLostEvent),
m_restoreAllowed(false),
m_restoreTimer(this, &WebGLRenderingContextBase::maybeRestoreContext),
+ m_boundArrayBuffer(this, nullptr),
+ m_boundVertexArrayObject(this, nullptr),
+ m_currentProgram(this, nullptr),
+ m_framebufferBinding(this, nullptr),
+ m_renderbufferBinding(this, nullptr),
m_generatedImageCache(4),
m_synthesizedErrorsToConsole(true),
m_numGLErrorsToConsoleAllowed(maxGLErrorsAllowedToConsole),
@@ -1767,6 +1773,7 @@ void WebGLRenderingContextBase::bindTexture(GLenum target,
synthesizeGLError(GL_INVALID_ENUM, "bindTexture", "invalid target");
return;
}
+ ScriptWrappableVisitor::writeBarrier(this, texture);
Michael Lippautz 2016/10/12 10:57:12 TextureUnitState didn't use Member<> types before.
haraken 2016/10/12 11:51:28 How about changing Member<>s in TextureUnitState t
Michael Lippautz 2016/10/12 12:50:38 Done. This exposes one corner case where the comp
contextGL()->BindTexture(target, objectOrZero(texture));
if (texture) {

Powered by Google App Engine
This is Rietveld 408576698