Creating a large number of WebGL contexts should recycle older contexts
https://bugs.webkit.org/show_bug.cgi?id=156689
<rdar://problem/19535330>

Patch by Antoine Quint <graouts@apple.com> on 2016-04-21
Reviewed by Dean Jackson.

Source/WebCore:

We used to stop creating WebGL contexts once a maximum of 64 WebGL contexts had been
created on a page. Other browsers have a limit of 16 concurrent active WebGL contexts
and they lose older contexts when the developer creates a new context, logging a warning
to the console. We now follow the same approach.

Tests: webgl/max-active-contexts-console-warning.html
       webgl/max-active-contexts-gc.html
       webgl/max-active-contexts-oldest-context-lost.html
       webgl/max-active-contexts-webglcontextlost-prevent-default.html

* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::recycleContext):

Prints a warning message to the console indicating that an older WebGL context
will be lost to accomodate for the active contexts limit being reached and loses
the provided context in a way that it may not be recovered by calling `event.preventDefault()`
in the `webglcontextlost` event handler. Finally, we destroy the associated GraphicsContext3D
since it will no longer be useful and it may hold large Open GL resources.

* html/canvas/WebGLRenderingContextBase.h:
* platform/graphics/GraphicsContext3D.h:

Changed GraphicsContext3D::create to return RefPtr instead of PassRefPtr.

* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::create):
* platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::create):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::activeContexts):
(WebCore::GraphicsContext3D::create):

Check if we are at the active contexts limit (16) and recycle the oldest context
in our active contexts list. Calling recycleContext() on a context will call the
GraphicsContext3D destructor and remove it from the active contexts list there.

(WebCore::GraphicsContext3D::~GraphicsContext3D):

Remove the deconstructed context from the active contexts list.

* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::recycleContext):
* platform/graphics/win/GraphicsContext3DWin.cpp:
(WebCore::GraphicsContext3D::create):

LayoutTests:

* webgl/many-contexts-expected.txt:
* webgl/many-contexts.html:

New output for this existing test since a lot of warnings are now logged to
indicate that we've reached the active contexts limit. We also removed the
check that the last context created was null since it no longer is due to this
source change (older contexts are lost instead).

* webgl/max-active-contexts-console-warning-expected.txt: Added.
* webgl/max-active-contexts-console-warning.html: Added.

This new test checks that we log a warning when we've created one context more
than the active contexts limit.

* webgl/max-active-contexts-gc-expected.txt: Added.
* webgl/max-active-contexts-gc.html: Added.

This new test checks that contexts that are garbage collected do not count
agaist the active contexts limit.

* webgl/max-active-contexts-oldest-context-lost-expected.txt: Added.
* webgl/max-active-contexts-oldest-context-lost.html: Added.

This new test checks that older contexts are lost when we reach the active
contexts limit and we create a new context.

* webgl/max-active-contexts-webglcontextlost-prevent-default-expected.txt: Added.
* webgl/max-active-contexts-webglcontextlost-prevent-default.html: Added.

