summaryrefslogtreecommitdiff
path: root/dom/canvas/WebGL1Context.cpp
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commitad18d877ddd2a44d98fa12ccd3dbbcf4d0ac4299 (patch)
tree10027f336435511475e392454359edea8e25895d /dom/canvas/WebGL1Context.cpp
parent15477ed9af4859dacb069040b5d4de600803d3bc (diff)
downloaduxp-ad18d877ddd2a44d98fa12ccd3dbbcf4d0ac4299.tar.gz
Add m-esr52 at 52.6.0
Diffstat (limited to 'dom/canvas/WebGL1Context.cpp')
-rw-r--r--dom/canvas/WebGL1Context.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/dom/canvas/WebGL1Context.cpp b/dom/canvas/WebGL1Context.cpp
new file mode 100644
index 0000000000..c1818a3f95
--- /dev/null
+++ b/dom/canvas/WebGL1Context.cpp
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "WebGL1Context.h"
+
+#include "mozilla/dom/WebGLRenderingContextBinding.h"
+#include "mozilla/Telemetry.h"
+#include "WebGLFormats.h"
+
+namespace mozilla {
+
+/*static*/ WebGL1Context*
+WebGL1Context::Create()
+{
+ return new WebGL1Context();
+}
+
+WebGL1Context::WebGL1Context()
+ : WebGLContext()
+{
+}
+
+WebGL1Context::~WebGL1Context()
+{
+}
+
+UniquePtr<webgl::FormatUsageAuthority>
+WebGL1Context::CreateFormatUsage(gl::GLContext* gl) const
+{
+ return webgl::FormatUsageAuthority::CreateForWebGL1(gl);
+}
+
+JSObject*
+WebGL1Context::WrapObject(JSContext* cx, JS::Handle<JSObject*> givenProto)
+{
+ return dom::WebGLRenderingContextBinding::Wrap(cx, this, givenProto);
+}
+
+} // namespace mozilla
+
+nsresult
+NS_NewCanvasRenderingContextWebGL(nsIDOMWebGLRenderingContext** out_result)
+{
+ mozilla::Telemetry::Accumulate(mozilla::Telemetry::CANVAS_WEBGL_USED, 1);
+
+ nsIDOMWebGLRenderingContext* ctx = mozilla::WebGL1Context::Create();
+
+ NS_ADDREF(*out_result = ctx);
+ return NS_OK;
+}