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 5ca7f02851af3d9a8950c6e5695d30daf779ca20..e8677e30f41e0d846753573a44882d51c8ae9a37 100644 |
--- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
+++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp |
@@ -205,8 +205,15 @@ void WebGLRenderingContextBase::removeFromEvictedList(WebGLRenderingContextBase* |
void WebGLRenderingContextBase::willDestroyContext(WebGLRenderingContextBase* context) |
{ |
+#if ENABLE(OILPAN) |
+ // These two sets keep weak references to their contexts; |
+ // verify that the GC already removed the |context| entries. |
+ ASSERT(!forciblyEvictedContexts().contains(context)); |
+ ASSERT(!activeContexts().contains(context)); |
+#else |
removeFromEvictedList(context); |
deactivateContext(context); |
+#endif |
// Try to re-enable the oldest inactive contexts. |
while (activeContexts().size() < maxGLActiveContexts && forciblyEvictedContexts().size()) { |