This new test checks that calling `event.preventDefault()` in a `webglcontextlost`
event handler does not prevent a context from being lost when the active contexts
limit is reached.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@199819 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 7030dd6..0e9da2b 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,44 @@
+2016-04-21  Antoine Quint  <graouts@apple.com>
+
+        Creating a large number of WebGL contexts should recycle older contexts
+        https://bugs.webkit.org/show_bug.cgi?id=156689
+        <rdar://problem/19535330>
+
+        Reviewed by Dean Jackson.
+
+        * webgl/many-contexts-expected.txt:
+        * webgl/many-contexts.html:
+
+        New output for this existing test since a lot of warnings are now logged to
+        indicate that we've reached the active contexts limit. We also removed the
+        check that the last context created was null since it no longer is due to this
+        source change (older contexts are lost instead).
+
+        * webgl/max-active-contexts-console-warning-expected.txt: Added.
+        * webgl/max-active-contexts-console-warning.html: Added.
+
+        This new test checks that we log a warning when we've created one context more
+        than the active contexts limit.
+
+        * webgl/max-active-contexts-gc-expected.txt: Added.
+        * webgl/max-active-contexts-gc.html: Added.
+
+        This new test checks that contexts that are garbage collected do not count
+        agaist the active contexts limit.
+
+        * webgl/max-active-contexts-oldest-context-lost-expected.txt: Added.
+        * webgl/max-active-contexts-oldest-context-lost.html: Added.
+
+        This new test checks that older contexts are lost when we reach the active
+        contexts limit and we create a new context.
+
+        * webgl/max-active-contexts-webglcontextlost-prevent-default-expected.txt: Added.
+        * webgl/max-active-contexts-webglcontextlost-prevent-default.html: Added.
+
+        This new test checks that calling `event.preventDefault()` in a `webglcontextlost`
+        event handler does not prevent a context from being lost when the active contexts
+        limit is reached.
+
 2016-04-21  Dave Hyatt  <hyatt@apple.com>
 
         Don't hyphenate the last word in a paragraph of text.
diff --git a/LayoutTests/webgl/many-contexts-expected.txt b/LayoutTests/webgl/many-contexts-expected.txt
index 5fa9829..e473d8b 100644
--- a/LayoutTests/webgl/many-contexts-expected.txt
+++ b/LayoutTests/webgl/many-contexts-expected.txt
@@ -1 +1,985 @@
-PASS if this test did not crash and 1000th context was null.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+CONSOLE MESSAGE: line 12: There are too many active WebGL contexts on this page, the oldest context will be lost.
+PASS if this test did not crash.
diff --git a/LayoutTests/webgl/many-contexts.html b/LayoutTests/webgl/many-contexts.html
index b4872af..8cbc97b 100644
--- a/LayoutTests/webgl/many-contexts.html
+++ b/LayoutTests/webgl/many-contexts.html
@@ -1,4 +1,4 @@
-<div id="result">PASS if this test did not crash and 1000th context was null.</div>
+<div id="result">PASS if this test did not crash.</div>
 <script>
 if (window.testRunner) {
     testRunner.waitUntilDone();
@@ -11,8 +11,6 @@
         canvii[i].height = 1;
         var context = canvii[i].getContext("webgl", null);
     }
-    if (canvii[1000] != null)
-        document.getElementById("result").innerHTML = "FAIL";
     testRunner.notifyDone();
 }
 </script>
