summaryrefslogtreecommitdiffstats
path: root/dom/webidl/TestFunctions.webidl
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
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /dom/webidl/TestFunctions.webidl
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'dom/webidl/TestFunctions.webidl')
-rw-r--r--dom/webidl/TestFunctions.webidl41
1 files changed, 41 insertions, 0 deletions
diff --git a/dom/webidl/TestFunctions.webidl b/dom/webidl/TestFunctions.webidl
new file mode 100644
index 000000000..c0db0b644
--- /dev/null
+++ b/dom/webidl/TestFunctions.webidl
@@ -0,0 +1,41 @@
+/* -*- 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/.
+ */
+
+// A dumping ground for random testing functions
+
+callback PromiseReturner = Promise<any>();
+
+[Pref="dom.expose_test_interfaces",
+ Constructor]
+interface TestFunctions {
+ [Throws]
+ static void throwUncatchableException();
+
+ // Simply returns its argument. Can be used to test Promise
+ // argument processing behavior.
+ static Promise<any> passThroughPromise(Promise<any> arg);
+
+ // Returns whatever Promise the given PromiseReturner returned.
+ [Throws]
+ static Promise<any> passThroughCallbackPromise(PromiseReturner callback);
+
+ // Some basic tests for string binding round-tripping behavior.
+ void setStringData(DOMString arg);
+
+ // Get the string data, using an nsAString argument on the C++ side.
+ // This will just use Assign/operator=, whatever that does.
+ DOMString getStringDataAsAString();
+
+ // Get the string data, but only "length" chars of it, using an
+ // nsAString argument on the C++ side. This will always copy on the
+ // C++ side.
+ DOMString getStringDataAsAString(unsigned long length);
+
+ // Get the string data, but only "length" chars of it, using a
+ // DOMString argument on the C++ side and trying to hand it
+ // stringbuffers. If length not passed, use our full length.
+ DOMString getStringDataAsDOMString(optional unsigned long length);
+};