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

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

Issue 2091713002: Specialize base::IsWeakReceiver for Blink weak pointers to support base::Bind (1/5) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: +#include for build fix Created 4 years, 6 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 cdfc165754a0c6ea7129fb5e832593a80cc2646f..56be35281ca5f4dd14b339e92764dde2b08220f6 100644
--- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
+++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
@@ -921,7 +921,7 @@ WebGLRenderingContextBase::WebGLRenderingContextBase(HTMLCanvasElement* passedCa
}
m_drawingBuffer = buffer.release();
- m_drawingBuffer->addNewMailboxCallback(WTF::bind(&WebGLRenderingContextBase::notifyCanvasContextChanged, createWeakThisPointer()));
+ m_drawingBuffer->addNewMailboxCallback(WTF::bind(&WebGLRenderingContextBase::notifyCanvasContextChanged, wrapWeakPersistent(this)));
drawingBuffer()->bind(GL_FRAMEBUFFER);
setupFlags();
@@ -1041,13 +1041,13 @@ void WebGLRenderingContextBase::initializeNewContext()
drawingBuffer()->contextProvider()->setLostContextCallback(
WebClosure(bind(
&WebGLRenderingContextBase::forceLostContext,
- createWeakThisPointer(),
+ wrapWeakPersistent(this),
WebGLRenderingContextBase::RealLostContext,
WebGLRenderingContextBase::Auto)));
drawingBuffer()->contextProvider()->setErrorMessageCallback(
WebFunction<void(const char*, int32_t)>(bind(
&WebGLRenderingContextBase::onErrorMessage,
- createWeakThisPointer())));
+ wrapWeakPersistent(this))));
// If WebGL 2, the PRIMITIVE_RESTART_FIXED_INDEX should be always enabled.
// See the section <Primitive Restart is Always Enabled> in WebGL 2 spec:
@@ -1158,6 +1158,7 @@ void WebGLRenderingContextBase::destroyContext()
drawingBuffer()->contextProvider()->setLostContextCallback(WebClosure());
drawingBuffer()->contextProvider()->setErrorMessageCallback(WebFunction<void(const char*, int32_t)>());
+ drawingBuffer()->addNewMailboxCallback(nullptr);
ASSERT(drawingBuffer());
m_drawingBuffer->beginDestruction();
@@ -6109,7 +6110,7 @@ void WebGLRenderingContextBase::maybeRestoreContext(Timer<WebGLRenderingContextB
}
m_drawingBuffer = buffer.release();
- m_drawingBuffer->addNewMailboxCallback(WTF::bind(&WebGLRenderingContextBase::notifyCanvasContextChanged, createWeakThisPointer()));
+ m_drawingBuffer->addNewMailboxCallback(WTF::bind(&WebGLRenderingContextBase::notifyCanvasContextChanged, wrapWeakPersistent(this)));
drawingBuffer()->bind(GL_FRAMEBUFFER);
m_lostContextErrors.clear();
« no previous file with comments | « third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h ('k') | third_party/WebKit/Source/modules/webusb/USB.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698