diff --git a/LayoutTests/webgl/max-active-contexts-console-warning-expected.txt b/LayoutTests/webgl/max-active-contexts-console-warning-expected.txt
new file mode 100644
index 0000000..07a14c9
--- /dev/null
+++ b/LayoutTests/webgl/max-active-contexts-console-warning-expected.txt
@@ -0,0 +1,2 @@
+CONSOLE MESSAGE: line 9: There are too many active WebGL contexts on this page, the oldest context will be lost.
+
diff --git a/LayoutTests/webgl/max-active-contexts-console-warning.html b/LayoutTests/webgl/max-active-contexts-console-warning.html
new file mode 100644
index 0000000..9e10bab
--- /dev/null
+++ b/LayoutTests/webgl/max-active-contexts-console-warning.html
@@ -0,0 +1,11 @@
+<script>
+// Tests that we log a warning to the console once we attempt to create a context and we passed the limit.
+if (window.testRunner)
+    testRunner.dumpAsText();
+
+var maxNumberOfActiveContexts = 16;
+var contexts = [];
+for (var i = 0; i <= maxNumberOfActiveContexts; i++)
+    contexts[i] = document.createElement("canvas").getContext("webgl");
+
+</script>
diff --git a/LayoutTests/webgl/max-active-contexts-gc-expected.txt b/LayoutTests/webgl/max-active-contexts-gc-expected.txt
new file mode 100644
index 0000000..7a8fea5
--- /dev/null
+++ b/LayoutTests/webgl/max-active-contexts-gc-expected.txt
@@ -0,0 +1,2 @@
+CONSOLE MESSAGE: line 10: There are too many active WebGL contexts on this page, the oldest context will be lost.
+
diff --git a/LayoutTests/webgl/max-active-contexts-gc.html b/LayoutTests/webgl/max-active-contexts-gc.html
new file mode 100644
index 0000000..805581e
--- /dev/null
+++ b/LayoutTests/webgl/max-active-contexts-gc.html
@@ -0,0 +1,47 @@
+<script>
+function forceGC() {
+    try {
+        for (var ndx = 0; ndx < 99000; ndx++)
+            var numbers = new Float64Array(50 * 1024);
+    } catch (e) { }
+}
+
+function addContext() {
+    contexts.push(document.createElement("canvas").getContext("webgl"));
+}
+
+if (window.testRunner) {
+    testRunner.waitUntilDone();
+    testRunner.dumpAsText();
+}
+
+var maxNumberOfActiveContexts = 16;
+var contextsToKeep = 8;
+var contexts = [];
+
+// Create the max number of active WebGL contexts.
+while (contexts.length < maxNumberOfActiveContexts)
+    addContext();
+
+// Now remove some of those contexts from this array so they may be garbage collected.
+while (contexts.length > contextsToKeep)
+    contexts.shift();
+
+setTimeout(function() {
+    if (window.GCController)
+        GCController.collect();
+    else
+        forceGC();
+
+    // Add contexts until we get to the limit then add one more. This should only
+    // produce a single warning that an older context will be lost.
+    setTimeout(function() {
+        while (contexts.length < maxNumberOfActiveContexts + 1)
+            addContext();
+
+        if (window.testRunner)
+            testRunner.notifyDone();
+    });
+});
+
+</script>
diff --git a/LayoutTests/webgl/max-active-contexts-oldest-context-lost-expected.txt b/LayoutTests/webgl/max-active-contexts-oldest-context-lost-expected.txt
new file mode 100644
index 0000000..7051961
--- /dev/null
+++ b/LayoutTests/webgl/max-active-contexts-oldest-context-lost-expected.txt
@@ -0,0 +1,2 @@
+CONSOLE MESSAGE: line 9: There are too many active WebGL contexts on this page, the oldest context will be lost.
+PASS if the first context was lost due to creating too many WebGL contexts.
diff --git a/LayoutTests/webgl/max-active-contexts-oldest-context-lost.html b/LayoutTests/webgl/max-active-contexts-oldest-context-lost.html
new file mode 100644
index 0000000..975659a
--- /dev/null
+++ b/LayoutTests/webgl/max-active-contexts-oldest-context-lost.html
@@ -0,0 +1,13 @@
+<div id="result">PASS if the first context was lost due to creating too many WebGL contexts.</div>
+<script>
+if (window.testRunner)
+    testRunner.dumpAsText();
+
+var maxNumberOfActiveContexts = 16;
+var contexts = [];
+for (var i = 0; i <= maxNumberOfActiveContexts; i++)
+    contexts[i] = document.createElement("canvas").getContext("webgl");
+
+if (!contexts[0].isContextLost())
+    document.getElementById("result").textContent = "FAIL";
+</script>
diff --git a/LayoutTests/webgl/max-active-contexts-webglcontextlost-prevent-default-expected.txt b/LayoutTests/webgl/max-active-contexts-webglcontextlost-prevent-default-expected.txt
new file mode 100644
index 0000000..2ecf648
--- /dev/null
+++ b/LayoutTests/webgl/max-active-contexts-webglcontextlost-prevent-default-expected.txt
@@ -0,0 +1,2 @@
+CONSOLE MESSAGE: line 19: There are too many active WebGL contexts on this page, the oldest context will be lost.
+PASS if the first context was lost due to creating too many WebGL contexts even though preventDefault() was called when a webglcontextlost event was dispatched.
diff --git a/LayoutTests/webgl/max-active-contexts-webglcontextlost-prevent-default.html b/LayoutTests/webgl/max-active-contexts-webglcontextlost-prevent-default.html
new file mode 100644
index 0000000..36847a9
--- /dev/null
+++ b/LayoutTests/webgl/max-active-contexts-webglcontextlost-prevent-default.html
@@ -0,0 +1,21 @@
+<div id="result">PASS if the first context was lost due to creating too many WebGL contexts even though <code>preventDefault()</code> was called when a <code>webglcontextlost</code> event was dispatched.</div>
+<script>
+if (window.testRunner) {
+    testRunner.waitUntilDone();
+    testRunner.dumpAsText();
+}
+
+var maxNumberOfActiveContexts = 16;
+var contexts = [];
+for (var i = 0; i <= maxNumberOfActiveContexts; i++) {
+    var canvas = document.createElement("canvas");
+    canvas.addEventListener("webglcontextlost", function(event) {
+        event.preventDefault();
+        if (!contexts[0].isContextLost())
+            document.getElementById("result").textContent = "FAIL";
+        if (window.testRunner)
+            testRunner.notifyDone();
+    });
+    contexts[i] = canvas.getContext("webgl");
+}
+</script>
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 3c64f4b..d2b4539 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,56 @@
+2016-04-21  Antoine Quint  <graouts@apple.com>
+
+        Creating a large number of WebGL contexts should recycle older contexts
+        https://bugs.webkit.org/show_bug.cgi?id=156689
+        <rdar://problem/19535330>
+
+        Reviewed by Dean Jackson.
+
+        We used to stop creating WebGL contexts once a maximum of 64 WebGL contexts had been
+        created on a page. Other browsers have a limit of 16 concurrent active WebGL contexts
+        and they lose older contexts when the developer creates a new context, logging a warning
+        to the console. We now follow the same approach.
+
+        Tests: webgl/max-active-contexts-console-warning.html
+               webgl/max-active-contexts-gc.html
+               webgl/max-active-contexts-oldest-context-lost.html
+               webgl/max-active-contexts-webglcontextlost-prevent-default.html
+
+        * html/canvas/WebGLRenderingContextBase.cpp:
+        (WebCore::WebGLRenderingContextBase::recycleContext):
+
+        Prints a warning message to the console indicating that an older WebGL context
+        will be lost to accomodate for the active contexts limit being reached and loses
+        the provided context in a way that it may not be recovered by calling `event.preventDefault()`
+        in the `webglcontextlost` event handler. Finally, we destroy the associated GraphicsContext3D
+        since it will no longer be useful and it may hold large Open GL resources.
+
+        * html/canvas/WebGLRenderingContextBase.h:
+        * platform/graphics/GraphicsContext3D.h:
+
+        Changed GraphicsContext3D::create to return RefPtr instead of PassRefPtr.
+
+        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
+        (WebCore::GraphicsContext3D::create):
+        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
+        (WebCore::GraphicsContext3D::create):
+        * platform/graphics/mac/GraphicsContext3DMac.mm:
+        (WebCore::activeContexts):
+        (WebCore::GraphicsContext3D::create):
+
+        Check if we are at the active contexts limit (16) and recycle the oldest context
+        in our active contexts list. Calling recycleContext() on a context will call the
+        GraphicsContext3D destructor and remove it from the active contexts list there.
+
+        (WebCore::GraphicsContext3D::~GraphicsContext3D):
+
+        Remove the deconstructed context from the active contexts list.
+
+        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+        (WebCore::GraphicsContext3D::recycleContext):
+        * platform/graphics/win/GraphicsContext3DWin.cpp:
+        (WebCore::GraphicsContext3D::create):
+
 2016-04-21  Dave Hyatt  <hyatt@apple.com>
 
         Don't hyphenate the last word in a paragraph of text.
