summaryrefslogtreecommitdiffstats
path: root/dom/webidl/HTMLCanvasElement.webidl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/webidl/HTMLCanvasElement.webidl')
-rw-r--r--dom/webidl/HTMLCanvasElement.webidl69
1 files changed, 69 insertions, 0 deletions
diff --git a/dom/webidl/HTMLCanvasElement.webidl b/dom/webidl/HTMLCanvasElement.webidl
new file mode 100644
index 0000000000..3de8401cb8
--- /dev/null
+++ b/dom/webidl/HTMLCanvasElement.webidl
@@ -0,0 +1,69 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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/.
+ *
+ * The origin of this IDL file is
+ * http://www.whatwg.org/specs/web-apps/current-work/#the-canvas-element
+ * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and
+ * Opera Software ASA. You are granted a license to use, reproduce
+ * and create derivative works of this document.
+ */
+
+interface nsISupports;
+
+typedef (HTMLCanvasElement or OffscreenCanvas) CanvasSource;
+
+[Exposed=Window]
+interface HTMLCanvasElement : HTMLElement {
+ [HTMLConstructor] constructor();
+
+ [CEReactions, Pure, SetterThrows]
+ attribute unsigned long width;
+ [CEReactions, Pure, SetterThrows]
+ attribute unsigned long height;
+
+ [Throws]
+ nsISupports? getContext(DOMString contextId, optional any contextOptions = null);
+
+ [Throws, NeedsSubjectPrincipal]
+ DOMString toDataURL(optional DOMString type = "",
+ optional any encoderOptions);
+ [Throws, NeedsSubjectPrincipal]
+ undefined toBlob(BlobCallback callback,
+ optional DOMString type = "",
+ optional any encoderOptions);
+};
+
+// Mozilla specific bits
+partial interface HTMLCanvasElement {
+ [Pure, SetterThrows]
+ attribute boolean mozOpaque;
+
+ attribute PrintCallback? mozPrintCallback;
+
+ [Throws, Pref="canvas.capturestream.enabled", NeedsSubjectPrincipal]
+ CanvasCaptureMediaStream captureStream(optional double frameRate);
+};
+
+// For OffscreenCanvas
+// Reference: https://wiki.whatwg.org/wiki/OffscreenCanvas
+partial interface HTMLCanvasElement {
+ [Pref="gfx.offscreencanvas.enabled", Throws]
+ OffscreenCanvas transferControlToOffscreen();
+};
+
+[ChromeOnly,
+ Exposed=Window]
+interface MozCanvasPrintState
+{
+ // A canvas rendering context.
+ readonly attribute nsISupports context;
+
+ // To be called when rendering to the context is done.
+ undefined done();
+};
+
+callback PrintCallback = undefined(MozCanvasPrintState ctx);
+
+callback BlobCallback = undefined(Blob? blob);