diff --git a/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp b/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
index b236305..882cd60 100644
--- a/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
+++ b/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
@@ -3773,6 +3773,15 @@
     m_contextGroup->loseContextGroup(mode);
 }
 
+void WebGLRenderingContextBase::recycleContext()
+{
+    printWarningToConsole("There are too many active WebGL contexts on this page, the oldest context will be lost.");
+    // Using SyntheticLostContext means the developer won't be able to force the restoration
+    // of the context by calling preventDefault() in a "webglcontextlost" event handler.
+    forceLostContext(SyntheticLostContext);
+    destroyGraphicsContext3D();
+}
+
 void WebGLRenderingContextBase::loseContextImpl(WebGLRenderingContextBase::LostContextMode mode)
 {
     if (isContextLost())
diff --git a/Source/WebCore/html/canvas/WebGLRenderingContextBase.h b/Source/WebCore/html/canvas/WebGLRenderingContextBase.h
index 6a690ae..8bcf6eb 100644
--- a/Source/WebCore/html/canvas/WebGLRenderingContextBase.h
+++ b/Source/WebCore/html/canvas/WebGLRenderingContextBase.h
@@ -336,6 +336,7 @@
         SyntheticLostContext
     };
     void forceLostContext(LostContextMode);
+    void recycleContext();
     void forceRestoreContext();
     void loseContextImpl(LostContextMode);
 
diff --git a/Source/WebCore/platform/graphics/GraphicsContext3D.h b/Source/WebCore/platform/graphics/GraphicsContext3D.h
index b114c11..ed897b2 100644
--- a/Source/WebCore/platform/graphics/GraphicsContext3D.h
+++ b/Source/WebCore/platform/graphics/GraphicsContext3D.h
@@ -768,7 +768,7 @@
     void setContextLostCallback(std::unique_ptr<ContextLostCallback>);
     void setErrorMessageCallback(std::unique_ptr<ErrorMessageCallback>);
 
-    static PassRefPtr<GraphicsContext3D> create(Attributes, HostWindow*, RenderStyle = RenderOffscreen);
+    static RefPtr<GraphicsContext3D> create(Attributes, HostWindow*, RenderStyle = RenderOffscreen);
     static PassRefPtr<GraphicsContext3D> createForCurrentGLContext();
     ~GraphicsContext3D();
 
@@ -1138,6 +1138,7 @@
     void markLayerComposited();
     bool layerComposited() const;
     void forceContextLost();
+    void recycleContext();
 
     void paintRenderingResultsToCanvas(ImageBuffer*);
     PassRefPtr<ImageData> paintRenderingResultsToImageData();
@@ -1265,7 +1266,6 @@
 
 private:
     GraphicsContext3D(Attributes, HostWindow*, RenderStyle = RenderOffscreen);
-    static int numActiveContexts;
     static int GPUCheckCounter;
 
     // Helper for packImageData/extractImageData/extractTextureData which implement packing of pixel
diff --git a/Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp b/Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp
index 58281d3..93a6590 100644
--- a/Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp
+++ b/Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp
@@ -56,7 +56,7 @@
 
 namespace WebCore {
 
-PassRefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attributes attributes, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
+RefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attributes attributes, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
 {
     // This implementation doesn't currently support rendering directly to the HostWindow.
     if (renderStyle == RenderDirectlyToHostWindow)
@@ -73,8 +73,7 @@
     if (!success)
         return 0;
 
-    RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attributes, hostWindow, renderStyle));
-    return context.release();
+    return adoptRef(new GraphicsContext3D(attributes, hostWindow, renderStyle));
 }
 
 GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attributes, HostWindow*, GraphicsContext3D::RenderStyle renderStyle)
diff --git a/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp b/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp
index cbe8284..d3f8614 100644
--- a/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp
+++ b/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp
@@ -30,10 +30,10 @@
 
 namespace WebCore {
 
-PassRefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, RenderStyle renderStyle)
+RefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, RenderStyle renderStyle)
 {
     RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attrs, hostWindow, renderStyle));
-    return context->m_private ? context.release() : 0;
+    return context->m_private ? context : nullptr;
 }
 
 GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
diff --git a/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm b/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm
index 28800bf..7e8e425 100644
--- a/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm
+++ b/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm
@@ -64,8 +64,13 @@
 
 namespace WebCore {
 
-const int maxActiveContexts = 64;
-int GraphicsContext3D::numActiveContexts = 0;
+static Vector<GraphicsContext3D*>& activeContexts()
+{
+    static NeverDestroyed<Vector<GraphicsContext3D*>> s_activeContexts;
+    return s_activeContexts;
+}
+
+const int MaxActiveContexts = 16;
 const int GPUStatusCheckThreshold = 5;
 int GraphicsContext3D::GPUCheckCounter = 0;
 
@@ -113,13 +118,20 @@
 }
 #endif // !PLATFORM(IOS)
 
-PassRefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
+RefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
 {
     // This implementation doesn't currently support rendering directly to the HostWindow.
     if (renderStyle == RenderDirectlyToHostWindow)
         return nullptr;
 
-    if (numActiveContexts >= maxActiveContexts)
+    Vector<GraphicsContext3D*>& contexts = activeContexts();
+    
+    if (contexts.size() >= MaxActiveContexts)
+        contexts.at(0)->recycleContext();
+    
+    // Calling recycleContext() above should have lead to the graphics context being
+    // destroyed and thus removed from the active contexts list.
+    if (contexts.size() >= MaxActiveContexts)
         return nullptr;
 
     RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attrs, hostWindow, renderStyle));
@@ -127,9 +139,9 @@
     if (!context->m_contextObj)
         return nullptr;
 
-    numActiveContexts++;
+    contexts.append(context.get());
 
-    return context.release();
+    return context;
 }
 
 GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
@@ -335,8 +347,10 @@
         CGLDestroyContext(m_contextObj);
 #endif
         [m_webGLLayer setContext:nullptr];
-        numActiveContexts--;
     }
+
+    ASSERT(activeContexts().contains(this));
+    activeContexts().removeFirst(this);
 }
 
 #if PLATFORM(IOS)
diff --git a/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp b/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
index d8f16e2..b3ce04f 100644
--- a/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
+++ b/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
@@ -1851,6 +1851,14 @@
 #endif
 }
 
+void GraphicsContext3D::recycleContext()
+{
+#if ENABLE(WEBGL)
+    if (m_webglContext)
+        m_webglContext->recycleContext();
+#endif
+}
+
 void GraphicsContext3D::texImage2DDirect(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, GC3Denum format, GC3Denum type, const void* pixels)
 {
     makeContextCurrent();
diff --git a/Source/WebCore/platform/graphics/win/GraphicsContext3DWin.cpp b/Source/WebCore/platform/graphics/win/GraphicsContext3DWin.cpp
index b6088ef..4ad75b6 100644
--- a/Source/WebCore/platform/graphics/win/GraphicsContext3DWin.cpp
+++ b/Source/WebCore/platform/graphics/win/GraphicsContext3DWin.cpp
@@ -45,11 +45,11 @@
 
 namespace WebCore {
 
-PassRefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attributes attributes, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
+RefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attributes attributes, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
 {
     // This implementation doesn't currently support rendering directly to the HostWindow.
     if (renderStyle == RenderDirectlyToHostWindow)
-        return 0;
+        return nullptr;
 
     static bool initialized = false;
     static bool success = true;
@@ -60,10 +60,9 @@
         initialized = true;
     }
     if (!success)
-        return 0;
+        return nullptr;
 
-    RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attributes, hostWindow, renderStyle));
-    return context.release();
+    return adoptRef(new GraphicsContext3D(attributes, hostWindow, renderStyle));
 }
 
 GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attributes, HostWindow*, GraphicsContext3D::RenderStyle renderStyle)