summaryrefslogtreecommitdiff
path: root/dom
diff options
context:
space:
mode:
Diffstat (limited to 'dom')
-rw-r--r--dom/base/test/chrome/chrome.ini2
-rw-r--r--dom/base/test/mochitest.ini2
-rw-r--r--dom/bindings/moz.build29
-rw-r--r--dom/bindings/test/Makefile.in21
-rw-r--r--dom/bindings/test/TestBindingHeader.h1464
-rw-r--r--dom/bindings/test/TestCImplementedInterface.h43
-rw-r--r--dom/bindings/test/TestCodeGen.webidl1281
-rw-r--r--dom/bindings/test/TestDictionary.webidl9
-rw-r--r--dom/bindings/test/TestExampleGen.webidl815
-rw-r--r--dom/bindings/test/TestFunctions.cpp94
-rw-r--r--dom/bindings/test/TestFunctions.h52
-rw-r--r--dom/bindings/test/TestInterfaceIterableDouble.cpp82
-rw-r--r--dom/bindings/test/TestInterfaceIterableDouble.h51
-rw-r--r--dom/bindings/test/TestInterfaceIterableDoubleUnion.cpp83
-rw-r--r--dom/bindings/test/TestInterfaceIterableDoubleUnion.h51
-rw-r--r--dom/bindings/test/TestInterfaceIterableSingle.cpp77
-rw-r--r--dom/bindings/test/TestInterfaceIterableSingle.h51
-rw-r--r--dom/bindings/test/TestInterfaceJS.js166
-rw-r--r--dom/bindings/test/TestInterfaceJS.manifest4
-rw-r--r--dom/bindings/test/TestInterfaceJSMaplike.js38
-rw-r--r--dom/bindings/test/TestInterfaceMaplike.cpp84
-rw-r--r--dom/bindings/test/TestInterfaceMaplike.h52
-rw-r--r--dom/bindings/test/TestInterfaceMaplikeObject.cpp88
-rw-r--r--dom/bindings/test/TestInterfaceMaplikeObject.h52
-rw-r--r--dom/bindings/test/TestInterfaceSetlike.cpp58
-rw-r--r--dom/bindings/test/TestInterfaceSetlike.h46
-rw-r--r--dom/bindings/test/TestInterfaceSetlikeNode.cpp58
-rw-r--r--dom/bindings/test/TestInterfaceSetlikeNode.h46
-rw-r--r--dom/bindings/test/TestJSImplGen.webidl840
-rw-r--r--dom/bindings/test/TestJSImplInheritanceGen.webidl29
-rw-r--r--dom/bindings/test/TestTypedef.webidl7
-rw-r--r--dom/bindings/test/chrome.ini22
-rw-r--r--dom/bindings/test/file_InstanceOf.html12
-rw-r--r--dom/bindings/test/file_bug775543.html5
-rw-r--r--dom/bindings/test/file_document_location_set_via_xray.html5
-rw-r--r--dom/bindings/test/file_dom_xrays.html24
-rw-r--r--dom/bindings/test/file_focuser.html24
-rw-r--r--dom/bindings/test/file_fullScreenPropertyAccessor.html24
-rw-r--r--dom/bindings/test/file_proxies_via_xray.html8
-rw-r--r--dom/bindings/test/forOf_iframe.html13
-rw-r--r--dom/bindings/test/mochitest.ini79
-rw-r--r--dom/bindings/test/moz.build58
-rw-r--r--dom/bindings/test/test_ByteString.html32
-rw-r--r--dom/bindings/test/test_InstanceOf.html54
-rw-r--r--dom/bindings/test/test_Object.prototype_props.html20
-rw-r--r--dom/bindings/test/test_async_stacks.html108
-rw-r--r--dom/bindings/test/test_barewordGetsWindow.html60
-rw-r--r--dom/bindings/test/test_blacklisted_prerendering_function.xul124
-rw-r--r--dom/bindings/test/test_bug1036214.html123
-rw-r--r--dom/bindings/test/test_bug1041646.html49
-rw-r--r--dom/bindings/test/test_bug1123516_maplikesetlike.html271
-rw-r--r--dom/bindings/test/test_bug1123516_maplikesetlikechrome.xul68
-rw-r--r--dom/bindings/test/test_bug1123875.html14
-rw-r--r--dom/bindings/test/test_bug1287912.html37
-rw-r--r--dom/bindings/test/test_bug560072.html34
-rw-r--r--dom/bindings/test/test_bug742191.html36
-rw-r--r--dom/bindings/test/test_bug759621.html29
-rw-r--r--dom/bindings/test/test_bug773326.html11
-rw-r--r--dom/bindings/test/test_bug775543.html37
-rw-r--r--dom/bindings/test/test_bug788369.html30
-rw-r--r--dom/bindings/test/test_bug852846.html34
-rw-r--r--dom/bindings/test/test_bug862092.html37
-rw-r--r--dom/bindings/test/test_bug963382.html43
-rw-r--r--dom/bindings/test/test_callback_across_document_open.html21
-rw-r--r--dom/bindings/test/test_callback_default_thisval.html36
-rw-r--r--dom/bindings/test/test_callback_exceptions.html17
-rw-r--r--dom/bindings/test/test_cloneAndImportNode.html48
-rw-r--r--dom/bindings/test/test_crossOriginWindowSymbolAccess.html23
-rw-r--r--dom/bindings/test/test_defineProperty.html157
-rw-r--r--dom/bindings/test/test_document_location_set_via_xray.html49
-rw-r--r--dom/bindings/test/test_document_location_via_xray_cached.html36
-rw-r--r--dom/bindings/test/test_domProxyArrayLengthGetter.html28
-rw-r--r--dom/bindings/test/test_dom_xrays.html231
-rw-r--r--dom/bindings/test/test_enums.html15
-rw-r--r--dom/bindings/test/test_exceptionSanitization.html45
-rw-r--r--dom/bindings/test/test_exceptionThrowing.html56
-rw-r--r--dom/bindings/test/test_exception_messages.html82
-rw-r--r--dom/bindings/test/test_exception_options_from_jsimplemented.html166
-rw-r--r--dom/bindings/test/test_exceptions_from_jsimplemented.html56
-rw-r--r--dom/bindings/test/test_forOf.html86
-rw-r--r--dom/bindings/test/test_integers.html50
-rw-r--r--dom/bindings/test/test_interfaceName.html28
-rw-r--r--dom/bindings/test/test_interfaceToString.html47
-rw-r--r--dom/bindings/test/test_iterable.html241
-rw-r--r--dom/bindings/test/test_jsimplemented_eventhandler.html47
-rw-r--r--dom/bindings/test/test_kill_longrunning_prerendered_content.xul85
-rw-r--r--dom/bindings/test/test_lenientThis.html27
-rw-r--r--dom/bindings/test/test_lookupGetter.html49
-rw-r--r--dom/bindings/test/test_namedNoIndexed.html36
-rw-r--r--dom/bindings/test/test_named_getter_enumerability.html40
-rw-r--r--dom/bindings/test/test_oom_reporting.html42
-rw-r--r--dom/bindings/test/test_primitive_this.html45
-rw-r--r--dom/bindings/test/test_promise_rejections_from_jsimplemented.html143
-rw-r--r--dom/bindings/test/test_proxies_via_xray.html99
-rw-r--r--dom/bindings/test/test_queryInterface.html41
-rw-r--r--dom/bindings/test/test_returnUnion.html59
-rw-r--r--dom/bindings/test/test_sequence_detection.html53
-rw-r--r--dom/bindings/test/test_sequence_wrapping.html59
-rw-r--r--dom/bindings/test/test_setWithNamedGetterNoNamedSetter.html40
-rw-r--r--dom/bindings/test/test_stringBindings.html59
-rw-r--r--dom/bindings/test/test_throwing_method_noDCE.html27
-rw-r--r--dom/bindings/test/test_traceProtos.html37
-rw-r--r--dom/bindings/test/test_treat_non_object_as_null.html39
-rw-r--r--dom/bindings/test/test_unforgeablesonexpando.html18
-rw-r--r--dom/bindings/test/test_usvstring.html41
-rw-r--r--dom/bindings/test/test_worker_UnwrapArg.html58
-rw-r--r--dom/media/gtest/moz.build5
-rw-r--r--dom/media/webaudio/gtest/TestAudioEventTimeline.cpp11
-rw-r--r--dom/plugins/test/mochitest/mochitest.ini1
-rw-r--r--dom/tests/mochitest/webcomponents/mochitest.ini5
110 files changed, 0 insertions, 9984 deletions
diff --git a/dom/base/test/chrome/chrome.ini b/dom/base/test/chrome/chrome.ini
index c6ee423918..64b1c8454b 100644
--- a/dom/base/test/chrome/chrome.ini
+++ b/dom/base/test/chrome/chrome.ini
@@ -62,8 +62,6 @@ support-files = ../file_bug357450.js
[test_bug1139964.xul]
[test_bug1209621.xul]
[test_cpows.xul]
-[test_custom_element_content.xul]
-[test_custom_element_ep.xul]
[test_domparsing.xul]
[test_fileconstructor.xul]
[test_fileconstructor_tempfile.xul]
diff --git a/dom/base/test/mochitest.ini b/dom/base/test/mochitest.ini
index 928727f81d..8183dab8be 100644
--- a/dom/base/test/mochitest.ini
+++ b/dom/base/test/mochitest.ini
@@ -630,7 +630,6 @@ skip-if = toolkit == 'android' #bug 904183
[test_document.all_unqualified.html]
[test_document_constructor.html]
[test_document_importNode_document.html]
-[test_custom_element.html]
[test_domcursor.html]
[test_domparser_null_char.html]
[test_domparsing.html]
@@ -698,7 +697,6 @@ skip-if = (os != 'android') # meta-viewport tag support is mobile-only
skip-if = toolkit == 'android' #TIMED_OUT
[test_mozMatchesSelector.html]
[test_mutationobserver_anonymous.html]
-[test_mutationobservers.html]
[test_named_frames.html]
[test_navigator_hardwareConcurrency.html]
[test_navigator_language.html]
diff --git a/dom/bindings/moz.build b/dom/bindings/moz.build
index 649689c41c..fae0fd15a9 100644
--- a/dom/bindings/moz.build
+++ b/dom/bindings/moz.build
@@ -4,8 +4,6 @@
# 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/.
-TEST_DIRS += ['test']
-
XPIDL_SOURCES += [
'nsIScriptError.idl'
]
@@ -107,33 +105,6 @@ SOURCES += [
'StructuredClone.cpp',
]
-# Tests for maplike and setlike require bindings to be built, which means they
-# must be included in libxul. This breaks the "no test classes are exported"
-# rule stated in the test/ directory, but it's the only way this will work.
-# Test classes are only built in debug mode, and all tests requiring use of
-# them are only run in debug mode.
-if CONFIG['MOZ_DEBUG']:
- EXPORTS.mozilla.dom += [
- "test/TestFunctions.h",
- "test/TestInterfaceIterableDouble.h",
- "test/TestInterfaceIterableDoubleUnion.h",
- "test/TestInterfaceIterableSingle.h",
- "test/TestInterfaceMaplike.h",
- "test/TestInterfaceMaplikeObject.h",
- "test/TestInterfaceSetlike.h",
- "test/TestInterfaceSetlikeNode.h"
- ]
- UNIFIED_SOURCES += [
- "test/TestFunctions.cpp",
- "test/TestInterfaceIterableDouble.cpp",
- "test/TestInterfaceIterableDoubleUnion.cpp",
- "test/TestInterfaceIterableSingle.cpp",
- "test/TestInterfaceMaplike.cpp",
- "test/TestInterfaceMaplikeObject.cpp",
- "test/TestInterfaceSetlike.cpp",
- "test/TestInterfaceSetlikeNode.cpp",
- ]
-
include('/ipc/chromium/chromium-config.mozbuild')
if CONFIG['MOZ_AUDIO_CHANNEL_MANAGER']:
diff --git a/dom/bindings/test/Makefile.in b/dom/bindings/test/Makefile.in
deleted file mode 100644
index 844a51c270..0000000000
--- a/dom/bindings/test/Makefile.in
+++ /dev/null
@@ -1,21 +0,0 @@
-# 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/.
-
-ifdef COMPILE_ENVIRONMENT
-
-include ../webidlsrcs.mk
-
-# $(test_sources) comes from webidlsrcs.mk.
-# TODO Update this variable in backend.mk.
-CPPSRCS += $(addprefix ../,$(test_sources))
-
-# Include rules.mk before any of our targets so our first target is coming from
-# rules.mk and running make with no target in this dir does the right thing.
-include $(topsrcdir)/config/rules.mk
-
-endif
-
-check::
- PYTHONDONTWRITEBYTECODE=1 $(PYTHON) $(topsrcdir)/config/pythonpath.py \
- $(PLY_INCLUDE) $(srcdir)/../parser/runtests.py
diff --git a/dom/bindings/test/TestBindingHeader.h b/dom/bindings/test/TestBindingHeader.h
deleted file mode 100644
index 4e2e10e43e..0000000000
--- a/dom/bindings/test/TestBindingHeader.h
+++ /dev/null
@@ -1,1464 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* 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/.
- */
-
-#ifndef TestBindingHeader_h
-#define TestBindingHeader_h
-
-#include "mozilla/dom/BindingUtils.h"
-#include "mozilla/dom/Date.h"
-#include "mozilla/dom/MozMap.h"
-#include "mozilla/dom/TypedArray.h"
-#include "mozilla/ErrorResult.h"
-#include "nsCOMPtr.h"
-#include "nsGenericHTMLElement.h"
-#include "nsWrapperCache.h"
-
-// Forward declare this before we include TestCodeGenBinding.h, because that header relies on including
-// this one for it, for ParentDict. Hopefully it won't begin to rely on it in more fundamental ways.
-namespace mozilla {
-namespace dom {
-class DocGroup;
-class TestExternalInterface;
-class Promise;
-} // namespace dom
-} // namespace mozilla
-
-// We don't export TestCodeGenBinding.h, but it's right in our parent dir.
-#include "../TestCodeGenBinding.h"
-
-extern bool TestFuncControlledMember(JSContext*, JSObject*);
-
-namespace mozilla {
-namespace dom {
-
-// IID for nsRenamedInterface
-#define NS_RENAMED_INTERFACE_IID \
-{ 0xd4b19ef3, 0xe68b, 0x4e3f, \
- { 0x94, 0xbc, 0xc9, 0xde, 0x3a, 0x69, 0xb0, 0xe8 } }
-
-class nsRenamedInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECLARE_STATIC_IID_ACCESSOR(NS_RENAMED_INTERFACE_IID)
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject and GetDocGroup to make binding codegen happy
- virtual nsISupports* GetParentObject();
- DocGroup* GetDocGroup() const;
-};
-
-NS_DEFINE_STATIC_IID_ACCESSOR(nsRenamedInterface, NS_RENAMED_INTERFACE_IID)
-
-// IID for the IndirectlyImplementedInterface
-#define NS_INDIRECTLY_IMPLEMENTED_INTERFACE_IID \
-{ 0xfed55b69, 0x7012, 0x4849, \
- { 0xaf, 0x56, 0x4b, 0xa9, 0xee, 0x41, 0x30, 0x89 } }
-
-class IndirectlyImplementedInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECLARE_STATIC_IID_ACCESSOR(NS_INDIRECTLY_IMPLEMENTED_INTERFACE_IID)
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject and GetDocGroup to make binding codegen happy
- virtual nsISupports* GetParentObject();
- DocGroup* GetDocGroup() const;
-
- bool IndirectlyImplementedProperty();
- void IndirectlyImplementedProperty(bool);
- void IndirectlyImplementedMethod();
-};
-
-NS_DEFINE_STATIC_IID_ACCESSOR(IndirectlyImplementedInterface, NS_INDIRECTLY_IMPLEMENTED_INTERFACE_IID)
-
-// IID for the TestExternalInterface
-#define NS_TEST_EXTERNAL_INTERFACE_IID \
-{ 0xd5ba0c99, 0x9b1d, 0x4e71, \
- { 0x8a, 0x94, 0x56, 0x38, 0x6c, 0xa3, 0xda, 0x3d } }
-class TestExternalInterface : public nsISupports
-{
-public:
- NS_DECLARE_STATIC_IID_ACCESSOR(NS_TEST_EXTERNAL_INTERFACE_IID)
- NS_DECL_ISUPPORTS
-};
-
-NS_DEFINE_STATIC_IID_ACCESSOR(TestExternalInterface, NS_TEST_EXTERNAL_INTERFACE_IID)
-
-class TestNonWrapperCacheInterface : public nsISupports
-{
-public:
- NS_DECL_ISUPPORTS
-
- bool WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
-};
-
-class OnlyForUseInConstructor : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-};
-
-class TestInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-
- // And now our actual WebIDL API
- // Constructors
- static
- already_AddRefed<TestInterface>
- Constructor(const GlobalObject&, ErrorResult&);
- static
- already_AddRefed<TestInterface>
- Constructor(const GlobalObject&, const nsAString&, ErrorResult&);
- static
- already_AddRefed<TestInterface>
- Constructor(const GlobalObject&, uint32_t, const Nullable<bool>&,
- ErrorResult&);
- static
- already_AddRefed<TestInterface>
- Constructor(const GlobalObject&, TestInterface*, ErrorResult&);
- static
- already_AddRefed<TestInterface>
- Constructor(const GlobalObject&, uint32_t, IndirectlyImplementedInterface&, ErrorResult&);
-
- static
- already_AddRefed<TestInterface>
- Constructor(const GlobalObject&, Date&, ErrorResult&);
- static
- already_AddRefed<TestInterface>
- Constructor(const GlobalObject&, const ArrayBuffer&, ErrorResult&);
- static
- already_AddRefed<TestInterface>
- Constructor(const GlobalObject&, const Uint8Array&, ErrorResult&);
- /* static
- already_AddRefed<TestInterface>
- Constructor(const GlobalObject&, uint32_t, uint32_t,
- const TestInterfaceOrOnlyForUseInConstructor&, ErrorResult&);
- */
-
- static
- already_AddRefed<TestInterface> Test(const GlobalObject&, ErrorResult&);
- static
- already_AddRefed<TestInterface> Test(const GlobalObject&, const nsAString&,
- ErrorResult&);
- static
- already_AddRefed<TestInterface> Test(const GlobalObject&, const nsACString&,
- ErrorResult&);
-
- static
- already_AddRefed<TestInterface> Test2(const GlobalObject&,
- const DictForConstructor&,
- JS::Handle<JS::Value>,
- JS::Handle<JSObject*>,
- JS::Handle<JSObject*>,
- const Sequence<Dict>&,
- JS::Handle<JS::Value>,
- const Optional<JS::Handle<JSObject*> >&,
- const Optional<JS::Handle<JSObject*> >&,
- ErrorResult&);
-
- static
- already_AddRefed<TestInterface> Test3(const GlobalObject&,
- const LongOrAnyMozMap&,
- ErrorResult&);
-
- // Integer types
- int8_t ReadonlyByte();
- int8_t WritableByte();
- void SetWritableByte(int8_t);
- void PassByte(int8_t);
- int8_t ReceiveByte();
- void PassOptionalByte(const Optional<int8_t>&);
- void PassOptionalByteBeforeRequired(const Optional<int8_t>&, int8_t);
- void PassOptionalByteWithDefault(int8_t);
- void PassOptionalByteWithDefaultBeforeRequired(int8_t, int8_t);
- void PassNullableByte(const Nullable<int8_t>&);
- void PassOptionalNullableByte(const Optional< Nullable<int8_t> >&);
- void PassVariadicByte(const Sequence<int8_t>&);
- int8_t CachedByte();
- int8_t CachedConstantByte();
- int8_t CachedWritableByte();
- void SetCachedWritableByte(int8_t);
- int8_t SideEffectFreeByte();
- int8_t SetSideEffectFreeByte(int8_t);
- int8_t DomDependentByte();
- int8_t SetDomDependentByte(int8_t);
- int8_t ConstantByte();
- int8_t DeviceStateDependentByte();
- int8_t ReturnByteSideEffectFree();
- int8_t ReturnDOMDependentByte();
- int8_t ReturnConstantByte();
- int8_t ReturnDeviceStateDependentByte();
-
- void UnsafePrerenderMethod();
- int32_t UnsafePrerenderWritable();
- void SetUnsafePrerenderWritable(int32_t);
- int32_t UnsafePrerenderReadonly();
- int16_t ReadonlyShort();
- int16_t WritableShort();
- void SetWritableShort(int16_t);
- void PassShort(int16_t);
- int16_t ReceiveShort();
- void PassOptionalShort(const Optional<int16_t>&);
- void PassOptionalShortWithDefault(int16_t);
-
- int32_t ReadonlyLong();
- int32_t WritableLong();
- void SetWritableLong(int32_t);
- void PassLong(int32_t);
- int16_t ReceiveLong();
- void PassOptionalLong(const Optional<int32_t>&);
- void PassOptionalLongWithDefault(int32_t);
-
- int64_t ReadonlyLongLong();
- int64_t WritableLongLong();
- void SetWritableLongLong(int64_t);
- void PassLongLong(int64_t);
- int64_t ReceiveLongLong();
- void PassOptionalLongLong(const Optional<int64_t>&);
- void PassOptionalLongLongWithDefault(int64_t);
-
- uint8_t ReadonlyOctet();
- uint8_t WritableOctet();
- void SetWritableOctet(uint8_t);
- void PassOctet(uint8_t);
- uint8_t ReceiveOctet();
- void PassOptionalOctet(const Optional<uint8_t>&);
- void PassOptionalOctetWithDefault(uint8_t);
-
- uint16_t ReadonlyUnsignedShort();
- uint16_t WritableUnsignedShort();
- void SetWritableUnsignedShort(uint16_t);
- void PassUnsignedShort(uint16_t);
- uint16_t ReceiveUnsignedShort();
- void PassOptionalUnsignedShort(const Optional<uint16_t>&);
- void PassOptionalUnsignedShortWithDefault(uint16_t);
-
- uint32_t ReadonlyUnsignedLong();
- uint32_t WritableUnsignedLong();
- void SetWritableUnsignedLong(uint32_t);
- void PassUnsignedLong(uint32_t);
- uint32_t ReceiveUnsignedLong();
- void PassOptionalUnsignedLong(const Optional<uint32_t>&);
- void PassOptionalUnsignedLongWithDefault(uint32_t);
-
- uint64_t ReadonlyUnsignedLongLong();
- uint64_t WritableUnsignedLongLong();
- void SetWritableUnsignedLongLong(uint64_t);
- void PassUnsignedLongLong(uint64_t);
- uint64_t ReceiveUnsignedLongLong();
- void PassOptionalUnsignedLongLong(const Optional<uint64_t>&);
- void PassOptionalUnsignedLongLongWithDefault(uint64_t);
-
- float WritableFloat() const;
- void SetWritableFloat(float);
- float WritableUnrestrictedFloat() const;
- void SetWritableUnrestrictedFloat(float);
- Nullable<float> GetWritableNullableFloat() const;
- void SetWritableNullableFloat(Nullable<float>);
- Nullable<float> GetWritableNullableUnrestrictedFloat() const;
- void SetWritableNullableUnrestrictedFloat(Nullable<float>);
- double WritableDouble() const;
- void SetWritableDouble(double);
- double WritableUnrestrictedDouble() const;
- void SetWritableUnrestrictedDouble(double);
- Nullable<double> GetWritableNullableDouble() const;
- void SetWritableNullableDouble(Nullable<double>);
- Nullable<double> GetWritableNullableUnrestrictedDouble() const;
- void SetWritableNullableUnrestrictedDouble(Nullable<double>);
- void PassFloat(float, float, Nullable<float>, Nullable<float>,
- double, double, Nullable<double>, Nullable<double>,
- const Sequence<float>&, const Sequence<float>&,
- const Sequence<Nullable<float> >&,
- const Sequence<Nullable<float> >&,
- const Sequence<double>&, const Sequence<double>&,
- const Sequence<Nullable<double> >&,
- const Sequence<Nullable<double> >&);
- void PassLenientFloat(float, float, Nullable<float>, Nullable<float>,
- double, double, Nullable<double>, Nullable<double>,
- const Sequence<float>&, const Sequence<float>&,
- const Sequence<Nullable<float> >&,
- const Sequence<Nullable<float> >&,
- const Sequence<double>&, const Sequence<double>&,
- const Sequence<Nullable<double> >&,
- const Sequence<Nullable<double> >&);
- float LenientFloatAttr() const;
- void SetLenientFloatAttr(float);
- double LenientDoubleAttr() const;
- void SetLenientDoubleAttr(double);
-
- void PassUnrestricted(float arg1,
- float arg2,
- float arg3,
- float arg4,
- double arg5,
- double arg6,
- double arg7,
- double arg8);
-
- // Interface types
- already_AddRefed<TestInterface> ReceiveSelf();
- already_AddRefed<TestInterface> ReceiveNullableSelf();
- TestInterface* ReceiveWeakSelf();
- TestInterface* ReceiveWeakNullableSelf();
- void PassSelf(TestInterface&);
- void PassNullableSelf(TestInterface*);
- already_AddRefed<TestInterface> NonNullSelf();
- void SetNonNullSelf(TestInterface&);
- already_AddRefed<TestInterface> GetNullableSelf();
- already_AddRefed<TestInterface> CachedSelf();
- void SetNullableSelf(TestInterface*);
- void PassOptionalSelf(const Optional<TestInterface*> &);
- void PassOptionalNonNullSelf(const Optional<NonNull<TestInterface> >&);
- void PassOptionalSelfWithDefault(TestInterface*);
-
- already_AddRefed<TestNonWrapperCacheInterface> ReceiveNonWrapperCacheInterface();
- already_AddRefed<TestNonWrapperCacheInterface> ReceiveNullableNonWrapperCacheInterface();
- void ReceiveNonWrapperCacheInterfaceSequence(nsTArray<RefPtr<TestNonWrapperCacheInterface> >&);
- void ReceiveNullableNonWrapperCacheInterfaceSequence(nsTArray<RefPtr<TestNonWrapperCacheInterface> >&);
- void ReceiveNonWrapperCacheInterfaceNullableSequence(Nullable<nsTArray<RefPtr<TestNonWrapperCacheInterface> > >&);
- void ReceiveNullableNonWrapperCacheInterfaceNullableSequence(Nullable<nsTArray<RefPtr<TestNonWrapperCacheInterface> > >&);
-
- already_AddRefed<IndirectlyImplementedInterface> ReceiveOther();
- already_AddRefed<IndirectlyImplementedInterface> ReceiveNullableOther();
- IndirectlyImplementedInterface* ReceiveWeakOther();
- IndirectlyImplementedInterface* ReceiveWeakNullableOther();
- void PassOther(IndirectlyImplementedInterface&);
- void PassNullableOther(IndirectlyImplementedInterface*);
- already_AddRefed<IndirectlyImplementedInterface> NonNullOther();
- void SetNonNullOther(IndirectlyImplementedInterface&);
- already_AddRefed<IndirectlyImplementedInterface> GetNullableOther();
- void SetNullableOther(IndirectlyImplementedInterface*);
- void PassOptionalOther(const Optional<IndirectlyImplementedInterface*>&);
- void PassOptionalNonNullOther(const Optional<NonNull<IndirectlyImplementedInterface> >&);
- void PassOptionalOtherWithDefault(IndirectlyImplementedInterface*);
-
- already_AddRefed<TestExternalInterface> ReceiveExternal();
- already_AddRefed<TestExternalInterface> ReceiveNullableExternal();
- TestExternalInterface* ReceiveWeakExternal();
- TestExternalInterface* ReceiveWeakNullableExternal();
- void PassExternal(TestExternalInterface*);
- void PassNullableExternal(TestExternalInterface*);
- already_AddRefed<TestExternalInterface> NonNullExternal();
- void SetNonNullExternal(TestExternalInterface*);
- already_AddRefed<TestExternalInterface> GetNullableExternal();
- void SetNullableExternal(TestExternalInterface*);
- void PassOptionalExternal(const Optional<TestExternalInterface*>&);
- void PassOptionalNonNullExternal(const Optional<TestExternalInterface*>&);
- void PassOptionalExternalWithDefault(TestExternalInterface*);
-
- already_AddRefed<TestCallbackInterface> ReceiveCallbackInterface();
- already_AddRefed<TestCallbackInterface> ReceiveNullableCallbackInterface();
- TestCallbackInterface* ReceiveWeakCallbackInterface();
- TestCallbackInterface* ReceiveWeakNullableCallbackInterface();
- void PassCallbackInterface(TestCallbackInterface&);
- void PassNullableCallbackInterface(TestCallbackInterface*);
- already_AddRefed<TestCallbackInterface> NonNullCallbackInterface();
- void SetNonNullCallbackInterface(TestCallbackInterface&);
- already_AddRefed<TestCallbackInterface> GetNullableCallbackInterface();
- void SetNullableCallbackInterface(TestCallbackInterface*);
- void PassOptionalCallbackInterface(const Optional<RefPtr<TestCallbackInterface> >&);
- void PassOptionalNonNullCallbackInterface(const Optional<OwningNonNull<TestCallbackInterface> >&);
- void PassOptionalCallbackInterfaceWithDefault(TestCallbackInterface*);
-
- already_AddRefed<IndirectlyImplementedInterface> ReceiveConsequentialInterface();
- void PassConsequentialInterface(IndirectlyImplementedInterface&);
-
- // Sequence types
- void GetReadonlySequence(nsTArray<int32_t>&);
- void GetReadonlySequenceOfDictionaries(JSContext*, nsTArray<Dict>&);
- void GetReadonlyNullableSequenceOfDictionaries(JSContext*, Nullable<nsTArray<Dict> >&);
- void GetReadonlyFrozenSequence(JSContext*, nsTArray<Dict>&);
- void GetReadonlyFrozenNullableSequence(JSContext*, Nullable<nsTArray<Dict>>&);
- void ReceiveSequence(nsTArray<int32_t>&);
- void ReceiveNullableSequence(Nullable< nsTArray<int32_t> >&);
- void ReceiveSequenceOfNullableInts(nsTArray< Nullable<int32_t> >&);
- void ReceiveNullableSequenceOfNullableInts(Nullable< nsTArray< Nullable<int32_t> > >&);
- void PassSequence(const Sequence<int32_t> &);
- void PassNullableSequence(const Nullable< Sequence<int32_t> >&);
- void PassSequenceOfNullableInts(const Sequence<Nullable<int32_t> >&);
- void PassOptionalSequenceOfNullableInts(const Optional<Sequence<Nullable<int32_t> > > &);
- void PassOptionalNullableSequenceOfNullableInts(const Optional<Nullable<Sequence<Nullable<int32_t> > > > &);
- void ReceiveCastableObjectSequence(nsTArray< RefPtr<TestInterface> > &);
- void ReceiveCallbackObjectSequence(nsTArray< RefPtr<TestCallbackInterface> > &);
- void ReceiveNullableCastableObjectSequence(nsTArray< RefPtr<TestInterface> > &);
- void ReceiveNullableCallbackObjectSequence(nsTArray< RefPtr<TestCallbackInterface> > &);
- void ReceiveCastableObjectNullableSequence(Nullable< nsTArray< RefPtr<TestInterface> > >&);
- void ReceiveNullableCastableObjectNullableSequence(Nullable< nsTArray< RefPtr<TestInterface> > >&);
- void ReceiveWeakCastableObjectSequence(nsTArray<RefPtr<TestInterface>> &);
- void ReceiveWeakNullableCastableObjectSequence(nsTArray<RefPtr<TestInterface>> &);
- void ReceiveWeakCastableObjectNullableSequence(Nullable< nsTArray<RefPtr<TestInterface>> >&);
- void ReceiveWeakNullableCastableObjectNullableSequence(Nullable< nsTArray<RefPtr<TestInterface>> >&);
- void PassCastableObjectSequence(const Sequence< OwningNonNull<TestInterface> >&);
- void PassNullableCastableObjectSequence(const Sequence< RefPtr<TestInterface> > &);
- void PassCastableObjectNullableSequence(const Nullable< Sequence< OwningNonNull<TestInterface> > >&);
- void PassNullableCastableObjectNullableSequence(const Nullable< Sequence< RefPtr<TestInterface> > >&);
- void PassOptionalSequence(const Optional<Sequence<int32_t> >&);
- void PassOptionalSequenceWithDefaultValue(const Sequence<int32_t> &);
- void PassOptionalNullableSequence(const Optional<Nullable<Sequence<int32_t> > >&);
- void PassOptionalNullableSequenceWithDefaultValue(const Nullable< Sequence<int32_t> >&);
- void PassOptionalNullableSequenceWithDefaultValue2(const Nullable< Sequence<int32_t> >&);
- void PassOptionalObjectSequence(const Optional<Sequence<OwningNonNull<TestInterface> > >&);
- void PassExternalInterfaceSequence(const Sequence<RefPtr<TestExternalInterface> >&);
- void PassNullableExternalInterfaceSequence(const Sequence<RefPtr<TestExternalInterface> >&);
-
- void ReceiveStringSequence(nsTArray<nsString>&);
- void PassStringSequence(const Sequence<nsString>&);
-
- void ReceiveByteStringSequence(nsTArray<nsCString>&);
- void PassByteStringSequence(const Sequence<nsCString>&);
-
- void ReceiveAnySequence(JSContext*, nsTArray<JS::Value>&);
- void ReceiveNullableAnySequence(JSContext*, Nullable<nsTArray<JS::Value> >&);
- void ReceiveAnySequenceSequence(JSContext*, nsTArray<nsTArray<JS::Value> >&);
-
- void ReceiveObjectSequence(JSContext*, nsTArray<JSObject*>&);
- void ReceiveNullableObjectSequence(JSContext*, nsTArray<JSObject*>&);
-
- void PassSequenceOfSequences(const Sequence< Sequence<int32_t> >&);
- void PassSequenceOfSequencesOfSequences(const Sequence<Sequence<Sequence<int32_t>>>&);
- void ReceiveSequenceOfSequences(nsTArray< nsTArray<int32_t> >&);
- void ReceiveSequenceOfSequencesOfSequences(nsTArray<nsTArray<nsTArray<int32_t>>>&);
-
- // MozMap types
- void PassMozMap(const MozMap<int32_t> &);
- void PassNullableMozMap(const Nullable< MozMap<int32_t> >&);
- void PassMozMapOfNullableInts(const MozMap<Nullable<int32_t> >&);
- void PassOptionalMozMapOfNullableInts(const Optional<MozMap<Nullable<int32_t> > > &);
- void PassOptionalNullableMozMapOfNullableInts(const Optional<Nullable<MozMap<Nullable<int32_t> > > > &);
- void PassCastableObjectMozMap(const MozMap< OwningNonNull<TestInterface> >&);
- void PassNullableCastableObjectMozMap(const MozMap< RefPtr<TestInterface> > &);
- void PassCastableObjectNullableMozMap(const Nullable< MozMap< OwningNonNull<TestInterface> > >&);
- void PassNullableCastableObjectNullableMozMap(const Nullable< MozMap< RefPtr<TestInterface> > >&);
- void PassOptionalMozMap(const Optional<MozMap<int32_t> >&);
- void PassOptionalNullableMozMap(const Optional<Nullable<MozMap<int32_t> > >&);
- void PassOptionalNullableMozMapWithDefaultValue(const Nullable< MozMap<int32_t> >&);
- void PassOptionalObjectMozMap(const Optional<MozMap<OwningNonNull<TestInterface> > >&);
- void PassExternalInterfaceMozMap(const MozMap<RefPtr<TestExternalInterface> >&);
- void PassNullableExternalInterfaceMozMap(const MozMap<RefPtr<TestExternalInterface> >&);
- void PassStringMozMap(const MozMap<nsString>&);
- void PassByteStringMozMap(const MozMap<nsCString>&);
- void PassMozMapOfMozMaps(const MozMap< MozMap<int32_t> >&);
- void ReceiveMozMap(MozMap<int32_t>&);
- void ReceiveNullableMozMap(Nullable<MozMap<int32_t>>&);
- void ReceiveMozMapOfNullableInts(MozMap<Nullable<int32_t>>&);
- void ReceiveNullableMozMapOfNullableInts(Nullable<MozMap<Nullable<int32_t>>>&);
- void ReceiveMozMapOfMozMaps(MozMap<MozMap<int32_t>>&);
- void ReceiveAnyMozMap(JSContext*, MozMap<JS::Value>&);
-
- // Typed array types
- void PassArrayBuffer(const ArrayBuffer&);
- void PassNullableArrayBuffer(const Nullable<ArrayBuffer>&);
- void PassOptionalArrayBuffer(const Optional<ArrayBuffer>&);
- void PassOptionalNullableArrayBuffer(const Optional<Nullable<ArrayBuffer> >&);
- void PassOptionalNullableArrayBufferWithDefaultValue(const Nullable<ArrayBuffer>&);
- void PassArrayBufferView(const ArrayBufferView&);
- void PassInt8Array(const Int8Array&);
- void PassInt16Array(const Int16Array&);
- void PassInt32Array(const Int32Array&);
- void PassUint8Array(const Uint8Array&);
- void PassUint16Array(const Uint16Array&);
- void PassUint32Array(const Uint32Array&);
- void PassUint8ClampedArray(const Uint8ClampedArray&);
- void PassFloat32Array(const Float32Array&);
- void PassFloat64Array(const Float64Array&);
- void PassSequenceOfArrayBuffers(const Sequence<ArrayBuffer>&);
- void PassSequenceOfNullableArrayBuffers(const Sequence<Nullable<ArrayBuffer> >&);
- void PassMozMapOfArrayBuffers(const MozMap<ArrayBuffer>&);
- void PassMozMapOfNullableArrayBuffers(const MozMap<Nullable<ArrayBuffer> >&);
- void PassVariadicTypedArray(const Sequence<Float32Array>&);
- void PassVariadicNullableTypedArray(const Sequence<Nullable<Float32Array> >&);
- void ReceiveUint8Array(JSContext*, JS::MutableHandle<JSObject*>);
- void SetUint8ArrayAttr(const Uint8Array&);
- void GetUint8ArrayAttr(JSContext*, JS::MutableHandle<JSObject*>);
-
- // DOMString types
- void PassString(const nsAString&);
- void PassNullableString(const nsAString&);
- void PassOptionalString(const Optional<nsAString>&);
- void PassOptionalStringWithDefaultValue(const nsAString&);
- void PassOptionalNullableString(const Optional<nsAString>&);
- void PassOptionalNullableStringWithDefaultValue(const nsAString&);
- void PassVariadicString(const Sequence<nsString>&);
- void ReceiveString(DOMString&);
-
- // ByteString types
- void PassByteString(const nsCString&);
- void PassNullableByteString(const nsCString&);
- void PassOptionalByteString(const Optional<nsCString>&);
- void PassOptionalByteStringWithDefaultValue(const nsCString&);
- void PassOptionalNullableByteString(const Optional<nsCString>&);
- void PassOptionalNullableByteStringWithDefaultValue(const nsCString&);
- void PassVariadicByteString(const Sequence<nsCString>&);
- void PassOptionalUnionByteString(const Optional<ByteStringOrLong>&);
- void PassOptionalUnionByteStringWithDefaultValue(const ByteStringOrLong&);
-
- // USVString types
- void PassUSVS(const nsAString&);
- void PassNullableUSVS(const nsAString&);
- void PassOptionalUSVS(const Optional<nsAString>&);
- void PassOptionalUSVSWithDefaultValue(const nsAString&);
- void PassOptionalNullableUSVS(const Optional<nsAString>&);
- void PassOptionalNullableUSVSWithDefaultValue(const nsAString&);
- void PassVariadicUSVS(const Sequence<nsString>&);
- void ReceiveUSVS(DOMString&);
-
- // Enumerated types
- void PassEnum(TestEnum);
- void PassNullableEnum(const Nullable<TestEnum>&);
- void PassOptionalEnum(const Optional<TestEnum>&);
- void PassEnumWithDefault(TestEnum);
- void PassOptionalNullableEnum(const Optional<Nullable<TestEnum> >&);
- void PassOptionalNullableEnumWithDefaultValue(const Nullable<TestEnum>&);
- void PassOptionalNullableEnumWithDefaultValue2(const Nullable<TestEnum>&);
- TestEnum ReceiveEnum();
- Nullable<TestEnum> ReceiveNullableEnum();
- TestEnum EnumAttribute();
- TestEnum ReadonlyEnumAttribute();
- void SetEnumAttribute(TestEnum);
-
- // Callback types
- void PassCallback(TestCallback&);
- void PassNullableCallback(TestCallback*);
- void PassOptionalCallback(const Optional<OwningNonNull<TestCallback> >&);
- void PassOptionalNullableCallback(const Optional<RefPtr<TestCallback> >&);
- void PassOptionalNullableCallbackWithDefaultValue(TestCallback*);
- already_AddRefed<TestCallback> ReceiveCallback();
- already_AddRefed<TestCallback> ReceiveNullableCallback();
- void PassNullableTreatAsNullCallback(TestTreatAsNullCallback*);
- void PassOptionalNullableTreatAsNullCallback(const Optional<RefPtr<TestTreatAsNullCallback> >&);
- void PassOptionalNullableTreatAsNullCallbackWithDefaultValue(TestTreatAsNullCallback*);
- void SetTreatAsNullCallback(TestTreatAsNullCallback&);
- already_AddRefed<TestTreatAsNullCallback> TreatAsNullCallback();
- void SetNullableTreatAsNullCallback(TestTreatAsNullCallback*);
- already_AddRefed<TestTreatAsNullCallback> GetNullableTreatAsNullCallback();
-
- void ForceCallbackGeneration(TestIntegerReturn&,
- TestNullableIntegerReturn&,
- TestBooleanReturn&,
- TestFloatReturn&,
- TestStringReturn&,
- TestEnumReturn&,
- TestInterfaceReturn&,
- TestNullableInterfaceReturn&,
- TestExternalInterfaceReturn&,
- TestNullableExternalInterfaceReturn&,
- TestCallbackInterfaceReturn&,
- TestNullableCallbackInterfaceReturn&,
- TestCallbackReturn&,
- TestNullableCallbackReturn&,
- TestObjectReturn&,
- TestNullableObjectReturn&,
- TestTypedArrayReturn&,
- TestNullableTypedArrayReturn&,
- TestSequenceReturn&,
- TestNullableSequenceReturn&,
- TestIntegerArguments&,
- TestInterfaceArguments&,
- TestStringEnumArguments&,
- TestObjectArguments&,
- TestOptionalArguments&);
-
- // Any types
- void PassAny(JSContext*, JS::Handle<JS::Value>);
- void PassVariadicAny(JSContext*, const Sequence<JS::Value>&);
- void PassOptionalAny(JSContext*, JS::Handle<JS::Value>);
- void PassAnyDefaultNull(JSContext*, JS::Handle<JS::Value>);
- void PassSequenceOfAny(JSContext*, const Sequence<JS::Value>&);
- void PassNullableSequenceOfAny(JSContext*, const Nullable<Sequence<JS::Value> >&);
- void PassOptionalSequenceOfAny(JSContext*, const Optional<Sequence<JS::Value> >&);
- void PassOptionalNullableSequenceOfAny(JSContext*, const Optional<Nullable<Sequence<JS::Value> > >&);
- void PassOptionalSequenceOfAnyWithDefaultValue(JSContext*, const Nullable<Sequence<JS::Value> >&);
- void PassSequenceOfSequenceOfAny(JSContext*, const Sequence<Sequence<JS::Value> >&);
- void PassSequenceOfNullableSequenceOfAny(JSContext*, const Sequence<Nullable<Sequence<JS::Value> > >&);
- void PassNullableSequenceOfNullableSequenceOfAny(JSContext*, const Nullable<Sequence<Nullable<Sequence<JS::Value> > > >&);
- void PassOptionalNullableSequenceOfNullableSequenceOfAny(JSContext*, const Optional<Nullable<Sequence<Nullable<Sequence<JS::Value> > > > >&);
- void PassMozMapOfAny(JSContext*, const MozMap<JS::Value>&);
- void PassNullableMozMapOfAny(JSContext*, const Nullable<MozMap<JS::Value> >&);
- void PassOptionalMozMapOfAny(JSContext*, const Optional<MozMap<JS::Value> >&);
- void PassOptionalNullableMozMapOfAny(JSContext*, const Optional<Nullable<MozMap<JS::Value> > >&);
- void PassOptionalMozMapOfAnyWithDefaultValue(JSContext*, const Nullable<MozMap<JS::Value> >&);
- void PassMozMapOfMozMapOfAny(JSContext*, const MozMap<MozMap<JS::Value> >&);
- void PassMozMapOfNullableMozMapOfAny(JSContext*, const MozMap<Nullable<MozMap<JS::Value> > >&);
- void PassNullableMozMapOfNullableMozMapOfAny(JSContext*, const Nullable<MozMap<Nullable<MozMap<JS::Value> > > >&);
- void PassOptionalNullableMozMapOfNullableMozMapOfAny(JSContext*, const Optional<Nullable<MozMap<Nullable<MozMap<JS::Value>>>>>&);
- void PassOptionalNullableMozMapOfNullableSequenceOfAny(JSContext*, const Optional<Nullable<MozMap<Nullable<Sequence<JS::Value>>>>>&);
- void PassOptionalNullableSequenceOfNullableMozMapOfAny(JSContext*, const Optional<Nullable<Sequence<Nullable<MozMap<JS::Value>>>>>&);
- void ReceiveAny(JSContext*, JS::MutableHandle<JS::Value>);
-
- // object types
- void PassObject(JSContext*, JS::Handle<JSObject*>);
- void PassVariadicObject(JSContext*, const Sequence<JSObject*>&);
- void PassNullableObject(JSContext*, JS::Handle<JSObject*>);
- void PassVariadicNullableObject(JSContext*, const Sequence<JSObject*>&);
- void PassOptionalObject(JSContext*, const Optional<JS::Handle<JSObject*> >&);
- void PassOptionalNullableObject(JSContext*, const Optional<JS::Handle<JSObject*> >&);
- void PassOptionalNullableObjectWithDefaultValue(JSContext*, JS::Handle<JSObject*>);
- void PassSequenceOfObject(JSContext*, const Sequence<JSObject*>&);
- void PassSequenceOfNullableObject(JSContext*, const Sequence<JSObject*>&);
- void PassNullableSequenceOfObject(JSContext*, const Nullable<Sequence<JSObject*> >&);
- void PassOptionalNullableSequenceOfNullableSequenceOfObject(JSContext*, const Optional<Nullable<Sequence<Nullable<Sequence<JSObject*> > > > >&);
- void PassOptionalNullableSequenceOfNullableSequenceOfNullableObject(JSContext*, const Optional<Nullable<Sequence<Nullable<Sequence<JSObject*> > > > >&);
- void PassMozMapOfObject(JSContext*, const MozMap<JSObject*>&);
- void ReceiveObject(JSContext*, JS::MutableHandle<JSObject*>);
- void ReceiveNullableObject(JSContext*, JS::MutableHandle<JSObject*>);
-
- // Union types
- void PassUnion(JSContext*, const ObjectOrLong& arg);
- void PassUnionWithNullable(JSContext* cx, const ObjectOrNullOrLong& arg)
- {
- OwningObjectOrLong returnValue;
- if (arg.IsNull()) {
- } else if (arg.IsObject()) {
- JS::Rooted<JSObject*> obj(cx, arg.GetAsObject());
- JS_GetClass(obj);
- returnValue.SetAsObject() = obj;
- } else {
- int32_t i = arg.GetAsLong();
- i += 1;
- returnValue.SetAsLong() = i;
- }
- }
-#ifdef DEBUG
- void PassUnion2(const LongOrBoolean& arg);
- void PassUnion3(JSContext*, const ObjectOrLongOrBoolean& arg);
- void PassUnion4(const NodeOrLongOrBoolean& arg);
- void PassUnion5(JSContext*, const ObjectOrBoolean& arg);
- void PassUnion6(JSContext*, const ObjectOrString& arg);
- void PassUnion7(JSContext*, const ObjectOrStringOrLong& arg);
- void PassUnion8(JSContext*, const ObjectOrStringOrBoolean& arg);
- void PassUnion9(JSContext*, const ObjectOrStringOrLongOrBoolean& arg);
- void PassUnion10(const EventInitOrLong& arg);
- void PassUnion11(JSContext*, const CustomEventInitOrLong& arg);
- void PassUnion12(const EventInitOrLong& arg);
- void PassUnion13(JSContext*, const ObjectOrLongOrNull& arg);
- void PassUnion14(JSContext*, const ObjectOrLongOrNull& arg);
- void PassUnion15(const LongSequenceOrLong&);
- void PassUnion16(const Optional<LongSequenceOrLong>&);
- void PassUnion17(const LongSequenceOrNullOrLong&);
- void PassUnion18(JSContext*, const ObjectSequenceOrLong&);
- void PassUnion19(JSContext*, const Optional<ObjectSequenceOrLong>&);
- void PassUnion20(JSContext*, const ObjectSequenceOrLong&);
- void PassUnion21(const LongMozMapOrLong&);
- void PassUnion22(JSContext*, const ObjectMozMapOrLong&);
- void PassUnion23(const ImageDataSequenceOrLong&);
- void PassUnion24(const ImageDataOrNullSequenceOrLong&);
- void PassUnion25(const ImageDataSequenceSequenceOrLong&);
- void PassUnion26(const ImageDataOrNullSequenceSequenceOrLong&);
- void PassUnion27(const StringSequenceOrEventInit&);
- void PassUnion28(const EventInitOrStringSequence&);
- void PassUnionWithCallback(const EventHandlerNonNullOrNullOrLong& arg);
- void PassUnionWithByteString(const ByteStringOrLong&);
- void PassUnionWithMozMap(const StringMozMapOrString&);
- void PassUnionWithMozMapAndSequence(const StringMozMapOrStringSequence&);
- void PassUnionWithSequenceAndMozMap(const StringSequenceOrStringMozMap&);
- void PassUnionWithUSVS(const USVStringOrLong&);
-#endif
- void PassNullableUnion(JSContext*, const Nullable<ObjectOrLong>&);
- void PassOptionalUnion(JSContext*, const Optional<ObjectOrLong>&);
- void PassOptionalNullableUnion(JSContext*, const Optional<Nullable<ObjectOrLong> >&);
- void PassOptionalNullableUnionWithDefaultValue(JSContext*, const Nullable<ObjectOrLong>&);
- //void PassUnionWithInterfaces(const TestInterfaceOrTestExternalInterface& arg);
- //void PassUnionWithInterfacesAndNullable(const TestInterfaceOrNullOrTestExternalInterface& arg);
- void PassUnionWithArrayBuffer(const ArrayBufferOrLong&);
- void PassUnionWithString(JSContext*, const StringOrObject&);
- void PassUnionWithEnum(JSContext*, const SupportedTypeOrObject&);
- //void PassUnionWithCallback(JSContext*, const TestCallbackOrLong&);
- void PassUnionWithObject(JSContext*, const ObjectOrLong&);
-
- void PassUnionWithDefaultValue1(const DoubleOrString& arg);
- void PassUnionWithDefaultValue2(const DoubleOrString& arg);
- void PassUnionWithDefaultValue3(const DoubleOrString& arg);
- void PassUnionWithDefaultValue4(const FloatOrString& arg);
- void PassUnionWithDefaultValue5(const FloatOrString& arg);
- void PassUnionWithDefaultValue6(const FloatOrString& arg);
- void PassUnionWithDefaultValue7(const UnrestrictedDoubleOrString& arg);
- void PassUnionWithDefaultValue8(const UnrestrictedDoubleOrString& arg);
- void PassUnionWithDefaultValue9(const UnrestrictedDoubleOrString& arg);
- void PassUnionWithDefaultValue10(const UnrestrictedDoubleOrString& arg);
- void PassUnionWithDefaultValue11(const UnrestrictedFloatOrString& arg);
- void PassUnionWithDefaultValue12(const UnrestrictedFloatOrString& arg);
- void PassUnionWithDefaultValue13(const UnrestrictedFloatOrString& arg);
- void PassUnionWithDefaultValue14(const DoubleOrByteString& arg);
- void PassUnionWithDefaultValue15(const DoubleOrByteString& arg);
- void PassUnionWithDefaultValue16(const DoubleOrByteString& arg);
- void PassUnionWithDefaultValue17(const DoubleOrSupportedType& arg);
- void PassUnionWithDefaultValue18(const DoubleOrSupportedType& arg);
- void PassUnionWithDefaultValue19(const DoubleOrSupportedType& arg);
-
- void PassNullableUnionWithDefaultValue1(const Nullable<DoubleOrString>& arg);
- void PassNullableUnionWithDefaultValue2(const Nullable<DoubleOrString>& arg);
- void PassNullableUnionWithDefaultValue3(const Nullable<DoubleOrString>& arg);
- void PassNullableUnionWithDefaultValue4(const Nullable<FloatOrString>& arg);
- void PassNullableUnionWithDefaultValue5(const Nullable<FloatOrString>& arg);
- void PassNullableUnionWithDefaultValue6(const Nullable<FloatOrString>& arg);
- void PassNullableUnionWithDefaultValue7(const Nullable<UnrestrictedDoubleOrString>& arg);
- void PassNullableUnionWithDefaultValue8(const Nullable<UnrestrictedDoubleOrString>& arg);
- void PassNullableUnionWithDefaultValue9(const Nullable<UnrestrictedDoubleOrString>& arg);
- void PassNullableUnionWithDefaultValue10(const Nullable<UnrestrictedFloatOrString>& arg);
- void PassNullableUnionWithDefaultValue11(const Nullable<UnrestrictedFloatOrString>& arg);
- void PassNullableUnionWithDefaultValue12(const Nullable<UnrestrictedFloatOrString>& arg);
- void PassNullableUnionWithDefaultValue13(const Nullable<DoubleOrByteString>& arg);
- void PassNullableUnionWithDefaultValue14(const Nullable<DoubleOrByteString>& arg);
- void PassNullableUnionWithDefaultValue15(const Nullable<DoubleOrByteString>& arg);
- void PassNullableUnionWithDefaultValue16(const Nullable<DoubleOrByteString>& arg);
- void PassNullableUnionWithDefaultValue17(const Nullable<DoubleOrSupportedType>& arg);
- void PassNullableUnionWithDefaultValue18(const Nullable<DoubleOrSupportedType>& arg);
- void PassNullableUnionWithDefaultValue19(const Nullable<DoubleOrSupportedType>& arg);
- void PassNullableUnionWithDefaultValue20(const Nullable<DoubleOrSupportedType>& arg);
-
- void PassSequenceOfUnions(const Sequence<OwningCanvasPatternOrCanvasGradient>&);
- void PassSequenceOfUnions2(JSContext*, const Sequence<OwningObjectOrLong>&);
- void PassVariadicUnion(const Sequence<OwningCanvasPatternOrCanvasGradient>&);
-
- void PassSequenceOfNullableUnions(const Sequence<Nullable<OwningCanvasPatternOrCanvasGradient>>&);
- void PassVariadicNullableUnion(const Sequence<Nullable<OwningCanvasPatternOrCanvasGradient>>&);
- void PassMozMapOfUnions(const MozMap<OwningCanvasPatternOrCanvasGradient>&);
- void PassMozMapOfUnions2(JSContext*, const MozMap<OwningObjectOrLong>&);
-
- void ReceiveUnion(OwningCanvasPatternOrCanvasGradient&);
- void ReceiveUnion2(JSContext*, OwningObjectOrLong&);
- void ReceiveUnionContainingNull(OwningCanvasPatternOrNullOrCanvasGradient&);
- void ReceiveNullableUnion(Nullable<OwningCanvasPatternOrCanvasGradient>&);
- void ReceiveNullableUnion2(JSContext*, Nullable<OwningObjectOrLong>&);
- void GetWritableUnion(OwningCanvasPatternOrCanvasGradient&);
- void SetWritableUnion(const CanvasPatternOrCanvasGradient&);
- void GetWritableUnionContainingNull(OwningCanvasPatternOrNullOrCanvasGradient&);
- void SetWritableUnionContainingNull(const CanvasPatternOrNullOrCanvasGradient&);
- void GetWritableNullableUnion(Nullable<OwningCanvasPatternOrCanvasGradient>&);
- void SetWritableNullableUnion(const Nullable<CanvasPatternOrCanvasGradient>&);
-
- // Date types
- void PassDate(Date);
- void PassNullableDate(const Nullable<Date>&);
- void PassOptionalDate(const Optional<Date>&);
- void PassOptionalNullableDate(const Optional<Nullable<Date> >&);
- void PassOptionalNullableDateWithDefaultValue(const Nullable<Date>&);
- void PassDateSequence(const Sequence<Date>&);
- void PassDateMozMap(const MozMap<Date>&);
- void PassNullableDateSequence(const Sequence<Nullable<Date> >&);
- Date ReceiveDate();
- Nullable<Date> ReceiveNullableDate();
-
- // Promise types
- void PassPromise(Promise&);
- void PassNullablePromise(Promise*);
- void PassOptionalPromise(const Optional<OwningNonNull<Promise>>&);
- void PassOptionalNullablePromise(const Optional<RefPtr<Promise>>&);
- void PassOptionalNullablePromiseWithDefaultValue(Promise*);
- void PassPromiseSequence(const Sequence<OwningNonNull<Promise>>&);
- void PassPromiseMozMap(const MozMap<RefPtr<Promise>>&);
- void PassNullablePromiseSequence(const Sequence<RefPtr<Promise>> &);
- Promise* ReceivePromise();
- already_AddRefed<Promise> ReceiveAddrefedPromise();
-
- // binaryNames tests
- void MethodRenamedTo();
- void OtherMethodRenamedTo();
- void MethodRenamedTo(int8_t);
- int8_t AttributeGetterRenamedTo();
- int8_t AttributeRenamedTo();
- void SetAttributeRenamedTo(int8_t);
- int8_t OtherAttributeRenamedTo();
- void SetOtherAttributeRenamedTo(int8_t);
-
- // Dictionary tests
- void PassDictionary(JSContext*, const Dict&);
- void PassDictionary2(JSContext*, const Dict&);
- void GetReadonlyDictionary(JSContext*, Dict&);
- void GetReadonlyNullableDictionary(JSContext*, Nullable<Dict>&);
- void GetWritableDictionary(JSContext*, Dict&);
- void SetWritableDictionary(JSContext*, const Dict&);
- void GetReadonlyFrozenDictionary(JSContext*, Dict&);
- void GetReadonlyFrozenNullableDictionary(JSContext*, Nullable<Dict>&);
- void GetWritableFrozenDictionary(JSContext*, Dict&);
- void SetWritableFrozenDictionary(JSContext*, const Dict&);
- void ReceiveDictionary(JSContext*, Dict&);
- void ReceiveNullableDictionary(JSContext*, Nullable<Dict>&);
- void PassOtherDictionary(const GrandparentDict&);
- void PassSequenceOfDictionaries(JSContext*, const Sequence<Dict>&);
- void PassMozMapOfDictionaries(const MozMap<GrandparentDict>&);
- void PassDictionaryOrLong(JSContext*, const Dict&);
- void PassDictionaryOrLong(int32_t);
- void PassDictContainingDict(JSContext*, const DictContainingDict&);
- void PassDictContainingSequence(JSContext*, const DictContainingSequence&);
- void ReceiveDictContainingSequence(JSContext*, DictContainingSequence&);
- void PassVariadicDictionary(JSContext*, const Sequence<Dict>&);
-
- // Typedefs
- void ExerciseTypedefInterfaces1(TestInterface&);
- already_AddRefed<TestInterface> ExerciseTypedefInterfaces2(TestInterface*);
- void ExerciseTypedefInterfaces3(TestInterface&);
-
- // Deprecated methods and attributes
- int8_t DeprecatedAttribute();
- int8_t SetDeprecatedAttribute(int8_t);
- int8_t DeprecatedMethod();
- int8_t DeprecatedMethodWithContext(JSContext*, const JS::Value&);
-
- // Static methods and attributes
- static void StaticMethod(const GlobalObject&, bool);
- static void StaticMethodWithContext(const GlobalObject&, const JS::Value&);
- static bool StaticAttribute(const GlobalObject&);
- static void SetStaticAttribute(const GlobalObject&, bool);
- static void Assert(const GlobalObject&, bool);
-
- // Deprecated static methods and attributes
- static int8_t StaticDeprecatedAttribute(const GlobalObject&);
- static int8_t SetStaticDeprecatedAttribute(const GlobalObject&, int8_t);
- static int8_t StaticDeprecatedMethod(const GlobalObject&);
- static int8_t StaticDeprecatedMethodWithContext(const GlobalObject&, const JS::Value&);
-
- // Overload resolution tests
- bool Overload1(TestInterface&);
- TestInterface* Overload1(const nsAString&, TestInterface&);
- void Overload2(TestInterface&);
- void Overload2(JSContext*, const Dict&);
- void Overload2(bool);
- void Overload2(const nsAString&);
- void Overload2(Date);
- void Overload3(TestInterface&);
- void Overload3(const TestCallback&);
- void Overload3(bool);
- void Overload4(TestInterface&);
- void Overload4(TestCallbackInterface&);
- void Overload4(const nsAString&);
- void Overload5(int32_t);
- void Overload5(TestEnum);
- void Overload6(int32_t);
- void Overload6(bool);
- void Overload7(int32_t);
- void Overload7(bool);
- void Overload7(const nsCString&);
- void Overload8(int32_t);
- void Overload8(TestInterface&);
- void Overload9(const Nullable<int32_t>&);
- void Overload9(const nsAString&);
- void Overload10(const Nullable<int32_t>&);
- void Overload10(JSContext*, JS::Handle<JSObject*>);
- void Overload11(int32_t);
- void Overload11(const nsAString&);
- void Overload12(int32_t);
- void Overload12(const Nullable<bool>&);
- void Overload13(const Nullable<int32_t>&);
- void Overload13(bool);
- void Overload14(const Optional<int32_t>&);
- void Overload14(TestInterface&);
- void Overload15(int32_t);
- void Overload15(const Optional<NonNull<TestInterface> >&);
- void Overload16(int32_t);
- void Overload16(const Optional<TestInterface*>&);
- void Overload17(const Sequence<int32_t>&);
- void Overload17(const MozMap<int32_t>&);
- void Overload18(const MozMap<nsString>&);
- void Overload18(const Sequence<nsString>&);
- void Overload19(const Sequence<int32_t>&);
- void Overload19(JSContext*, const Dict&);
- void Overload20(JSContext*, const Dict&);
- void Overload20(const Sequence<int32_t>&);
-
- // Variadic handling
- void PassVariadicThirdArg(const nsAString&, int32_t,
- const Sequence<OwningNonNull<TestInterface> >&);
-
- // Conditionally exposed methods/attributes
- bool Prefable1();
- bool Prefable2();
- bool Prefable3();
- bool Prefable4();
- bool Prefable5();
- bool Prefable6();
- bool Prefable7();
- bool Prefable8();
- bool Prefable9();
- void Prefable10();
- void Prefable11();
- bool Prefable12();
- void Prefable13();
- bool Prefable14();
- bool Prefable15();
- bool Prefable16();
- void Prefable17();
- void Prefable18();
- void Prefable19();
- void Prefable20();
- void Prefable21();
- void Prefable22();
- void Prefable23();
- void Prefable24();
-
- // Conditionally exposed methods/attributes involving [SecureContext]
- bool ConditionalOnSecureContext1();
- bool ConditionalOnSecureContext2();
- bool ConditionalOnSecureContext3();
- bool ConditionalOnSecureContext4();
- void ConditionalOnSecureContext5();
- void ConditionalOnSecureContext6();
- void ConditionalOnSecureContext7();
- void ConditionalOnSecureContext8();
-
- // Miscellania
- int32_t AttrWithLenientThis();
- void SetAttrWithLenientThis(int32_t);
- uint32_t UnforgeableAttr();
- uint32_t UnforgeableAttr2();
- uint32_t UnforgeableMethod();
- uint32_t UnforgeableMethod2();
- void Stringify(nsString&);
- void PassRenamedInterface(nsRenamedInterface&);
- TestInterface* PutForwardsAttr();
- TestInterface* PutForwardsAttr2();
- TestInterface* PutForwardsAttr3();
- void GetJsonifierShouldSkipThis(JSContext*, JS::MutableHandle<JS::Value>);
- void SetJsonifierShouldSkipThis(JSContext*, JS::Rooted<JS::Value>&);
- TestParentInterface* JsonifierShouldSkipThis2();
- void SetJsonifierShouldSkipThis2(TestParentInterface&);
- TestCallbackInterface* JsonifierShouldSkipThis3();
- void SetJsonifierShouldSkipThis3(TestCallbackInterface&);
- void ThrowingMethod(ErrorResult& aRv);
- bool GetThrowingAttr(ErrorResult& aRv) const;
- void SetThrowingAttr(bool arg, ErrorResult& aRv);
- bool GetThrowingGetterAttr(ErrorResult& aRv) const;
- void SetThrowingGetterAttr(bool arg);
- bool ThrowingSetterAttr() const;
- void SetThrowingSetterAttr(bool arg, ErrorResult& aRv);
- void NeedsSubjectPrincipalMethod(nsIPrincipal&);
- bool NeedsSubjectPrincipalAttr(nsIPrincipal&);
- void SetNeedsSubjectPrincipalAttr(bool, nsIPrincipal&);
- void NeedsCallerTypeMethod(CallerType);
- bool NeedsCallerTypeAttr(CallerType);
- void SetNeedsCallerTypeAttr(bool, CallerType);
- void CeReactionsMethod();
- void CeReactionsMethodOverload();
- void CeReactionsMethodOverload(const nsAString&);
- bool CeReactionsAttr() const;
- void SetCeReactionsAttr(bool);
- int16_t LegacyCall(const JS::Value&, uint32_t, TestInterface&);
- void PassArgsWithDefaults(JSContext*, const Optional<int32_t>&,
- TestInterface*, const Dict&, double,
- const Optional<float>&);
-
- void SetDashed_attribute(int8_t);
- int8_t Dashed_attribute();
- void Dashed_method();
-
- // Methods and properties imported via "implements"
- bool ImplementedProperty();
- void SetImplementedProperty(bool);
- void ImplementedMethod();
- bool ImplementedParentProperty();
- void SetImplementedParentProperty(bool);
- void ImplementedParentMethod();
- bool IndirectlyImplementedProperty();
- void SetIndirectlyImplementedProperty(bool);
- void IndirectlyImplementedMethod();
- uint32_t DiamondImplementedProperty();
-
- // Test EnforceRange/Clamp
- void DontEnforceRangeOrClamp(int8_t);
- void DoEnforceRange(int8_t);
- void DoClamp(int8_t);
- void SetEnforcedByte(int8_t);
- int8_t EnforcedByte();
- void SetClampedByte(int8_t);
- int8_t ClampedByte();
-
-private:
- // We add signatures here that _could_ start matching if the codegen
- // got data types wrong. That way if it ever does we'll have a call
- // to these private deleted methods and compilation will fail.
- void SetReadonlyByte(int8_t) = delete;
- template<typename T>
- void SetWritableByte(T) = delete;
- template<typename T>
- void PassByte(T) = delete;
- void PassNullableByte(Nullable<int8_t>&) = delete;
- template<typename T>
- void PassOptionalByte(const Optional<T>&) = delete;
- template<typename T>
- void PassOptionalByteWithDefault(T) = delete;
- void PassVariadicByte(Sequence<int8_t>&) = delete;
-
- void SetReadonlyShort(int16_t) = delete;
- template<typename T>
- void SetWritableShort(T) = delete;
- template<typename T>
- void PassShort(T) = delete;
- template<typename T>
- void PassOptionalShort(const Optional<T>&) = delete;
- template<typename T>
- void PassOptionalShortWithDefault(T) = delete;
-
- void SetReadonlyLong(int32_t) = delete;
- template<typename T>
- void SetWritableLong(T) = delete;
- template<typename T>
- void PassLong(T) = delete;
- template<typename T>
- void PassOptionalLong(const Optional<T>&) = delete;
- template<typename T>
- void PassOptionalLongWithDefault(T) = delete;
-
- void SetReadonlyLongLong(int64_t) = delete;
- template<typename T>
- void SetWritableLongLong(T) = delete;
- template<typename T>
- void PassLongLong(T) = delete;
- template<typename T>
- void PassOptionalLongLong(const Optional<T>&) = delete;
- template<typename T>
- void PassOptionalLongLongWithDefault(T) = delete;
-
- void SetReadonlyOctet(uint8_t) = delete;
- template<typename T>
- void SetWritableOctet(T) = delete;
- template<typename T>
- void PassOctet(T) = delete;
- template<typename T>
- void PassOptionalOctet(const Optional<T>&) = delete;
- template<typename T>
- void PassOptionalOctetWithDefault(T) = delete;
-
- void SetReadonlyUnsignedShort(uint16_t) = delete;
- template<typename T>
- void SetWritableUnsignedShort(T) = delete;
- template<typename T>
- void PassUnsignedShort(T) = delete;
- template<typename T>
- void PassOptionalUnsignedShort(const Optional<T>&) = delete;
- template<typename T>
- void PassOptionalUnsignedShortWithDefault(T) = delete;
-
- void SetReadonlyUnsignedLong(uint32_t) = delete;
- template<typename T>
- void SetWritableUnsignedLong(T) = delete;
- template<typename T>
- void PassUnsignedLong(T) = delete;
- template<typename T>
- void PassOptionalUnsignedLong(const Optional<T>&) = delete;
- template<typename T>
- void PassOptionalUnsignedLongWithDefault(T) = delete;
-
- void SetReadonlyUnsignedLongLong(uint64_t) = delete;
- template<typename T>
- void SetWritableUnsignedLongLong(T) = delete;
- template<typename T>
- void PassUnsignedLongLong(T) = delete;
- template<typename T>
- void PassOptionalUnsignedLongLong(const Optional<T>&) = delete;
- template<typename T>
- void PassOptionalUnsignedLongLongWithDefault(T) = delete;
-
- // Enforce that only const things are passed for sequences
- void PassSequence(Sequence<int32_t> &) = delete;
- void PassNullableSequence(Nullable< Sequence<int32_t> >&) = delete;
- void PassOptionalNullableSequenceWithDefaultValue(Nullable< Sequence<int32_t> >&) = delete;
- void PassSequenceOfAny(JSContext*, Sequence<JS::Value>&) = delete;
- void PassNullableSequenceOfAny(JSContext*, Nullable<Sequence<JS::Value> >&) = delete;
- void PassOptionalSequenceOfAny(JSContext*, Optional<Sequence<JS::Value> >&) = delete;
- void PassOptionalNullableSequenceOfAny(JSContext*, Optional<Nullable<Sequence<JS::Value> > >&) = delete;
- void PassOptionalSequenceOfAnyWithDefaultValue(JSContext*, Nullable<Sequence<JS::Value> >&) = delete;
- void PassSequenceOfSequenceOfAny(JSContext*, Sequence<Sequence<JS::Value> >&) = delete;
- void PassSequenceOfNullableSequenceOfAny(JSContext*, Sequence<Nullable<Sequence<JS::Value> > >&) = delete;
- void PassNullableSequenceOfNullableSequenceOfAny(JSContext*, Nullable<Sequence<Nullable<Sequence<JS::Value> > > >&) = delete;
- void PassOptionalNullableSequenceOfNullableSequenceOfAny(JSContext*, Optional<Nullable<Sequence<Nullable<Sequence<JS::Value> > > > >&) = delete;
- void PassSequenceOfObject(JSContext*, Sequence<JSObject*>&) = delete;
- void PassSequenceOfNullableObject(JSContext*, Sequence<JSObject*>&) = delete;
- void PassOptionalNullableSequenceOfNullableSequenceOfObject(JSContext*, Optional<Nullable<Sequence<Nullable<Sequence<JSObject*> > > > >&) = delete;
- void PassOptionalNullableSequenceOfNullableSequenceOfNullableObject(JSContext*, Optional<Nullable<Sequence<Nullable<Sequence<JSObject*> > > > >&) = delete;
-
- // Enforce that only const things are passed for optional
- void PassOptionalByte(Optional<int8_t>&) = delete;
- void PassOptionalNullableByte(Optional<Nullable<int8_t> >&) = delete;
- void PassOptionalShort(Optional<int16_t>&) = delete;
- void PassOptionalLong(Optional<int32_t>&) = delete;
- void PassOptionalLongLong(Optional<int64_t>&) = delete;
- void PassOptionalOctet(Optional<uint8_t>&) = delete;
- void PassOptionalUnsignedShort(Optional<uint16_t>&) = delete;
- void PassOptionalUnsignedLong(Optional<uint32_t>&) = delete;
- void PassOptionalUnsignedLongLong(Optional<uint64_t>&) = delete;
- void PassOptionalSelf(Optional<TestInterface*> &) = delete;
- void PassOptionalNonNullSelf(Optional<NonNull<TestInterface> >&) = delete;
- void PassOptionalOther(Optional<IndirectlyImplementedInterface*>&);
- void PassOptionalNonNullOther(Optional<NonNull<IndirectlyImplementedInterface> >&);
- void PassOptionalExternal(Optional<TestExternalInterface*>&) = delete;
- void PassOptionalNonNullExternal(Optional<TestExternalInterface*>&) = delete;
- void PassOptionalSequence(Optional<Sequence<int32_t> >&) = delete;
- void PassOptionalNullableSequence(Optional<Nullable<Sequence<int32_t> > >&) = delete;
- void PassOptionalObjectSequence(Optional<Sequence<OwningNonNull<TestInterface> > >&) = delete;
- void PassOptionalArrayBuffer(Optional<ArrayBuffer>&) = delete;
- void PassOptionalNullableArrayBuffer(Optional<ArrayBuffer*>&) = delete;
- void PassOptionalEnum(Optional<TestEnum>&) = delete;
- void PassOptionalCallback(JSContext*, Optional<OwningNonNull<TestCallback> >&) = delete;
- void PassOptionalNullableCallback(JSContext*, Optional<RefPtr<TestCallback> >&) = delete;
- void PassOptionalAny(Optional<JS::Handle<JS::Value> >&) = delete;
-
- // And test that string stuff is always const
- void PassString(nsAString&) = delete;
- void PassNullableString(nsAString&) = delete;
- void PassOptionalString(Optional<nsAString>&) = delete;
- void PassOptionalStringWithDefaultValue(nsAString&) = delete;
- void PassOptionalNullableString(Optional<nsAString>&) = delete;
- void PassOptionalNullableStringWithDefaultValue(nsAString&) = delete;
- void PassVariadicString(Sequence<nsString>&) = delete;
-
- // cstrings should be const as well
- void PassByteString(nsCString&) = delete;
- void PassNullableByteString(nsCString&) = delete;
- void PassOptionalByteString(Optional<nsCString>&) = delete;
- void PassOptionalByteStringWithDefaultValue(nsCString&) = delete;
- void PassOptionalNullableByteString(Optional<nsCString>&) = delete;
- void PassOptionalNullableByteStringWithDefaultValue(nsCString&) = delete;
- void PassVariadicByteString(Sequence<nsCString>&) = delete;
-
- // Make sure dictionary arguments are always const
- void PassDictionary(JSContext*, Dict&) = delete;
- void PassOtherDictionary(GrandparentDict&) = delete;
- void PassSequenceOfDictionaries(JSContext*, Sequence<Dict>&) = delete;
- void PassDictionaryOrLong(JSContext*, Dict&) = delete;
- void PassDictContainingDict(JSContext*, DictContainingDict&) = delete;
- void PassDictContainingSequence(DictContainingSequence&) = delete;
-
- // Make sure various nullable things are always const
- void PassNullableEnum(Nullable<TestEnum>&) = delete;
-
- // Make sure unions are always const
- void PassUnion(JSContext*, ObjectOrLong& arg) = delete;
- void PassUnionWithNullable(JSContext*, ObjectOrNullOrLong& arg) = delete;
- void PassNullableUnion(JSContext*, Nullable<ObjectOrLong>&) = delete;
- void PassOptionalUnion(JSContext*, Optional<ObjectOrLong>&) = delete;
- void PassOptionalNullableUnion(JSContext*, Optional<Nullable<ObjectOrLong> >&) = delete;
- void PassOptionalNullableUnionWithDefaultValue(JSContext*, Nullable<ObjectOrLong>&) = delete;
-
- // Make sure various date stuff is const as needed
- void PassNullableDate(Nullable<Date>&) = delete;
- void PassOptionalDate(Optional<Date>&) = delete;
- void PassOptionalNullableDate(Optional<Nullable<Date> >&) = delete;
- void PassOptionalNullableDateWithDefaultValue(Nullable<Date>&) = delete;
- void PassDateSequence(Sequence<Date>&) = delete;
- void PassNullableDateSequence(Sequence<Nullable<Date> >&) = delete;
-
- // Make sure variadics are const as needed
- void PassVariadicAny(JSContext*, Sequence<JS::Value>&) = delete;
- void PassVariadicObject(JSContext*, Sequence<JSObject*>&) = delete;
- void PassVariadicNullableObject(JSContext*, Sequence<JSObject*>&) = delete;
-
- // Ensure NonNull does not leak in
- void PassSelf(NonNull<TestInterface>&) = delete;
- void PassSelf(OwningNonNull<TestInterface>&) = delete;
- void PassSelf(const NonNull<TestInterface>&) = delete;
- void PassSelf(const OwningNonNull<TestInterface>&) = delete;
- void PassOther(NonNull<IndirectlyImplementedInterface>&) = delete;
- void PassOther(const NonNull<IndirectlyImplementedInterface>&) = delete;
- void PassOther(OwningNonNull<IndirectlyImplementedInterface>&) = delete;
- void PassOther(const OwningNonNull<IndirectlyImplementedInterface>&) = delete;
- void PassCallbackInterface(OwningNonNull<TestCallbackInterface>&) = delete;
- void PassCallbackInterface(const OwningNonNull<TestCallbackInterface>&) = delete;
- void PassCallbackInterface(NonNull<TestCallbackInterface>&) = delete;
- void PassCallbackInterface(const NonNull<TestCallbackInterface>&) = delete;
- void PassCallback(OwningNonNull<TestCallback>&) = delete;
- void PassCallback(const OwningNonNull<TestCallback>&) = delete;
- void PassCallback(NonNull<TestCallback>&) = delete;
- void PassCallback(const NonNull<TestCallback>&) = delete;
- void PassString(const NonNull<nsAString>&) = delete;
- void PassString(NonNull<nsAString>&) = delete;
- void PassString(const OwningNonNull<nsAString>&) = delete;
- void PassString(OwningNonNull<nsAString>&) = delete;
-};
-
-class TestIndexedGetterInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-
- uint32_t IndexedGetter(uint32_t, bool&);
- uint32_t IndexedGetter(uint32_t&) = delete;
- uint32_t Item(uint32_t&);
- uint32_t Item(uint32_t, bool&) = delete;
- uint32_t Length();
- void LegacyCall(JS::Handle<JS::Value>);
-};
-
-class TestNamedGetterInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-
- void NamedGetter(const nsAString&, bool&, nsAString&);
- void GetSupportedNames(nsTArray<nsString>&);
-};
-
-class TestIndexedGetterAndSetterAndNamedGetterInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-
- void NamedGetter(const nsAString&, bool&, nsAString&);
- void GetSupportedNames(nsTArray<nsString>&);
- int32_t IndexedGetter(uint32_t, bool&);
- void IndexedSetter(uint32_t, int32_t);
- uint32_t Length();
-};
-
-class TestIndexedAndNamedGetterInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-
- uint32_t IndexedGetter(uint32_t, bool&);
- void NamedGetter(const nsAString&, bool&, nsAString&);
- void NamedItem(const nsAString&, nsAString&);
- uint32_t Length();
- void GetSupportedNames(nsTArray<nsString>&);
-};
-
-class TestIndexedSetterInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-
- void IndexedSetter(uint32_t, const nsAString&);
- void IndexedGetter(uint32_t, bool&, nsString&);
- uint32_t Length();
- void SetItem(uint32_t, const nsAString&);
-};
-
-class TestNamedSetterInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-
- void NamedSetter(const nsAString&, TestIndexedSetterInterface&);
- TestIndexedSetterInterface* NamedGetter(const nsAString&, bool&);
- void GetSupportedNames(nsTArray<nsString>&);
-};
-
-class TestIndexedAndNamedSetterInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-
- void IndexedSetter(uint32_t, TestIndexedSetterInterface&);
- TestIndexedSetterInterface* IndexedGetter(uint32_t, bool&);
- uint32_t Length();
- void NamedSetter(const nsAString&, TestIndexedSetterInterface&);
- TestIndexedSetterInterface* NamedGetter(const nsAString&, bool&);
- void SetNamedItem(const nsAString&, TestIndexedSetterInterface&);
- void GetSupportedNames(nsTArray<nsString>&);
-};
-
-class TestIndexedAndNamedGetterAndSetterInterface : public TestIndexedSetterInterface
-{
-public:
- uint32_t IndexedGetter(uint32_t, bool&);
- uint32_t Item(uint32_t);
- void NamedGetter(const nsAString&, bool&, nsAString&);
- void NamedItem(const nsAString&, nsAString&);
- void IndexedSetter(uint32_t, int32_t&);
- void IndexedSetter(uint32_t, const nsAString&) = delete;
- void NamedSetter(const nsAString&, const nsAString&);
- void Stringify(nsAString&);
- uint32_t Length();
- void GetSupportedNames(nsTArray<nsString>&);
-};
-
-class TestCppKeywordNamedMethodsInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-
- bool Continue();
- bool Delete();
- int32_t Volatile();
-};
-
-class TestNamedDeleterInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-
- void NamedDeleter(const nsAString&, bool&);
- long NamedGetter(const nsAString&, bool&);
- void GetSupportedNames(nsTArray<nsString>&);
-};
-
-class TestNamedDeleterWithRetvalInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-
- bool NamedDeleter(const nsAString&, bool&);
- bool NamedDeleter(const nsAString&) = delete;
- long NamedGetter(const nsAString&, bool&);
- bool DelNamedItem(const nsAString&);
- bool DelNamedItem(const nsAString&, bool&) = delete;
- void GetSupportedNames(nsTArray<nsString>&);
-};
-
-class TestParentInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-};
-
-class TestChildInterface : public TestParentInterface
-{
-};
-
-class TestDeprecatedInterface : public nsISupports, public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- static
- already_AddRefed<TestDeprecatedInterface>
- Constructor(const GlobalObject&, ErrorResult&);
-
- static void AlsoDeprecated(const GlobalObject&);
-
- virtual nsISupports* GetParentObject();
-};
-
-class TestInterfaceWithPromiseConstructorArg : public nsISupports, public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- static
- already_AddRefed<TestInterfaceWithPromiseConstructorArg>
- Constructor(const GlobalObject&, Promise&, ErrorResult&);
-
- virtual nsISupports* GetParentObject();
-};
-
-class TestSecureContextInterface : public nsISupports, public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- static
- already_AddRefed<TestSecureContextInterface>
- Constructor(const GlobalObject&, ErrorResult&);
-
- static void AlsoSecureContext(const GlobalObject&);
-
- virtual nsISupports* GetParentObject();
-};
-
-class TestNamespace {
-public:
- static bool Foo(const GlobalObject&);
- static int32_t Bar(const GlobalObject&);
- static void Baz(const GlobalObject&);
-};
-
-class TestRenamedNamespace {
-};
-
-class TestProtoObjectHackedNamespace {
-};
-
-class TestWorkerExposedInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- nsISupports* GetParentObject();
-
- void NeedsSubjectPrincipalMethod(Maybe<nsIPrincipal*>);
- bool NeedsSubjectPrincipalAttr(Maybe<nsIPrincipal*>);
- void SetNeedsSubjectPrincipalAttr(bool, Maybe<nsIPrincipal*>);
- void NeedsCallerTypeMethod(CallerType);
- bool NeedsCallerTypeAttr(CallerType);
- void SetNeedsCallerTypeAttr(bool, CallerType);
-};
-
-class TestHTMLConstructorInterface : public nsGenericHTMLElement
-{
-public:
- virtual nsISupports* GetParentObject();
-};
-
-class TestCEReactionsInterface : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_ISUPPORTS
-
- // We need a GetParentObject to make binding codegen happy
- virtual nsISupports* GetParentObject();
-
- int32_t Item(uint32_t);
- uint32_t Length() const;
- int32_t IndexedGetter(uint32_t, bool &);
- void IndexedSetter(uint32_t, int32_t);
- void NamedDeleter(const nsAString&, bool &);
- void NamedGetter(const nsAString&, bool &, nsString&);
- void NamedSetter(const nsAString&, const nsAString&);
- void GetSupportedNames(nsTArray<nsString>&);
-};
-
-} // namespace dom
-} // namespace mozilla
-
-#endif /* TestBindingHeader_h */
diff --git a/dom/bindings/test/TestCImplementedInterface.h b/dom/bindings/test/TestCImplementedInterface.h
deleted file mode 100644
index 64b5c9954a..0000000000
--- a/dom/bindings/test/TestCImplementedInterface.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* 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/.
- */
-
-#ifndef TestCImplementedInterface_h
-#define TestCImplementedInterface_h
-
-#include "../TestJSImplGenBinding.h"
-
-namespace mozilla {
-namespace dom {
-
-class TestCImplementedInterface : public TestJSImplInterface
-{
-public:
- TestCImplementedInterface(JS::Handle<JSObject*> aJSImpl,
- nsIGlobalObject* aParent)
- : TestJSImplInterface(aJSImpl, aParent)
- {}
-};
-
-class TestCImplementedInterface2 : public nsISupports,
- public nsWrapperCache
-{
-public:
- explicit TestCImplementedInterface2(nsIGlobalObject* aParent)
- {}
- NS_DECL_CYCLE_COLLECTING_ISUPPORTS
- NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(TestCImplementedInterface2)
-
- // We need a GetParentObject to make binding codegen happy
- nsISupports* GetParentObject();
-};
-
-
-
-} // namespace dom
-} // namespace mozilla
-
-#endif // TestCImplementedInterface_h
diff --git a/dom/bindings/test/TestCodeGen.webidl b/dom/bindings/test/TestCodeGen.webidl
deleted file mode 100644
index 3fce5e21b7..0000000000
--- a/dom/bindings/test/TestCodeGen.webidl
+++ /dev/null
@@ -1,1281 +0,0 @@
-/* -*- 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/.
- */
-
-typedef long myLong;
-typedef TestInterface AnotherNameForTestInterface;
-typedef TestInterface? NullableTestInterface;
-typedef CustomEventInit TestDictionaryTypedef;
-
-interface TestExternalInterface;
-
-[Pref="xyz"]
-interface TestRenamedInterface {
-};
-
-callback interface TestCallbackInterface {
- readonly attribute long foo;
- attribute DOMString bar;
- void doSomething();
- long doSomethingElse(DOMString arg, TestInterface otherArg);
- void doSequenceLongArg(sequence<long> arg);
- void doSequenceStringArg(sequence<DOMString> arg);
- void doMozMapLongArg(MozMap<long> arg);
- sequence<long> getSequenceOfLong();
- sequence<TestInterface> getSequenceOfInterfaces();
- sequence<TestInterface>? getNullableSequenceOfInterfaces();
- sequence<TestInterface?> getSequenceOfNullableInterfaces();
- sequence<TestInterface?>? getNullableSequenceOfNullableInterfaces();
- sequence<TestCallbackInterface> getSequenceOfCallbackInterfaces();
- sequence<TestCallbackInterface>? getNullableSequenceOfCallbackInterfaces();
- sequence<TestCallbackInterface?> getSequenceOfNullableCallbackInterfaces();
- sequence<TestCallbackInterface?>? getNullableSequenceOfNullableCallbackInterfaces();
- MozMap<long> getMozMapOfLong();
- Dict? getDictionary();
- void passArrayBuffer(ArrayBuffer arg);
- void passNullableArrayBuffer(ArrayBuffer? arg);
- void passOptionalArrayBuffer(optional ArrayBuffer arg);
- void passOptionalNullableArrayBuffer(optional ArrayBuffer? arg);
- void passOptionalNullableArrayBufferWithDefaultValue(optional ArrayBuffer? arg= null);
- void passArrayBufferView(ArrayBufferView arg);
- void passInt8Array(Int8Array arg);
- void passInt16Array(Int16Array arg);
- void passInt32Array(Int32Array arg);
- void passUint8Array(Uint8Array arg);
- void passUint16Array(Uint16Array arg);
- void passUint32Array(Uint32Array arg);
- void passUint8ClampedArray(Uint8ClampedArray arg);
- void passFloat32Array(Float32Array arg);
- void passFloat64Array(Float64Array arg);
- void passSequenceOfArrayBuffers(sequence<ArrayBuffer> arg);
- void passSequenceOfNullableArrayBuffers(sequence<ArrayBuffer?> arg);
- void passVariadicTypedArray(Float32Array... arg);
- void passVariadicNullableTypedArray(Float32Array?... arg);
- Uint8Array receiveUint8Array();
- attribute Uint8Array uint8ArrayAttr;
- Promise<void> receivePromise();
-};
-
-callback interface TestSingleOperationCallbackInterface {
- TestInterface doSomething(short arg, sequence<double> anotherArg);
-};
-
-enum TestEnum {
- "1",
- "a",
- "b"
-};
-
-callback TestCallback = void();
-[TreatNonCallableAsNull] callback TestTreatAsNullCallback = void();
-
-// Callback return value tests
-callback TestIntegerReturn = long();
-callback TestNullableIntegerReturn = long?();
-callback TestBooleanReturn = boolean();
-callback TestFloatReturn = float();
-callback TestStringReturn = DOMString(long arg);
-callback TestEnumReturn = TestEnum();
-callback TestInterfaceReturn = TestInterface();
-callback TestNullableInterfaceReturn = TestInterface?();
-callback TestExternalInterfaceReturn = TestExternalInterface();
-callback TestNullableExternalInterfaceReturn = TestExternalInterface?();
-callback TestCallbackInterfaceReturn = TestCallbackInterface();
-callback TestNullableCallbackInterfaceReturn = TestCallbackInterface?();
-callback TestCallbackReturn = TestCallback();
-callback TestNullableCallbackReturn = TestCallback?();
-callback TestObjectReturn = object();
-callback TestNullableObjectReturn = object?();
-callback TestTypedArrayReturn = ArrayBuffer();
-callback TestNullableTypedArrayReturn = ArrayBuffer?();
-callback TestSequenceReturn = sequence<boolean>();
-callback TestNullableSequenceReturn = sequence<boolean>?();
-// Callback argument tests
-callback TestIntegerArguments = sequence<long>(long arg1, long? arg2,
- sequence<long> arg3,
- sequence<long?>? arg4);
-callback TestInterfaceArguments = void(TestInterface arg1, TestInterface? arg2,
- TestExternalInterface arg3,
- TestExternalInterface? arg4,
- TestCallbackInterface arg5,
- TestCallbackInterface? arg6,
- sequence<TestInterface> arg7,
- sequence<TestInterface?>? arg8,
- sequence<TestExternalInterface> arg9,
- sequence<TestExternalInterface?>? arg10,
- sequence<TestCallbackInterface> arg11,
- sequence<TestCallbackInterface?>? arg12);
-callback TestStringEnumArguments = void(DOMString myString, DOMString? nullString,
- TestEnum myEnum);
-callback TestObjectArguments = void(object anObj, object? anotherObj,
- ArrayBuffer buf, ArrayBuffer? buf2);
-callback TestOptionalArguments = void(optional DOMString aString,
- optional object something,
- optional sequence<TestInterface> aSeq,
- optional TestInterface? anInterface,
- optional TestInterface anotherInterface,
- optional long aLong);
-// If you add a new test callback, add it to the forceCallbackGeneration
-// method on TestInterface so it actually gets tested.
-
-TestInterface implements ImplementedInterface;
-
-// This interface is only for use in the constructor below
-interface OnlyForUseInConstructor {
-};
-
-[Constructor,
- Constructor(DOMString str),
- Constructor(unsigned long num, boolean? boolArg),
- Constructor(TestInterface? iface),
- Constructor(long arg1, IndirectlyImplementedInterface iface),
- Constructor(Date arg1),
- Constructor(ArrayBuffer arrayBuf),
- Constructor(Uint8Array typedArr),
- // Constructor(long arg1, long arg2, (TestInterface or OnlyForUseInConstructor) arg3),
- NamedConstructor=Test,
- NamedConstructor=Test(DOMString str),
- NamedConstructor=Test2(DictForConstructor dict, any any1, object obj1,
- object? obj2, sequence<Dict> seq, optional any any2,
- optional object obj3, optional object? obj4),
- NamedConstructor=Test3((long or MozMap<any>) arg1)
- ]
-interface TestInterface {
- // Integer types
- // XXXbz add tests for throwing versions of all the integer stuff
- readonly attribute byte readonlyByte;
- attribute byte writableByte;
- void passByte(byte arg);
- byte receiveByte();
- void passOptionalByte(optional byte arg);
- void passOptionalByteBeforeRequired(optional byte arg1, byte arg2);
- void passOptionalByteWithDefault(optional byte arg = 0);
- void passOptionalByteWithDefaultBeforeRequired(optional byte arg1 = 0, byte arg2);
- void passNullableByte(byte? arg);
- void passOptionalNullableByte(optional byte? arg);
- void passVariadicByte(byte... arg);
- [StoreInSlot, Pure]
- readonly attribute byte cachedByte;
- [StoreInSlot, Constant]
- readonly attribute byte cachedConstantByte;
- [StoreInSlot, Pure]
- attribute byte cachedWritableByte;
- [Affects=Nothing]
- attribute byte sideEffectFreeByte;
- [Affects=Nothing, DependsOn=DOMState]
- attribute byte domDependentByte;
- [Affects=Nothing, DependsOn=Nothing]
- readonly attribute byte constantByte;
- [DependsOn=DeviceState, Affects=Nothing]
- readonly attribute byte deviceStateDependentByte;
- [Affects=Nothing]
- byte returnByteSideEffectFree();
- [Affects=Nothing, DependsOn=DOMState]
- byte returnDOMDependentByte();
- [Affects=Nothing, DependsOn=Nothing]
- byte returnConstantByte();
- [DependsOn=DeviceState, Affects=Nothing]
- byte returnDeviceStateDependentByte();
-
- [UnsafeInPrerendering]
- void unsafePrerenderMethod();
- [UnsafeInPrerendering]
- attribute long unsafePrerenderWritable;
- [UnsafeInPrerendering]
- readonly attribute long unsafePrerenderReadonly;
- readonly attribute short readonlyShort;
- attribute short writableShort;
- void passShort(short arg);
- short receiveShort();
- void passOptionalShort(optional short arg);
- void passOptionalShortWithDefault(optional short arg = 5);
-
- readonly attribute long readonlyLong;
- attribute long writableLong;
- void passLong(long arg);
- long receiveLong();
- void passOptionalLong(optional long arg);
- void passOptionalLongWithDefault(optional long arg = 7);
-
- readonly attribute long long readonlyLongLong;
- attribute long long writableLongLong;
- void passLongLong(long long arg);
- long long receiveLongLong();
- void passOptionalLongLong(optional long long arg);
- void passOptionalLongLongWithDefault(optional long long arg = -12);
-
- readonly attribute octet readonlyOctet;
- attribute octet writableOctet;
- void passOctet(octet arg);
- octet receiveOctet();
- void passOptionalOctet(optional octet arg);
- void passOptionalOctetWithDefault(optional octet arg = 19);
-
- readonly attribute unsigned short readonlyUnsignedShort;
- attribute unsigned short writableUnsignedShort;
- void passUnsignedShort(unsigned short arg);
- unsigned short receiveUnsignedShort();
- void passOptionalUnsignedShort(optional unsigned short arg);
- void passOptionalUnsignedShortWithDefault(optional unsigned short arg = 2);
-
- readonly attribute unsigned long readonlyUnsignedLong;
- attribute unsigned long writableUnsignedLong;
- void passUnsignedLong(unsigned long arg);
- unsigned long receiveUnsignedLong();
- void passOptionalUnsignedLong(optional unsigned long arg);
- void passOptionalUnsignedLongWithDefault(optional unsigned long arg = 6);
-
- readonly attribute unsigned long long readonlyUnsignedLongLong;
- attribute unsigned long long writableUnsignedLongLong;
- void passUnsignedLongLong(unsigned long long arg);
- unsigned long long receiveUnsignedLongLong();
- void passOptionalUnsignedLongLong(optional unsigned long long arg);
- void passOptionalUnsignedLongLongWithDefault(optional unsigned long long arg = 17);
-
- attribute float writableFloat;
- attribute unrestricted float writableUnrestrictedFloat;
- attribute float? writableNullableFloat;
- attribute unrestricted float? writableNullableUnrestrictedFloat;
- attribute double writableDouble;
- attribute unrestricted double writableUnrestrictedDouble;
- attribute double? writableNullableDouble;
- attribute unrestricted double? writableNullableUnrestrictedDouble;
- void passFloat(float arg1, unrestricted float arg2,
- float? arg3, unrestricted float? arg4,
- double arg5, unrestricted double arg6,
- double? arg7, unrestricted double? arg8,
- sequence<float> arg9, sequence<unrestricted float> arg10,
- sequence<float?> arg11, sequence<unrestricted float?> arg12,
- sequence<double> arg13, sequence<unrestricted double> arg14,
- sequence<double?> arg15, sequence<unrestricted double?> arg16);
- [LenientFloat]
- void passLenientFloat(float arg1, unrestricted float arg2,
- float? arg3, unrestricted float? arg4,
- double arg5, unrestricted double arg6,
- double? arg7, unrestricted double? arg8,
- sequence<float> arg9,
- sequence<unrestricted float> arg10,
- sequence<float?> arg11,
- sequence<unrestricted float?> arg12,
- sequence<double> arg13,
- sequence<unrestricted double> arg14,
- sequence<double?> arg15,
- sequence<unrestricted double?> arg16);
- [LenientFloat]
- attribute float lenientFloatAttr;
- [LenientFloat]
- attribute double lenientDoubleAttr;
-
- void passUnrestricted(optional unrestricted float arg1 = 0,
- optional unrestricted float arg2 = Infinity,
- optional unrestricted float arg3 = -Infinity,
- optional unrestricted float arg4 = NaN,
- optional unrestricted double arg5 = 0,
- optional unrestricted double arg6 = Infinity,
- optional unrestricted double arg7 = -Infinity,
- optional unrestricted double arg8 = NaN);
-
- // Castable interface types
- // XXXbz add tests for throwing versions of all the castable interface stuff
- TestInterface receiveSelf();
- TestInterface? receiveNullableSelf();
- TestInterface receiveWeakSelf();
- TestInterface? receiveWeakNullableSelf();
- void passSelf(TestInterface arg);
- void passNullableSelf(TestInterface? arg);
- attribute TestInterface nonNullSelf;
- attribute TestInterface? nullableSelf;
- [Cached, Pure]
- readonly attribute TestInterface cachedSelf;
- // Optional arguments
- void passOptionalSelf(optional TestInterface? arg);
- void passOptionalNonNullSelf(optional TestInterface arg);
- void passOptionalSelfWithDefault(optional TestInterface? arg = null);
-
- // Non-wrapper-cache interface types
- [NewObject]
- TestNonWrapperCacheInterface receiveNonWrapperCacheInterface();
- [NewObject]
- TestNonWrapperCacheInterface? receiveNullableNonWrapperCacheInterface();
- [NewObject]
- sequence<TestNonWrapperCacheInterface> receiveNonWrapperCacheInterfaceSequence();
- [NewObject]
- sequence<TestNonWrapperCacheInterface?> receiveNullableNonWrapperCacheInterfaceSequence();
- [NewObject]
- sequence<TestNonWrapperCacheInterface>? receiveNonWrapperCacheInterfaceNullableSequence();
- [NewObject]
- sequence<TestNonWrapperCacheInterface?>? receiveNullableNonWrapperCacheInterfaceNullableSequence();
-
- // Non-castable interface types
- IndirectlyImplementedInterface receiveOther();
- IndirectlyImplementedInterface? receiveNullableOther();
- IndirectlyImplementedInterface receiveWeakOther();
- IndirectlyImplementedInterface? receiveWeakNullableOther();
- void passOther(IndirectlyImplementedInterface arg);
- void passNullableOther(IndirectlyImplementedInterface? arg);
- attribute IndirectlyImplementedInterface nonNullOther;
- attribute IndirectlyImplementedInterface? nullableOther;
- // Optional arguments
- void passOptionalOther(optional IndirectlyImplementedInterface? arg);
- void passOptionalNonNullOther(optional IndirectlyImplementedInterface arg);
- void passOptionalOtherWithDefault(optional IndirectlyImplementedInterface? arg = null);
-
- // External interface types
- TestExternalInterface receiveExternal();
- TestExternalInterface? receiveNullableExternal();
- TestExternalInterface receiveWeakExternal();
- TestExternalInterface? receiveWeakNullableExternal();
- void passExternal(TestExternalInterface arg);
- void passNullableExternal(TestExternalInterface? arg);
- attribute TestExternalInterface nonNullExternal;
- attribute TestExternalInterface? nullableExternal;
- // Optional arguments
- void passOptionalExternal(optional TestExternalInterface? arg);
- void passOptionalNonNullExternal(optional TestExternalInterface arg);
- void passOptionalExternalWithDefault(optional TestExternalInterface? arg = null);
-
- // Callback interface types
- TestCallbackInterface receiveCallbackInterface();
- TestCallbackInterface? receiveNullableCallbackInterface();
- TestCallbackInterface receiveWeakCallbackInterface();
- TestCallbackInterface? receiveWeakNullableCallbackInterface();
- void passCallbackInterface(TestCallbackInterface arg);
- void passNullableCallbackInterface(TestCallbackInterface? arg);
- attribute TestCallbackInterface nonNullCallbackInterface;
- attribute TestCallbackInterface? nullableCallbackInterface;
- // Optional arguments
- void passOptionalCallbackInterface(optional TestCallbackInterface? arg);
- void passOptionalNonNullCallbackInterface(optional TestCallbackInterface arg);
- void passOptionalCallbackInterfaceWithDefault(optional TestCallbackInterface? arg = null);
-
- // Miscellaneous interface tests
- IndirectlyImplementedInterface receiveConsequentialInterface();
- void passConsequentialInterface(IndirectlyImplementedInterface arg);
-
- // Sequence types
- [Cached, Pure]
- readonly attribute sequence<long> readonlySequence;
- [Cached, Pure]
- readonly attribute sequence<Dict> readonlySequenceOfDictionaries;
- [Cached, Pure]
- readonly attribute sequence<Dict>? readonlyNullableSequenceOfDictionaries;
- [Cached, Pure, Frozen]
- readonly attribute sequence<Dict> readonlyFrozenSequence;
- [Cached, Pure, Frozen]
- readonly attribute sequence<Dict>? readonlyFrozenNullableSequence;
- sequence<long> receiveSequence();
- sequence<long>? receiveNullableSequence();
- sequence<long?> receiveSequenceOfNullableInts();
- sequence<long?>? receiveNullableSequenceOfNullableInts();
- void passSequence(sequence<long> arg);
- void passNullableSequence(sequence<long>? arg);
- void passSequenceOfNullableInts(sequence<long?> arg);
- void passOptionalSequenceOfNullableInts(optional sequence<long?> arg);
- void passOptionalNullableSequenceOfNullableInts(optional sequence<long?>? arg);
- sequence<TestInterface> receiveCastableObjectSequence();
- sequence<TestCallbackInterface> receiveCallbackObjectSequence();
- sequence<TestInterface?> receiveNullableCastableObjectSequence();
- sequence<TestCallbackInterface?> receiveNullableCallbackObjectSequence();
- sequence<TestInterface>? receiveCastableObjectNullableSequence();
- sequence<TestInterface?>? receiveNullableCastableObjectNullableSequence();
- sequence<TestInterface> receiveWeakCastableObjectSequence();
- sequence<TestInterface?> receiveWeakNullableCastableObjectSequence();
- sequence<TestInterface>? receiveWeakCastableObjectNullableSequence();
- sequence<TestInterface?>? receiveWeakNullableCastableObjectNullableSequence();
- void passCastableObjectSequence(sequence<TestInterface> arg);
- void passNullableCastableObjectSequence(sequence<TestInterface?> arg);
- void passCastableObjectNullableSequence(sequence<TestInterface>? arg);
- void passNullableCastableObjectNullableSequence(sequence<TestInterface?>? arg);
- void passOptionalSequence(optional sequence<long> arg);
- void passOptionalSequenceWithDefaultValue(optional sequence<long> arg = []);
- void passOptionalNullableSequence(optional sequence<long>? arg);
- void passOptionalNullableSequenceWithDefaultValue(optional sequence<long>? arg = null);
- void passOptionalNullableSequenceWithDefaultValue2(optional sequence<long>? arg = []);
- void passOptionalObjectSequence(optional sequence<TestInterface> arg);
- void passExternalInterfaceSequence(sequence<TestExternalInterface> arg);
- void passNullableExternalInterfaceSequence(sequence<TestExternalInterface?> arg);
-
- sequence<DOMString> receiveStringSequence();
- void passStringSequence(sequence<DOMString> arg);
-
- sequence<ByteString> receiveByteStringSequence();
- void passByteStringSequence(sequence<ByteString> arg);
-
- sequence<any> receiveAnySequence();
- sequence<any>? receiveNullableAnySequence();
- sequence<sequence<any>> receiveAnySequenceSequence();
-
- sequence<object> receiveObjectSequence();
- sequence<object?> receiveNullableObjectSequence();
-
- void passSequenceOfSequences(sequence<sequence<long>> arg);
- void passSequenceOfSequencesOfSequences(sequence<sequence<sequence<long>>> arg);
- sequence<sequence<long>> receiveSequenceOfSequences();
- sequence<sequence<sequence<long>>> receiveSequenceOfSequencesOfSequences();
-
- // MozMap types
- void passMozMap(MozMap<long> arg);
- void passNullableMozMap(MozMap<long>? arg);
- void passMozMapOfNullableInts(MozMap<long?> arg);
- void passOptionalMozMapOfNullableInts(optional MozMap<long?> arg);
- void passOptionalNullableMozMapOfNullableInts(optional MozMap<long?>? arg);
- void passCastableObjectMozMap(MozMap<TestInterface> arg);
- void passNullableCastableObjectMozMap(MozMap<TestInterface?> arg);
- void passCastableObjectNullableMozMap(MozMap<TestInterface>? arg);
- void passNullableCastableObjectNullableMozMap(MozMap<TestInterface?>? arg);
- void passOptionalMozMap(optional MozMap<long> arg);
- void passOptionalNullableMozMap(optional MozMap<long>? arg);
- void passOptionalNullableMozMapWithDefaultValue(optional MozMap<long>? arg = null);
- void passOptionalObjectMozMap(optional MozMap<TestInterface> arg);
- void passExternalInterfaceMozMap(MozMap<TestExternalInterface> arg);
- void passNullableExternalInterfaceMozMap(MozMap<TestExternalInterface?> arg);
- void passStringMozMap(MozMap<DOMString> arg);
- void passByteStringMozMap(MozMap<ByteString> arg);
- void passMozMapOfMozMaps(MozMap<MozMap<long>> arg);
- MozMap<long> receiveMozMap();
- MozMap<long>? receiveNullableMozMap();
- MozMap<long?> receiveMozMapOfNullableInts();
- MozMap<long?>? receiveNullableMozMapOfNullableInts();
- MozMap<MozMap<long>> receiveMozMapOfMozMaps();
- MozMap<any> receiveAnyMozMap();
-
- // Typed array types
- void passArrayBuffer(ArrayBuffer arg);
- void passNullableArrayBuffer(ArrayBuffer? arg);
- void passOptionalArrayBuffer(optional ArrayBuffer arg);
- void passOptionalNullableArrayBuffer(optional ArrayBuffer? arg);
- void passOptionalNullableArrayBufferWithDefaultValue(optional ArrayBuffer? arg= null);
- void passArrayBufferView(ArrayBufferView arg);
- void passInt8Array(Int8Array arg);
- void passInt16Array(Int16Array arg);
- void passInt32Array(Int32Array arg);
- void passUint8Array(Uint8Array arg);
- void passUint16Array(Uint16Array arg);
- void passUint32Array(Uint32Array arg);
- void passUint8ClampedArray(Uint8ClampedArray arg);
- void passFloat32Array(Float32Array arg);
- void passFloat64Array(Float64Array arg);
- void passSequenceOfArrayBuffers(sequence<ArrayBuffer> arg);
- void passSequenceOfNullableArrayBuffers(sequence<ArrayBuffer?> arg);
- void passMozMapOfArrayBuffers(MozMap<ArrayBuffer> arg);
- void passMozMapOfNullableArrayBuffers(MozMap<ArrayBuffer?> arg);
- void passVariadicTypedArray(Float32Array... arg);
- void passVariadicNullableTypedArray(Float32Array?... arg);
- Uint8Array receiveUint8Array();
- attribute Uint8Array uint8ArrayAttr;
-
- // DOMString types
- void passString(DOMString arg);
- void passNullableString(DOMString? arg);
- void passOptionalString(optional DOMString arg);
- void passOptionalStringWithDefaultValue(optional DOMString arg = "abc");
- void passOptionalNullableString(optional DOMString? arg);
- void passOptionalNullableStringWithDefaultValue(optional DOMString? arg = null);
- void passVariadicString(DOMString... arg);
- DOMString receiveString();
-
- // ByteString types
- void passByteString(ByteString arg);
- void passNullableByteString(ByteString? arg);
- void passOptionalByteString(optional ByteString arg);
- void passOptionalByteStringWithDefaultValue(optional ByteString arg = "abc");
- void passOptionalNullableByteString(optional ByteString? arg);
- void passOptionalNullableByteStringWithDefaultValue(optional ByteString? arg = null);
- void passVariadicByteString(ByteString... arg);
- void passOptionalUnionByteString(optional (ByteString or long) arg);
- void passOptionalUnionByteStringWithDefaultValue(optional (ByteString or long) arg = "abc");
-
- // USVString types
- void passUSVS(USVString arg);
- void passNullableUSVS(USVString? arg);
- void passOptionalUSVS(optional USVString arg);
- void passOptionalUSVSWithDefaultValue(optional USVString arg = "abc");
- void passOptionalNullableUSVS(optional USVString? arg);
- void passOptionalNullableUSVSWithDefaultValue(optional USVString? arg = null);
- void passVariadicUSVS(USVString... arg);
- USVString receiveUSVS();
-
- // Enumerated types
- void passEnum(TestEnum arg);
- void passNullableEnum(TestEnum? arg);
- void passOptionalEnum(optional TestEnum arg);
- void passEnumWithDefault(optional TestEnum arg = "a");
- void passOptionalNullableEnum(optional TestEnum? arg);
- void passOptionalNullableEnumWithDefaultValue(optional TestEnum? arg = null);
- void passOptionalNullableEnumWithDefaultValue2(optional TestEnum? arg = "a");
- TestEnum receiveEnum();
- TestEnum? receiveNullableEnum();
- attribute TestEnum enumAttribute;
- readonly attribute TestEnum readonlyEnumAttribute;
-
- // Callback types
- void passCallback(TestCallback arg);
- void passNullableCallback(TestCallback? arg);
- void passOptionalCallback(optional TestCallback arg);
- void passOptionalNullableCallback(optional TestCallback? arg);
- void passOptionalNullableCallbackWithDefaultValue(optional TestCallback? arg = null);
- TestCallback receiveCallback();
- TestCallback? receiveNullableCallback();
- void passNullableTreatAsNullCallback(TestTreatAsNullCallback? arg);
- void passOptionalNullableTreatAsNullCallback(optional TestTreatAsNullCallback? arg);
- void passOptionalNullableTreatAsNullCallbackWithDefaultValue(optional TestTreatAsNullCallback? arg = null);
- attribute TestTreatAsNullCallback treatAsNullCallback;
- attribute TestTreatAsNullCallback? nullableTreatAsNullCallback;
-
- // Force code generation of the various test callbacks we have.
- void forceCallbackGeneration(TestIntegerReturn arg1,
- TestNullableIntegerReturn arg2,
- TestBooleanReturn arg3,
- TestFloatReturn arg4,
- TestStringReturn arg5,
- TestEnumReturn arg6,
- TestInterfaceReturn arg7,
- TestNullableInterfaceReturn arg8,
- TestExternalInterfaceReturn arg9,
- TestNullableExternalInterfaceReturn arg10,
- TestCallbackInterfaceReturn arg11,
- TestNullableCallbackInterfaceReturn arg12,
- TestCallbackReturn arg13,
- TestNullableCallbackReturn arg14,
- TestObjectReturn arg15,
- TestNullableObjectReturn arg16,
- TestTypedArrayReturn arg17,
- TestNullableTypedArrayReturn arg18,
- TestSequenceReturn arg19,
- TestNullableSequenceReturn arg20,
- TestIntegerArguments arg21,
- TestInterfaceArguments arg22,
- TestStringEnumArguments arg23,
- TestObjectArguments arg24,
- TestOptionalArguments arg25);
-
- // Any types
- void passAny(any arg);
- void passVariadicAny(any... arg);
- void passOptionalAny(optional any arg);
- void passAnyDefaultNull(optional any arg = null);
- void passSequenceOfAny(sequence<any> arg);
- void passNullableSequenceOfAny(sequence<any>? arg);
- void passOptionalSequenceOfAny(optional sequence<any> arg);
- void passOptionalNullableSequenceOfAny(optional sequence<any>? arg);
- void passOptionalSequenceOfAnyWithDefaultValue(optional sequence<any>? arg = null);
- void passSequenceOfSequenceOfAny(sequence<sequence<any>> arg);
- void passSequenceOfNullableSequenceOfAny(sequence<sequence<any>?> arg);
- void passNullableSequenceOfNullableSequenceOfAny(sequence<sequence<any>?>? arg);
- void passOptionalNullableSequenceOfNullableSequenceOfAny(optional sequence<sequence<any>?>? arg);
- void passMozMapOfAny(MozMap<any> arg);
- void passNullableMozMapOfAny(MozMap<any>? arg);
- void passOptionalMozMapOfAny(optional MozMap<any> arg);
- void passOptionalNullableMozMapOfAny(optional MozMap<any>? arg);
- void passOptionalMozMapOfAnyWithDefaultValue(optional MozMap<any>? arg = null);
- void passMozMapOfMozMapOfAny(MozMap<MozMap<any>> arg);
- void passMozMapOfNullableMozMapOfAny(MozMap<MozMap<any>?> arg);
- void passNullableMozMapOfNullableMozMapOfAny(MozMap<MozMap<any>?>? arg);
- void passOptionalNullableMozMapOfNullableMozMapOfAny(optional MozMap<MozMap<any>?>? arg);
- void passOptionalNullableMozMapOfNullableSequenceOfAny(optional MozMap<sequence<any>?>? arg);
- void passOptionalNullableSequenceOfNullableMozMapOfAny(optional sequence<MozMap<any>?>? arg);
- any receiveAny();
-
- // object types
- void passObject(object arg);
- void passVariadicObject(object... arg);
- void passNullableObject(object? arg);
- void passVariadicNullableObject(object... arg);
- void passOptionalObject(optional object arg);
- void passOptionalNullableObject(optional object? arg);
- void passOptionalNullableObjectWithDefaultValue(optional object? arg = null);
- void passSequenceOfObject(sequence<object> arg);
- void passSequenceOfNullableObject(sequence<object?> arg);
- void passNullableSequenceOfObject(sequence<object>? arg);
- void passOptionalNullableSequenceOfNullableSequenceOfObject(optional sequence<sequence<object>?>? arg);
- void passOptionalNullableSequenceOfNullableSequenceOfNullableObject(optional sequence<sequence<object?>?>? arg);
- void passMozMapOfObject(MozMap<object> arg);
- object receiveObject();
- object? receiveNullableObject();
-
- // Union types
- void passUnion((object or long) arg);
- // Some union tests are debug-only to avoid creating all those
- // unused union types in opt builds.
-#ifdef DEBUG
- void passUnion2((long or boolean) arg);
- void passUnion3((object or long or boolean) arg);
- void passUnion4((Node or long or boolean) arg);
- void passUnion5((object or boolean) arg);
- void passUnion6((object or DOMString) arg);
- void passUnion7((object or DOMString or long) arg);
- void passUnion8((object or DOMString or boolean) arg);
- void passUnion9((object or DOMString or long or boolean) arg);
- void passUnion10(optional (EventInit or long) arg);
- void passUnion11(optional (CustomEventInit or long) arg);
- void passUnion12(optional (EventInit or long) arg = 5);
- void passUnion13(optional (object or long?) arg = null);
- void passUnion14(optional (object or long?) arg = 5);
- void passUnion15((sequence<long> or long) arg);
- void passUnion16(optional (sequence<long> or long) arg);
- void passUnion17(optional (sequence<long>? or long) arg = 5);
- void passUnion18((sequence<object> or long) arg);
- void passUnion19(optional (sequence<object> or long) arg);
- void passUnion20(optional (sequence<object> or long) arg = []);
- void passUnion21((MozMap<long> or long) arg);
- void passUnion22((MozMap<object> or long) arg);
- void passUnion23((sequence<ImageData> or long) arg);
- void passUnion24((sequence<ImageData?> or long) arg);
- void passUnion25((sequence<sequence<ImageData>> or long) arg);
- void passUnion26((sequence<sequence<ImageData?>> or long) arg);
- void passUnion27(optional (sequence<DOMString> or EventInit) arg);
- void passUnion28(optional (EventInit or sequence<DOMString>) arg);
- void passUnionWithCallback((EventHandler or long) arg);
- void passUnionWithByteString((ByteString or long) arg);
- void passUnionWithMozMap((MozMap<DOMString> or DOMString) arg);
- void passUnionWithMozMapAndSequence((MozMap<DOMString> or sequence<DOMString>) arg);
- void passUnionWithSequenceAndMozMap((sequence<DOMString> or MozMap<DOMString>) arg);
- void passUnionWithUSVS((USVString or long) arg);
-#endif
- void passUnionWithNullable((object? or long) arg);
- void passNullableUnion((object or long)? arg);
- void passOptionalUnion(optional (object or long) arg);
- void passOptionalNullableUnion(optional (object or long)? arg);
- void passOptionalNullableUnionWithDefaultValue(optional (object or long)? arg = null);
- //void passUnionWithInterfaces((TestInterface or TestExternalInterface) arg);
- //void passUnionWithInterfacesAndNullable((TestInterface? or TestExternalInterface) arg);
- //void passUnionWithSequence((sequence<object> or long) arg);
- void passUnionWithArrayBuffer((ArrayBuffer or long) arg);
- void passUnionWithString((DOMString or object) arg);
- // Using an enum in a union. Note that we use some enum not declared in our
- // binding file, because UnionTypes.h will need to include the binding header
- // for this enum. Pick an enum from an interface that won't drag in too much
- // stuff.
- void passUnionWithEnum((SupportedType or object) arg);
-
- // Trying to use a callback in a union won't include the test
- // headers, unfortunately, so won't compile.
- //void passUnionWithCallback((TestCallback or long) arg);
- void passUnionWithObject((object or long) arg);
- //void passUnionWithDict((Dict or long) arg);
-
- void passUnionWithDefaultValue1(optional (double or DOMString) arg = "");
- void passUnionWithDefaultValue2(optional (double or DOMString) arg = 1);
- void passUnionWithDefaultValue3(optional (double or DOMString) arg = 1.5);
- void passUnionWithDefaultValue4(optional (float or DOMString) arg = "");
- void passUnionWithDefaultValue5(optional (float or DOMString) arg = 1);
- void passUnionWithDefaultValue6(optional (float or DOMString) arg = 1.5);
- void passUnionWithDefaultValue7(optional (unrestricted double or DOMString) arg = "");
- void passUnionWithDefaultValue8(optional (unrestricted double or DOMString) arg = 1);
- void passUnionWithDefaultValue9(optional (unrestricted double or DOMString) arg = 1.5);
- void passUnionWithDefaultValue10(optional (unrestricted double or DOMString) arg = Infinity);
- void passUnionWithDefaultValue11(optional (unrestricted float or DOMString) arg = "");
- void passUnionWithDefaultValue12(optional (unrestricted float or DOMString) arg = 1);
- void passUnionWithDefaultValue13(optional (unrestricted float or DOMString) arg = Infinity);
- void passUnionWithDefaultValue14(optional (double or ByteString) arg = "");
- void passUnionWithDefaultValue15(optional (double or ByteString) arg = 1);
- void passUnionWithDefaultValue16(optional (double or ByteString) arg = 1.5);
- void passUnionWithDefaultValue17(optional (double or SupportedType) arg = "text/html");
- void passUnionWithDefaultValue18(optional (double or SupportedType) arg = 1);
- void passUnionWithDefaultValue19(optional (double or SupportedType) arg = 1.5);
-
- void passNullableUnionWithDefaultValue1(optional (double or DOMString)? arg = "");
- void passNullableUnionWithDefaultValue2(optional (double or DOMString)? arg = 1);
- void passNullableUnionWithDefaultValue3(optional (double or DOMString)? arg = null);
- void passNullableUnionWithDefaultValue4(optional (float or DOMString)? arg = "");
- void passNullableUnionWithDefaultValue5(optional (float or DOMString)? arg = 1);
- void passNullableUnionWithDefaultValue6(optional (float or DOMString)? arg = null);
- void passNullableUnionWithDefaultValue7(optional (unrestricted double or DOMString)? arg = "");
- void passNullableUnionWithDefaultValue8(optional (unrestricted double or DOMString)? arg = 1);
- void passNullableUnionWithDefaultValue9(optional (unrestricted double or DOMString)? arg = null);
- void passNullableUnionWithDefaultValue10(optional (unrestricted float or DOMString)? arg = "");
- void passNullableUnionWithDefaultValue11(optional (unrestricted float or DOMString)? arg = 1);
- void passNullableUnionWithDefaultValue12(optional (unrestricted float or DOMString)? arg = null);
- void passNullableUnionWithDefaultValue13(optional (double or ByteString)? arg = "");
- void passNullableUnionWithDefaultValue14(optional (double or ByteString)? arg = 1);
- void passNullableUnionWithDefaultValue15(optional (double or ByteString)? arg = 1.5);
- void passNullableUnionWithDefaultValue16(optional (double or ByteString)? arg = null);
- void passNullableUnionWithDefaultValue17(optional (double or SupportedType)? arg = "text/html");
- void passNullableUnionWithDefaultValue18(optional (double or SupportedType)? arg = 1);
- void passNullableUnionWithDefaultValue19(optional (double or SupportedType)? arg = 1.5);
- void passNullableUnionWithDefaultValue20(optional (double or SupportedType)? arg = null);
-
- void passSequenceOfUnions(sequence<(CanvasPattern or CanvasGradient)> arg);
- void passSequenceOfUnions2(sequence<(object or long)> arg);
- void passVariadicUnion((CanvasPattern or CanvasGradient)... arg);
-
- void passSequenceOfNullableUnions(sequence<(CanvasPattern or CanvasGradient)?> arg);
- void passVariadicNullableUnion((CanvasPattern or CanvasGradient)?... arg);
- void passMozMapOfUnions(MozMap<(CanvasPattern or CanvasGradient)> arg);
- // XXXbz no move constructor on some unions
- // void passMozMapOfUnions2(MozMap<(object or long)> arg);
-
- (CanvasPattern or CanvasGradient) receiveUnion();
- (object or long) receiveUnion2();
- (CanvasPattern? or CanvasGradient) receiveUnionContainingNull();
- (CanvasPattern or CanvasGradient)? receiveNullableUnion();
- (object or long)? receiveNullableUnion2();
-
- attribute (CanvasPattern or CanvasGradient) writableUnion;
- attribute (CanvasPattern? or CanvasGradient) writableUnionContainingNull;
- attribute (CanvasPattern or CanvasGradient)? writableNullableUnion;
-
- // Date types
- void passDate(Date arg);
- void passNullableDate(Date? arg);
- void passOptionalDate(optional Date arg);
- void passOptionalNullableDate(optional Date? arg);
- void passOptionalNullableDateWithDefaultValue(optional Date? arg = null);
- void passDateSequence(sequence<Date> arg);
- void passNullableDateSequence(sequence<Date?> arg);
- void passDateMozMap(MozMap<Date> arg);
- Date receiveDate();
- Date? receiveNullableDate();
-
- // Promise types
- void passPromise(Promise<any> arg);
- void passNullablePromise(Promise<any>? arg);
- void passOptionalPromise(optional Promise<any> arg);
- void passOptionalNullablePromise(optional Promise<any>? arg);
- void passOptionalNullablePromiseWithDefaultValue(optional Promise<any>? arg = null);
- void passPromiseSequence(sequence<Promise<any>> arg);
- void passNullablePromiseSequence(sequence<Promise<any>?> arg);
- Promise<any> receivePromise();
- Promise<any> receiveAddrefedPromise();
-
- // binaryNames tests
- void methodRenamedFrom();
- [BinaryName="otherMethodRenamedTo"]
- void otherMethodRenamedFrom();
- void methodRenamedFrom(byte argument);
- readonly attribute byte attributeGetterRenamedFrom;
- attribute byte attributeRenamedFrom;
- [BinaryName="otherAttributeRenamedTo"]
- attribute byte otherAttributeRenamedFrom;
-
- void passDictionary(optional Dict x);
- void passDictionary2(Dict x);
- [Cached, Pure]
- readonly attribute Dict readonlyDictionary;
- [Cached, Pure]
- readonly attribute Dict? readonlyNullableDictionary;
- [Cached, Pure]
- attribute Dict writableDictionary;
- [Cached, Pure, Frozen]
- readonly attribute Dict readonlyFrozenDictionary;
- [Cached, Pure, Frozen]
- readonly attribute Dict? readonlyFrozenNullableDictionary;
- [Cached, Pure, Frozen]
- attribute Dict writableFrozenDictionary;
- Dict receiveDictionary();
- Dict? receiveNullableDictionary();
- void passOtherDictionary(optional GrandparentDict x);
- void passSequenceOfDictionaries(sequence<Dict> x);
- void passMozMapOfDictionaries(MozMap<GrandparentDict> x);
- // No support for nullable dictionaries inside a sequence (nor should there be)
- // void passSequenceOfNullableDictionaries(sequence<Dict?> x);
- void passDictionaryOrLong(optional Dict x);
- void passDictionaryOrLong(long x);
-
- void passDictContainingDict(optional DictContainingDict arg);
- void passDictContainingSequence(optional DictContainingSequence arg);
- DictContainingSequence receiveDictContainingSequence();
- void passVariadicDictionary(Dict... arg);
-
- // EnforceRange/Clamp tests
- void dontEnforceRangeOrClamp(byte arg);
- void doEnforceRange([EnforceRange] byte arg);
- void doClamp([Clamp] byte arg);
- [EnforceRange] attribute byte enforcedByte;
- [Clamp] attribute byte clampedByte;
-
- // Typedefs
- const myLong myLongConstant = 5;
- void exerciseTypedefInterfaces1(AnotherNameForTestInterface arg);
- AnotherNameForTestInterface exerciseTypedefInterfaces2(NullableTestInterface arg);
- void exerciseTypedefInterfaces3(YetAnotherNameForTestInterface arg);
-
- // Deprecated methods and attributes
- [Deprecated="GetAttributeNode"]
- attribute byte deprecatedAttribute;
- [Deprecated="GetAttributeNode"]
- byte deprecatedMethod();
- [Deprecated="GetAttributeNode"]
- byte deprecatedMethodWithContext(any arg);
-
- // Static methods and attributes
- static attribute boolean staticAttribute;
- static void staticMethod(boolean arg);
- static void staticMethodWithContext(any arg);
-
- // Testing static method with a reserved C++ keyword as the name
- static void assert(boolean arg);
-
- // Deprecated static methods and attributes
- [Deprecated="GetAttributeNode"]
- static attribute byte staticDeprecatedAttribute;
- [Deprecated="GetAttributeNode"]
- static void staticDeprecatedMethod();
- [Deprecated="GetAttributeNode"]
- static void staticDeprecatedMethodWithContext(any arg);
-
- // Overload resolution tests
- //void overload1(DOMString... strs);
- boolean overload1(TestInterface arg);
- TestInterface overload1(DOMString strs, TestInterface arg);
- void overload2(TestInterface arg);
- void overload2(optional Dict arg);
- void overload2(boolean arg);
- void overload2(DOMString arg);
- void overload2(Date arg);
- void overload3(TestInterface arg);
- void overload3(TestCallback arg);
- void overload3(boolean arg);
- void overload4(TestInterface arg);
- void overload4(TestCallbackInterface arg);
- void overload4(DOMString arg);
- void overload5(long arg);
- void overload5(TestEnum arg);
- void overload6(long arg);
- void overload6(boolean arg);
- void overload7(long arg);
- void overload7(boolean arg);
- void overload7(ByteString arg);
- void overload8(long arg);
- void overload8(TestInterface arg);
- void overload9(long? arg);
- void overload9(DOMString arg);
- void overload10(long? arg);
- void overload10(object arg);
- void overload11(long arg);
- void overload11(DOMString? arg);
- void overload12(long arg);
- void overload12(boolean? arg);
- void overload13(long? arg);
- void overload13(boolean arg);
- void overload14(optional long arg);
- void overload14(TestInterface arg);
- void overload15(long arg);
- void overload15(optional TestInterface arg);
- void overload16(long arg);
- void overload16(optional TestInterface? arg);
- void overload17(sequence<long> arg);
- void overload17(MozMap<long> arg);
- void overload18(MozMap<DOMString> arg);
- void overload18(sequence<DOMString> arg);
- void overload19(sequence<long> arg);
- void overload19(optional Dict arg);
- void overload20(optional Dict arg);
- void overload20(sequence<long> arg);
-
- // Variadic handling
- void passVariadicThirdArg(DOMString arg1, long arg2, TestInterface... arg3);
-
- // Conditionally exposed methods/attributes
- [Pref="abc.def"]
- readonly attribute boolean prefable1;
- [Pref="abc.def"]
- readonly attribute boolean prefable2;
- [Pref="ghi.jkl"]
- readonly attribute boolean prefable3;
- [Pref="ghi.jkl"]
- readonly attribute boolean prefable4;
- [Pref="abc.def"]
- readonly attribute boolean prefable5;
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean prefable6;
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean prefable7;
- [Pref="ghi.jkl", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean prefable8;
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean prefable9;
- [Pref="abc.def"]
- void prefable10();
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- void prefable11();
- [Pref="abc.def", Func="TestFuncControlledMember"]
- readonly attribute boolean prefable12;
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- void prefable13();
- [Pref="abc.def", Func="TestFuncControlledMember"]
- readonly attribute boolean prefable14;
- [Func="TestFuncControlledMember"]
- readonly attribute boolean prefable15;
- [Func="TestFuncControlledMember"]
- readonly attribute boolean prefable16;
- [Pref="abc.def", Func="TestFuncControlledMember"]
- void prefable17();
- [Func="TestFuncControlledMember"]
- void prefable18();
- [Func="TestFuncControlledMember"]
- void prefable19();
- [Pref="abc.def", Func="TestFuncControlledMember", ChromeOnly]
- void prefable20();
-
- // Conditionally exposed methods/attributes involving [SecureContext]
- [SecureContext]
- readonly attribute boolean conditionalOnSecureContext1;
- [SecureContext, Pref="abc.def"]
- readonly attribute boolean conditionalOnSecureContext2;
- [SecureContext, Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean conditionalOnSecureContext3;
- [SecureContext, Pref="abc.def", Func="TestFuncControlledMember"]
- readonly attribute boolean conditionalOnSecureContext4;
- [SecureContext]
- void conditionalOnSecureContext5();
- [SecureContext, Pref="abc.def"]
- void conditionalOnSecureContext6();
- [SecureContext, Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- void conditionalOnSecureContext7();
- [SecureContext, Pref="abc.def", Func="TestFuncControlledMember"]
- void conditionalOnSecureContext8();
-
- // Miscellania
- [LenientThis] attribute long attrWithLenientThis;
- [Unforgeable] readonly attribute long unforgeableAttr;
- [Unforgeable, ChromeOnly] readonly attribute long unforgeableAttr2;
- [Unforgeable] long unforgeableMethod();
- [Unforgeable, ChromeOnly] long unforgeableMethod2();
- stringifier;
- void passRenamedInterface(TestRenamedInterface arg);
- [PutForwards=writableByte] readonly attribute TestInterface putForwardsAttr;
- [PutForwards=writableByte, LenientThis] readonly attribute TestInterface putForwardsAttr2;
- [PutForwards=writableByte, ChromeOnly] readonly attribute TestInterface putForwardsAttr3;
- [Throws] void throwingMethod();
- [Throws] attribute boolean throwingAttr;
- [GetterThrows] attribute boolean throwingGetterAttr;
- [SetterThrows] attribute boolean throwingSetterAttr;
- [NeedsSubjectPrincipal] void needsSubjectPrincipalMethod();
- [NeedsSubjectPrincipal] attribute boolean needsSubjectPrincipalAttr;
- [NeedsCallerType] void needsCallerTypeMethod();
- [NeedsCallerType] attribute boolean needsCallerTypeAttr;
- [CEReactions] void ceReactionsMethod();
- [CEReactions] void ceReactionsMethodOverload();
- [CEReactions] void ceReactionsMethodOverload(DOMString bar);
- [CEReactions] attribute boolean ceReactionsAttr;
- legacycaller short(unsigned long arg1, TestInterface arg2);
- void passArgsWithDefaults(optional long arg1,
- optional TestInterface? arg2 = null,
- optional Dict arg3, optional double arg4 = 5.0,
- optional float arg5);
-
- attribute any jsonifierShouldSkipThis;
- attribute TestParentInterface jsonifierShouldSkipThis2;
- attribute TestCallbackInterface jsonifierShouldSkipThis3;
- jsonifier;
-
- attribute byte dashed-attribute;
- void dashed-method();
-
- // If you add things here, add them to TestExampleGen and TestJSImplGen as well
-};
-
-interface TestParentInterface {
-};
-
-interface TestChildInterface : TestParentInterface {
-};
-
-interface TestNonWrapperCacheInterface {
-};
-
-[NoInterfaceObject]
-interface ImplementedInterfaceParent {
- void implementedParentMethod();
- attribute boolean implementedParentProperty;
-
- const long implementedParentConstant = 8;
-};
-
-ImplementedInterfaceParent implements IndirectlyImplementedInterface;
-
-[NoInterfaceObject]
-interface IndirectlyImplementedInterface {
- void indirectlyImplementedMethod();
- attribute boolean indirectlyImplementedProperty;
-
- const long indirectlyImplementedConstant = 9;
-};
-
-[NoInterfaceObject]
-interface ImplementedInterface : ImplementedInterfaceParent {
- void implementedMethod();
- attribute boolean implementedProperty;
-
- const long implementedConstant = 5;
-};
-
-[NoInterfaceObject]
-interface DiamondImplements {
- readonly attribute long diamondImplementedProperty;
-};
-[NoInterfaceObject]
-interface DiamondBranch1A {
-};
-[NoInterfaceObject]
-interface DiamondBranch1B {
-};
-[NoInterfaceObject]
-interface DiamondBranch2A : DiamondImplements {
-};
-[NoInterfaceObject]
-interface DiamondBranch2B : DiamondImplements {
-};
-TestInterface implements DiamondBranch1A;
-TestInterface implements DiamondBranch1B;
-TestInterface implements DiamondBranch2A;
-TestInterface implements DiamondBranch2B;
-DiamondBranch1A implements DiamondImplements;
-DiamondBranch1B implements DiamondImplements;
-
-dictionary Dict : ParentDict {
- TestEnum someEnum;
- long x;
- long a;
- long b = 8;
- long z = 9;
- [EnforceRange] unsigned long enforcedUnsignedLong;
- [Clamp] unsigned long clampedUnsignedLong;
- DOMString str;
- DOMString empty = "";
- TestEnum otherEnum = "b";
- DOMString otherStr = "def";
- DOMString? yetAnotherStr = null;
- DOMString template;
- ByteString byteStr;
- ByteString emptyByteStr = "";
- ByteString otherByteStr = "def";
- object someObj;
- boolean prototype;
- object? anotherObj = null;
- TestCallback? someCallback = null;
- any someAny;
- any anotherAny = null;
-
- unrestricted float urFloat = 0;
- unrestricted float urFloat2 = 1.1;
- unrestricted float urFloat3 = -1.1;
- unrestricted float? urFloat4 = null;
- unrestricted float infUrFloat = Infinity;
- unrestricted float negativeInfUrFloat = -Infinity;
- unrestricted float nanUrFloat = NaN;
-
- unrestricted double urDouble = 0;
- unrestricted double urDouble2 = 1.1;
- unrestricted double urDouble3 = -1.1;
- unrestricted double? urDouble4 = null;
- unrestricted double infUrDouble = Infinity;
- unrestricted double negativeInfUrDouble = -Infinity;
- unrestricted double nanUrDouble = NaN;
-
- (float or DOMString) floatOrString = "str";
- (float or DOMString)? nullableFloatOrString = "str";
- (object or long) objectOrLong;
-#ifdef DEBUG
- (EventInit or long) eventInitOrLong;
- (EventInit or long)? nullableEventInitOrLong;
- (HTMLElement or long)? nullableHTMLElementOrLong;
- // CustomEventInit is useful to test because it needs rooting.
- (CustomEventInit or long) eventInitOrLong2;
- (CustomEventInit or long)? nullableEventInitOrLong2;
- (EventInit or long) eventInitOrLongWithDefaultValue = null;
- (CustomEventInit or long) eventInitOrLongWithDefaultValue2 = null;
- (EventInit or long) eventInitOrLongWithDefaultValue3 = 5;
- (CustomEventInit or long) eventInitOrLongWithDefaultValue4 = 5;
- (EventInit or long)? nullableEventInitOrLongWithDefaultValue = null;
- (CustomEventInit or long)? nullableEventInitOrLongWithDefaultValue2 = null;
- (EventInit or long)? nullableEventInitOrLongWithDefaultValue3 = 5;
- (CustomEventInit or long)? nullableEventInitOrLongWithDefaultValue4 = 5;
- (sequence<object> or long) objectSequenceOrLong;
- (sequence<object> or long) objectSequenceOrLongWithDefaultValue1 = 1;
- (sequence<object> or long) objectSequenceOrLongWithDefaultValue2 = [];
- (sequence<object> or long)? nullableObjectSequenceOrLong;
- (sequence<object> or long)? nullableObjectSequenceOrLongWithDefaultValue1 = 1;
- (sequence<object> or long)? nullableObjectSequenceOrLongWithDefaultValue2 = [];
-#endif
-
- ArrayBuffer arrayBuffer;
- ArrayBuffer? nullableArrayBuffer;
- Uint8Array uint8Array;
- Float64Array? float64Array = null;
-
- sequence<long> seq1;
- sequence<long> seq2 = [];
- sequence<long>? seq3;
- sequence<long>? seq4 = null;
- sequence<long>? seq5 = [];
-
- long dashed-name;
-
- required long requiredLong;
- required object requiredObject;
-
- CustomEventInit customEventInit;
- TestDictionaryTypedef dictionaryTypedef;
-
- Promise<void> promise;
- sequence<Promise<void>> promiseSequence;
-};
-
-dictionary ParentDict : GrandparentDict {
- long c = 5;
- TestInterface someInterface;
- TestInterface? someNullableInterface = null;
- TestExternalInterface someExternalInterface;
- any parentAny;
-};
-
-dictionary DictContainingDict {
- Dict memberDict;
-};
-
-dictionary DictContainingSequence {
- sequence<long> ourSequence;
- sequence<TestInterface> ourSequence2;
- sequence<any> ourSequence3;
- sequence<object> ourSequence4;
- sequence<object?> ourSequence5;
- sequence<object>? ourSequence6;
- sequence<object?>? ourSequence7;
- sequence<object>? ourSequence8 = null;
- sequence<object?>? ourSequence9 = null;
- sequence<(float or DOMString)> ourSequence10;
-};
-
-dictionary DictForConstructor {
- Dict dict;
- DictContainingDict dict2;
- sequence<Dict> seq1;
- sequence<sequence<Dict>>? seq2;
- sequence<sequence<Dict>?> seq3;
- sequence<any> seq4;
- sequence<any> seq5;
- sequence<DictContainingSequence> seq6;
- object obj1;
- object? obj2;
- any any1 = null;
-};
-
-dictionary DictWithConditionalMembers {
- [ChromeOnly]
- long chromeOnlyMember;
- [Func="TestFuncControlledMember"]
- long funcControlledMember;
- [ChromeOnly, Func="nsGenericHTMLElement::TouchEventsEnabled"]
- long chromeOnlyFuncControlledMember;
-};
-
-interface TestIndexedGetterInterface {
- getter long item(unsigned long idx);
- readonly attribute unsigned long length;
- legacycaller void();
-};
-
-interface TestNamedGetterInterface {
- getter DOMString (DOMString name);
-};
-
-interface TestIndexedGetterAndSetterAndNamedGetterInterface {
- getter DOMString (DOMString myName);
- getter long (unsigned long index);
- setter creator void (unsigned long index, long arg);
-};
-
-interface TestIndexedAndNamedGetterInterface {
- getter long (unsigned long index);
- getter DOMString namedItem(DOMString name);
- readonly attribute unsigned long length;
-};
-
-interface TestIndexedSetterInterface {
- setter creator void setItem(unsigned long idx, DOMString item);
- getter DOMString (unsigned long idx);
-};
-
-interface TestNamedSetterInterface {
- setter creator void (DOMString myName, TestIndexedSetterInterface item);
- getter TestIndexedSetterInterface (DOMString name);
-};
-
-interface TestIndexedAndNamedSetterInterface {
- setter creator void (unsigned long index, TestIndexedSetterInterface item);
- getter TestIndexedSetterInterface (unsigned long index);
- setter creator void setNamedItem(DOMString name, TestIndexedSetterInterface item);
- getter TestIndexedSetterInterface (DOMString name);
-};
-
-interface TestIndexedAndNamedGetterAndSetterInterface : TestIndexedSetterInterface {
- getter long item(unsigned long index);
- getter DOMString namedItem(DOMString name);
- setter creator void (unsigned long index, long item);
- setter creator void (DOMString name, DOMString item);
- stringifier DOMString ();
- readonly attribute unsigned long length;
-};
-
-interface TestNamedDeleterInterface {
- deleter void (DOMString name);
- getter long (DOMString name);
-};
-
-interface TestNamedDeleterWithRetvalInterface {
- deleter boolean delNamedItem(DOMString name);
- getter long (DOMString name);
-};
-
-interface TestCppKeywordNamedMethodsInterface {
- boolean continue();
- boolean delete();
- long volatile();
-};
-
-[Deprecated="GetAttributeNode", Constructor()]
-interface TestDeprecatedInterface {
- static void alsoDeprecated();
-};
-
-
-[Constructor(Promise<void> promise)]
-interface TestInterfaceWithPromiseConstructorArg {
-};
-
-namespace TestNamespace {
- readonly attribute boolean foo;
- long bar();
-};
-
-partial namespace TestNamespace {
- void baz();
-};
-
-[ClassString="RenamedNamespaceClassName"]
-namespace TestRenamedNamespace {
-};
-
-[ProtoObjectHack]
-namespace TestProtoObjectHackedNamespace {
-};
-
-[SecureContext]
-interface TestSecureContextInterface {
- static void alsoSecureContext();
-};
-
-[Exposed=(Window,Worker)]
-interface TestWorkerExposedInterface {
- [NeedsSubjectPrincipal] void needsSubjectPrincipalMethod();
- [NeedsSubjectPrincipal] attribute boolean needsSubjectPrincipalAttr;
- [NeedsCallerType] void needsCallerTypeMethod();
- [NeedsCallerType] attribute boolean needsCallerTypeAttr;
-};
-
-[HTMLConstructor]
-interface TestHTMLConstructorInterface {
-};
-
-interface TestCEReactionsInterface {
- [CEReactions] setter creator void (unsigned long index, long item);
- [CEReactions] setter creator void (DOMString name, DOMString item);
- [CEReactions] deleter void (DOMString name);
- getter long item(unsigned long index);
- getter DOMString (DOMString name);
- readonly attribute unsigned long length;
-};
diff --git a/dom/bindings/test/TestDictionary.webidl b/dom/bindings/test/TestDictionary.webidl
deleted file mode 100644
index 3dd91bd650..0000000000
--- a/dom/bindings/test/TestDictionary.webidl
+++ /dev/null
@@ -1,9 +0,0 @@
-/* -*- 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/.
- */
-
-dictionary GrandparentDict {
- double someNum;
-}; \ No newline at end of file
diff --git a/dom/bindings/test/TestExampleGen.webidl b/dom/bindings/test/TestExampleGen.webidl
deleted file mode 100644
index a2183c0026..0000000000
--- a/dom/bindings/test/TestExampleGen.webidl
+++ /dev/null
@@ -1,815 +0,0 @@
-/* -*- 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/.
- */
-[Constructor,
- Constructor(DOMString str),
- Constructor(unsigned long num, boolean? boolArg),
- Constructor(TestInterface? iface),
- Constructor(long arg1, IndirectlyImplementedInterface iface),
- Constructor(Date arg1),
- Constructor(ArrayBuffer arrayBuf),
- Constructor(Uint8Array typedArr),
- // Constructor(long arg1, long arg2, (TestInterface or OnlyForUseInConstructor) arg3),
- NamedConstructor=Example,
- NamedConstructor=Example(DOMString str),
- NamedConstructor=Example2(DictForConstructor dict, any any1, object obj1,
- object? obj2, sequence<Dict> seq, optional any any2,
- optional object obj3, optional object? obj4),
- NamedConstructor=Example2((long or MozMap<any>) arg1)
- ]
-interface TestExampleInterface {
- // Integer types
- // XXXbz add tests for throwing versions of all the integer stuff
- readonly attribute byte readonlyByte;
- attribute byte writableByte;
- void passByte(byte arg);
- byte receiveByte();
- void passOptionalByte(optional byte arg);
- void passOptionalByteBeforeRequired(optional byte arg1, byte arg2);
- void passOptionalByteWithDefault(optional byte arg = 0);
- void passOptionalByteWithDefaultBeforeRequired(optional byte arg1 = 0, byte arg2);
- void passNullableByte(byte? arg);
- void passOptionalNullableByte(optional byte? arg);
- void passVariadicByte(byte... arg);
- [Cached, Pure]
- readonly attribute byte cachedByte;
- [StoreInSlot, Constant]
- readonly attribute byte cachedConstantByte;
- [Cached, Pure]
- attribute byte cachedWritableByte;
- [Affects=Nothing]
- attribute byte sideEffectFreeByte;
- [Affects=Nothing, DependsOn=DOMState]
- attribute byte domDependentByte;
- [Affects=Nothing, DependsOn=Nothing]
- readonly attribute byte constantByte;
- [DependsOn=DeviceState, Affects=Nothing]
- readonly attribute byte deviceStateDependentByte;
- [Affects=Nothing]
- byte returnByteSideEffectFree();
- [Affects=Nothing, DependsOn=DOMState]
- byte returnDOMDependentByte();
- [Affects=Nothing, DependsOn=Nothing]
- byte returnConstantByte();
- [DependsOn=DeviceState, Affects=Nothing]
- byte returnDeviceStateDependentByte();
-
- readonly attribute short readonlyShort;
- attribute short writableShort;
- void passShort(short arg);
- short receiveShort();
- void passOptionalShort(optional short arg);
- void passOptionalShortWithDefault(optional short arg = 5);
-
- readonly attribute long readonlyLong;
- attribute long writableLong;
- void passLong(long arg);
- long receiveLong();
- void passOptionalLong(optional long arg);
- void passOptionalLongWithDefault(optional long arg = 7);
-
- readonly attribute long long readonlyLongLong;
- attribute long long writableLongLong;
- void passLongLong(long long arg);
- long long receiveLongLong();
- void passOptionalLongLong(optional long long arg);
- void passOptionalLongLongWithDefault(optional long long arg = -12);
-
- readonly attribute octet readonlyOctet;
- attribute octet writableOctet;
- void passOctet(octet arg);
- octet receiveOctet();
- void passOptionalOctet(optional octet arg);
- void passOptionalOctetWithDefault(optional octet arg = 19);
-
- readonly attribute unsigned short readonlyUnsignedShort;
- attribute unsigned short writableUnsignedShort;
- void passUnsignedShort(unsigned short arg);
- unsigned short receiveUnsignedShort();
- void passOptionalUnsignedShort(optional unsigned short arg);
- void passOptionalUnsignedShortWithDefault(optional unsigned short arg = 2);
-
- readonly attribute unsigned long readonlyUnsignedLong;
- attribute unsigned long writableUnsignedLong;
- void passUnsignedLong(unsigned long arg);
- unsigned long receiveUnsignedLong();
- void passOptionalUnsignedLong(optional unsigned long arg);
- void passOptionalUnsignedLongWithDefault(optional unsigned long arg = 6);
-
- readonly attribute unsigned long long readonlyUnsignedLongLong;
- attribute unsigned long long writableUnsignedLongLong;
- void passUnsignedLongLong(unsigned long long arg);
- unsigned long long receiveUnsignedLongLong();
- void passOptionalUnsignedLongLong(optional unsigned long long arg);
- void passOptionalUnsignedLongLongWithDefault(optional unsigned long long arg = 17);
-
- attribute float writableFloat;
- attribute unrestricted float writableUnrestrictedFloat;
- attribute float? writableNullableFloat;
- attribute unrestricted float? writableNullableUnrestrictedFloat;
- attribute double writableDouble;
- attribute unrestricted double writableUnrestrictedDouble;
- attribute double? writableNullableDouble;
- attribute unrestricted double? writableNullableUnrestrictedDouble;
- void passFloat(float arg1, unrestricted float arg2,
- float? arg3, unrestricted float? arg4,
- double arg5, unrestricted double arg6,
- double? arg7, unrestricted double? arg8,
- sequence<float> arg9, sequence<unrestricted float> arg10,
- sequence<float?> arg11, sequence<unrestricted float?> arg12,
- sequence<double> arg13, sequence<unrestricted double> arg14,
- sequence<double?> arg15, sequence<unrestricted double?> arg16);
- [LenientFloat]
- void passLenientFloat(float arg1, unrestricted float arg2,
- float? arg3, unrestricted float? arg4,
- double arg5, unrestricted double arg6,
- double? arg7, unrestricted double? arg8,
- sequence<float> arg9,
- sequence<unrestricted float> arg10,
- sequence<float?> arg11,
- sequence<unrestricted float?> arg12,
- sequence<double> arg13,
- sequence<unrestricted double> arg14,
- sequence<double?> arg15,
- sequence<unrestricted double?> arg16);
- [LenientFloat]
- attribute float lenientFloatAttr;
- [LenientFloat]
- attribute double lenientDoubleAttr;
-
- // Castable interface types
- // XXXbz add tests for throwing versions of all the castable interface stuff
- TestInterface receiveSelf();
- TestInterface? receiveNullableSelf();
- TestInterface receiveWeakSelf();
- TestInterface? receiveWeakNullableSelf();
- void passSelf(TestInterface arg);
- void passNullableSelf(TestInterface? arg);
- attribute TestInterface nonNullSelf;
- attribute TestInterface? nullableSelf;
- [Cached, Pure]
- readonly attribute TestInterface cachedSelf;
- // Optional arguments
- void passOptionalSelf(optional TestInterface? arg);
- void passOptionalNonNullSelf(optional TestInterface arg);
- void passOptionalSelfWithDefault(optional TestInterface? arg = null);
-
- // Non-wrapper-cache interface types
- [NewObject]
- TestNonWrapperCacheInterface receiveNonWrapperCacheInterface();
- [NewObject]
- TestNonWrapperCacheInterface? receiveNullableNonWrapperCacheInterface();
- [NewObject]
- sequence<TestNonWrapperCacheInterface> receiveNonWrapperCacheInterfaceSequence();
- [NewObject]
- sequence<TestNonWrapperCacheInterface?> receiveNullableNonWrapperCacheInterfaceSequence();
- [NewObject]
- sequence<TestNonWrapperCacheInterface>? receiveNonWrapperCacheInterfaceNullableSequence();
- [NewObject]
- sequence<TestNonWrapperCacheInterface?>? receiveNullableNonWrapperCacheInterfaceNullableSequence();
-
- // Non-castable interface types
- IndirectlyImplementedInterface receiveOther();
- IndirectlyImplementedInterface? receiveNullableOther();
- IndirectlyImplementedInterface receiveWeakOther();
- IndirectlyImplementedInterface? receiveWeakNullableOther();
- void passOther(IndirectlyImplementedInterface arg);
- void passNullableOther(IndirectlyImplementedInterface? arg);
- attribute IndirectlyImplementedInterface nonNullOther;
- attribute IndirectlyImplementedInterface? nullableOther;
- // Optional arguments
- void passOptionalOther(optional IndirectlyImplementedInterface? arg);
- void passOptionalNonNullOther(optional IndirectlyImplementedInterface arg);
- void passOptionalOtherWithDefault(optional IndirectlyImplementedInterface? arg = null);
-
- // External interface types
- TestExternalInterface receiveExternal();
- TestExternalInterface? receiveNullableExternal();
- TestExternalInterface receiveWeakExternal();
- TestExternalInterface? receiveWeakNullableExternal();
- void passExternal(TestExternalInterface arg);
- void passNullableExternal(TestExternalInterface? arg);
- attribute TestExternalInterface nonNullExternal;
- attribute TestExternalInterface? nullableExternal;
- // Optional arguments
- void passOptionalExternal(optional TestExternalInterface? arg);
- void passOptionalNonNullExternal(optional TestExternalInterface arg);
- void passOptionalExternalWithDefault(optional TestExternalInterface? arg = null);
-
- // Callback interface types
- TestCallbackInterface receiveCallbackInterface();
- TestCallbackInterface? receiveNullableCallbackInterface();
- TestCallbackInterface receiveWeakCallbackInterface();
- TestCallbackInterface? receiveWeakNullableCallbackInterface();
- void passCallbackInterface(TestCallbackInterface arg);
- void passNullableCallbackInterface(TestCallbackInterface? arg);
- attribute TestCallbackInterface nonNullCallbackInterface;
- attribute TestCallbackInterface? nullableCallbackInterface;
- // Optional arguments
- void passOptionalCallbackInterface(optional TestCallbackInterface? arg);
- void passOptionalNonNullCallbackInterface(optional TestCallbackInterface arg);
- void passOptionalCallbackInterfaceWithDefault(optional TestCallbackInterface? arg = null);
-
- // Miscellaneous interface tests
- IndirectlyImplementedInterface receiveConsequentialInterface();
- void passConsequentialInterface(IndirectlyImplementedInterface arg);
-
- // Sequence types
- [Cached, Pure]
- readonly attribute sequence<long> readonlySequence;
- [Cached, Pure]
- readonly attribute sequence<Dict> readonlySequenceOfDictionaries;
- [Cached, Pure]
- readonly attribute sequence<Dict>? readonlyNullableSequenceOfDictionaries;
- [Cached, Pure, Frozen]
- readonly attribute sequence<long> readonlyFrozenSequence;
- [Cached, Pure, Frozen]
- readonly attribute sequence<long>? readonlyFrozenNullableSequence;
- sequence<long> receiveSequence();
- sequence<long>? receiveNullableSequence();
- sequence<long?> receiveSequenceOfNullableInts();
- sequence<long?>? receiveNullableSequenceOfNullableInts();
- void passSequence(sequence<long> arg);
- void passNullableSequence(sequence<long>? arg);
- void passSequenceOfNullableInts(sequence<long?> arg);
- void passOptionalSequenceOfNullableInts(optional sequence<long?> arg);
- void passOptionalNullableSequenceOfNullableInts(optional sequence<long?>? arg);
- sequence<TestInterface> receiveCastableObjectSequence();
- sequence<TestCallbackInterface> receiveCallbackObjectSequence();
- sequence<TestInterface?> receiveNullableCastableObjectSequence();
- sequence<TestCallbackInterface?> receiveNullableCallbackObjectSequence();
- sequence<TestInterface>? receiveCastableObjectNullableSequence();
- sequence<TestInterface?>? receiveNullableCastableObjectNullableSequence();
- sequence<TestInterface> receiveWeakCastableObjectSequence();
- sequence<TestInterface?> receiveWeakNullableCastableObjectSequence();
- sequence<TestInterface>? receiveWeakCastableObjectNullableSequence();
- sequence<TestInterface?>? receiveWeakNullableCastableObjectNullableSequence();
- void passCastableObjectSequence(sequence<TestInterface> arg);
- void passNullableCastableObjectSequence(sequence<TestInterface?> arg);
- void passCastableObjectNullableSequence(sequence<TestInterface>? arg);
- void passNullableCastableObjectNullableSequence(sequence<TestInterface?>? arg);
- void passOptionalSequence(optional sequence<long> arg);
- void passOptionalSequenceWithDefaultValue(optional sequence<long> arg = []);
- void passOptionalNullableSequence(optional sequence<long>? arg);
- void passOptionalNullableSequenceWithDefaultValue(optional sequence<long>? arg = null);
- void passOptionalNullableSequenceWithDefaultValue2(optional sequence<long>? arg = []);
- void passOptionalObjectSequence(optional sequence<TestInterface> arg);
- void passExternalInterfaceSequence(sequence<TestExternalInterface> arg);
- void passNullableExternalInterfaceSequence(sequence<TestExternalInterface?> arg);
-
- sequence<DOMString> receiveStringSequence();
- void passStringSequence(sequence<DOMString> arg);
-
- sequence<ByteString> receiveByteStringSequence();
- void passByteStringSequence(sequence<ByteString> arg);
-
- sequence<any> receiveAnySequence();
- sequence<any>? receiveNullableAnySequence();
- //XXXbz No support for sequence of sequence return values yet.
- //sequence<sequence<any>> receiveAnySequenceSequence();
-
- sequence<object> receiveObjectSequence();
- sequence<object?> receiveNullableObjectSequence();
-
- void passSequenceOfSequences(sequence<sequence<long>> arg);
- void passSequenceOfSequencesOfSequences(sequence<sequence<sequence<long>>> arg);
- //XXXbz No support for sequence of sequence return values yet.
- //sequence<sequence<long>> receiveSequenceOfSequences();
-
- // MozMap types
- void passMozMap(MozMap<long> arg);
- void passNullableMozMap(MozMap<long>? arg);
- void passMozMapOfNullableInts(MozMap<long?> arg);
- void passOptionalMozMapOfNullableInts(optional MozMap<long?> arg);
- void passOptionalNullableMozMapOfNullableInts(optional MozMap<long?>? arg);
- void passCastableObjectMozMap(MozMap<TestInterface> arg);
- void passNullableCastableObjectMozMap(MozMap<TestInterface?> arg);
- void passCastableObjectNullableMozMap(MozMap<TestInterface>? arg);
- void passNullableCastableObjectNullableMozMap(MozMap<TestInterface?>? arg);
- void passOptionalMozMap(optional MozMap<long> arg);
- void passOptionalNullableMozMap(optional MozMap<long>? arg);
- void passOptionalNullableMozMapWithDefaultValue(optional MozMap<long>? arg = null);
- void passOptionalObjectMozMap(optional MozMap<TestInterface> arg);
- void passExternalInterfaceMozMap(MozMap<TestExternalInterface> arg);
- void passNullableExternalInterfaceMozMap(MozMap<TestExternalInterface?> arg);
- void passStringMozMap(MozMap<DOMString> arg);
- void passByteStringMozMap(MozMap<ByteString> arg);
- void passMozMapOfMozMaps(MozMap<MozMap<long>> arg);
- MozMap<long> receiveMozMap();
- MozMap<long>? receiveNullableMozMap();
- MozMap<long?> receiveMozMapOfNullableInts();
- MozMap<long?>? receiveNullableMozMapOfNullableInts();
- //XXXbz No support for MozMap of MozMaps return values yet.
- //MozMap<MozMap<long>> receiveMozMapOfMozMaps();
- MozMap<any> receiveAnyMozMap();
-
- // Typed array types
- void passArrayBuffer(ArrayBuffer arg);
- void passNullableArrayBuffer(ArrayBuffer? arg);
- void passOptionalArrayBuffer(optional ArrayBuffer arg);
- void passOptionalNullableArrayBuffer(optional ArrayBuffer? arg);
- void passOptionalNullableArrayBufferWithDefaultValue(optional ArrayBuffer? arg= null);
- void passArrayBufferView(ArrayBufferView arg);
- void passInt8Array(Int8Array arg);
- void passInt16Array(Int16Array arg);
- void passInt32Array(Int32Array arg);
- void passUint8Array(Uint8Array arg);
- void passUint16Array(Uint16Array arg);
- void passUint32Array(Uint32Array arg);
- void passUint8ClampedArray(Uint8ClampedArray arg);
- void passFloat32Array(Float32Array arg);
- void passFloat64Array(Float64Array arg);
- void passSequenceOfArrayBuffers(sequence<ArrayBuffer> arg);
- void passSequenceOfNullableArrayBuffers(sequence<ArrayBuffer?> arg);
- void passMozMapOfArrayBuffers(MozMap<ArrayBuffer> arg);
- void passMozMapOfNullableArrayBuffers(MozMap<ArrayBuffer?> arg);
- void passVariadicTypedArray(Float32Array... arg);
- void passVariadicNullableTypedArray(Float32Array?... arg);
- Uint8Array receiveUint8Array();
- attribute Uint8Array uint8ArrayAttr;
-
- // DOMString types
- void passString(DOMString arg);
- void passNullableString(DOMString? arg);
- void passOptionalString(optional DOMString arg);
- void passOptionalStringWithDefaultValue(optional DOMString arg = "abc");
- void passOptionalNullableString(optional DOMString? arg);
- void passOptionalNullableStringWithDefaultValue(optional DOMString? arg = null);
- void passVariadicString(DOMString... arg);
-
- // ByteString types
- void passByteString(ByteString arg);
- void passNullableByteString(ByteString? arg);
- void passOptionalByteString(optional ByteString arg);
- void passOptionalByteStringWithDefaultValue(optional ByteString arg = "abc");
- void passOptionalNullableByteString(optional ByteString? arg);
- void passOptionalNullableByteStringWithDefaultValue(optional ByteString? arg = null);
- void passVariadicByteString(ByteString... arg);
- void passUnionByteString((ByteString or long) arg);
- void passOptionalUnionByteString(optional (ByteString or long) arg);
- void passOptionalUnionByteStringWithDefaultValue(optional (ByteString or long) arg = "abc");
-
- // USVString types
- void passSVS(USVString arg);
- void passNullableSVS(USVString? arg);
- void passOptionalSVS(optional USVString arg);
- void passOptionalSVSWithDefaultValue(optional USVString arg = "abc");
- void passOptionalNullableSVS(optional USVString? arg);
- void passOptionalNullableSVSWithDefaultValue(optional USVString? arg = null);
- void passVariadicSVS(USVString... arg);
- USVString receiveSVS();
-
- // Enumerated types
- void passEnum(TestEnum arg);
- void passNullableEnum(TestEnum? arg);
- void passOptionalEnum(optional TestEnum arg);
- void passEnumWithDefault(optional TestEnum arg = "a");
- void passOptionalNullableEnum(optional TestEnum? arg);
- void passOptionalNullableEnumWithDefaultValue(optional TestEnum? arg = null);
- void passOptionalNullableEnumWithDefaultValue2(optional TestEnum? arg = "a");
- TestEnum receiveEnum();
- TestEnum? receiveNullableEnum();
- attribute TestEnum enumAttribute;
- readonly attribute TestEnum readonlyEnumAttribute;
-
- // Callback types
- void passCallback(TestCallback arg);
- void passNullableCallback(TestCallback? arg);
- void passOptionalCallback(optional TestCallback arg);
- void passOptionalNullableCallback(optional TestCallback? arg);
- void passOptionalNullableCallbackWithDefaultValue(optional TestCallback? arg = null);
- TestCallback receiveCallback();
- TestCallback? receiveNullableCallback();
- void passNullableTreatAsNullCallback(TestTreatAsNullCallback? arg);
- void passOptionalNullableTreatAsNullCallback(optional TestTreatAsNullCallback? arg);
- void passOptionalNullableTreatAsNullCallbackWithDefaultValue(optional TestTreatAsNullCallback? arg = null);
-
- // Any types
- void passAny(any arg);
- void passVariadicAny(any... arg);
- void passOptionalAny(optional any arg);
- void passAnyDefaultNull(optional any arg = null);
- void passSequenceOfAny(sequence<any> arg);
- void passNullableSequenceOfAny(sequence<any>? arg);
- void passOptionalSequenceOfAny(optional sequence<any> arg);
- void passOptionalNullableSequenceOfAny(optional sequence<any>? arg);
- void passOptionalSequenceOfAnyWithDefaultValue(optional sequence<any>? arg = null);
- void passSequenceOfSequenceOfAny(sequence<sequence<any>> arg);
- void passSequenceOfNullableSequenceOfAny(sequence<sequence<any>?> arg);
- void passNullableSequenceOfNullableSequenceOfAny(sequence<sequence<any>?>? arg);
- void passOptionalNullableSequenceOfNullableSequenceOfAny(optional sequence<sequence<any>?>? arg);
- void passMozMapOfAny(MozMap<any> arg);
- void passNullableMozMapOfAny(MozMap<any>? arg);
- void passOptionalMozMapOfAny(optional MozMap<any> arg);
- void passOptionalNullableMozMapOfAny(optional MozMap<any>? arg);
- void passOptionalMozMapOfAnyWithDefaultValue(optional MozMap<any>? arg = null);
- void passMozMapOfMozMapOfAny(MozMap<MozMap<any>> arg);
- void passMozMapOfNullableMozMapOfAny(MozMap<MozMap<any>?> arg);
- void passNullableMozMapOfNullableMozMapOfAny(MozMap<MozMap<any>?>? arg);
- void passOptionalNullableMozMapOfNullableMozMapOfAny(optional MozMap<MozMap<any>?>? arg);
- void passOptionalNullableMozMapOfNullableSequenceOfAny(optional MozMap<sequence<any>?>? arg);
- void passOptionalNullableSequenceOfNullableMozMapOfAny(optional sequence<MozMap<any>?>? arg);
- any receiveAny();
-
- // object types
- void passObject(object arg);
- void passVariadicObject(object... arg);
- void passNullableObject(object? arg);
- void passVariadicNullableObject(object... arg);
- void passOptionalObject(optional object arg);
- void passOptionalNullableObject(optional object? arg);
- void passOptionalNullableObjectWithDefaultValue(optional object? arg = null);
- void passSequenceOfObject(sequence<object> arg);
- void passSequenceOfNullableObject(sequence<object?> arg);
- void passNullableSequenceOfObject(sequence<object>? arg);
- void passOptionalNullableSequenceOfNullableSequenceOfObject(optional sequence<sequence<object>?>? arg);
- void passOptionalNullableSequenceOfNullableSequenceOfNullableObject(optional sequence<sequence<object?>?>? arg);
- void passMozMapOfObject(MozMap<object> arg);
- object receiveObject();
- object? receiveNullableObject();
-
- // Union types
- void passUnion((object or long) arg);
- // Some union tests are debug-only to avoid creating all those
- // unused union types in opt builds.
-#ifdef DEBUG
- void passUnion2((long or boolean) arg);
- void passUnion3((object or long or boolean) arg);
- void passUnion4((Node or long or boolean) arg);
- void passUnion5((object or boolean) arg);
- void passUnion6((object or DOMString) arg);
- void passUnion7((object or DOMString or long) arg);
- void passUnion8((object or DOMString or boolean) arg);
- void passUnion9((object or DOMString or long or boolean) arg);
- void passUnion10(optional (EventInit or long) arg);
- void passUnion11(optional (CustomEventInit or long) arg);
- void passUnion12(optional (EventInit or long) arg = 5);
- void passUnion13(optional (object or long?) arg = null);
- void passUnion14(optional (object or long?) arg = 5);
- void passUnion15((sequence<long> or long) arg);
- void passUnion16(optional (sequence<long> or long) arg);
- void passUnion17(optional (sequence<long>? or long) arg = 5);
- void passUnion18((sequence<object> or long) arg);
- void passUnion19(optional (sequence<object> or long) arg);
- void passUnion20(optional (sequence<object> or long) arg = []);
- void passUnion21((MozMap<long> or long) arg);
- void passUnion22((MozMap<object> or long) arg);
- void passUnion23((sequence<ImageData> or long) arg);
- void passUnion24((sequence<ImageData?> or long) arg);
- void passUnion25((sequence<sequence<ImageData>> or long) arg);
- void passUnion26((sequence<sequence<ImageData?>> or long) arg);
- void passUnion27(optional (sequence<DOMString> or EventInit) arg);
- void passUnion28(optional (EventInit or sequence<DOMString>) arg);
- void passUnionWithCallback((EventHandler or long) arg);
- void passUnionWithByteString((ByteString or long) arg);
- void passUnionWithMozMap((MozMap<DOMString> or DOMString) arg);
- void passUnionWithMozMapAndSequence((MozMap<DOMString> or sequence<DOMString>) arg);
- void passUnionWithSequenceAndMozMap((sequence<DOMString> or MozMap<DOMString>) arg);
- void passUnionWithSVS((USVString or long) arg);
-#endif
- void passUnionWithNullable((object? or long) arg);
- void passNullableUnion((object or long)? arg);
- void passOptionalUnion(optional (object or long) arg);
- void passOptionalNullableUnion(optional (object or long)? arg);
- void passOptionalNullableUnionWithDefaultValue(optional (object or long)? arg = null);
- //void passUnionWithInterfaces((TestInterface or TestExternalInterface) arg);
- //void passUnionWithInterfacesAndNullable((TestInterface? or TestExternalInterface) arg);
- //void passUnionWithSequence((sequence<object> or long) arg);
- void passUnionWithArrayBuffer((ArrayBuffer or long) arg);
- void passUnionWithString((DOMString or object) arg);
- // Using an enum in a union. Note that we use some enum not declared in our
- // binding file, because UnionTypes.h will need to include the binding header
- // for this enum. Pick an enum from an interface that won't drag in too much
- // stuff.
- void passUnionWithEnum((SupportedType or object) arg);
-
- // Trying to use a callback in a union won't include the test
- // headers, unfortunately, so won't compile.
- // void passUnionWithCallback((TestCallback or long) arg);
- void passUnionWithObject((object or long) arg);
- //void passUnionWithDict((Dict or long) arg);
-
- void passUnionWithDefaultValue1(optional (double or DOMString) arg = "");
- void passUnionWithDefaultValue2(optional (double or DOMString) arg = 1);
- void passUnionWithDefaultValue3(optional (double or DOMString) arg = 1.5);
- void passUnionWithDefaultValue4(optional (float or DOMString) arg = "");
- void passUnionWithDefaultValue5(optional (float or DOMString) arg = 1);
- void passUnionWithDefaultValue6(optional (float or DOMString) arg = 1.5);
- void passUnionWithDefaultValue7(optional (unrestricted double or DOMString) arg = "");
- void passUnionWithDefaultValue8(optional (unrestricted double or DOMString) arg = 1);
- void passUnionWithDefaultValue9(optional (unrestricted double or DOMString) arg = 1.5);
- void passUnionWithDefaultValue10(optional (unrestricted double or DOMString) arg = Infinity);
- void passUnionWithDefaultValue11(optional (unrestricted float or DOMString) arg = "");
- void passUnionWithDefaultValue12(optional (unrestricted float or DOMString) arg = 1);
- void passUnionWithDefaultValue13(optional (unrestricted float or DOMString) arg = Infinity);
- void passUnionWithDefaultValue14(optional (double or ByteString) arg = "");
- void passUnionWithDefaultValue15(optional (double or ByteString) arg = 1);
- void passUnionWithDefaultValue16(optional (double or ByteString) arg = 1.5);
- void passUnionWithDefaultValue17(optional (double or SupportedType) arg = "text/html");
- void passUnionWithDefaultValue18(optional (double or SupportedType) arg = 1);
- void passUnionWithDefaultValue19(optional (double or SupportedType) arg = 1.5);
-
- void passNullableUnionWithDefaultValue1(optional (double or DOMString)? arg = "");
- void passNullableUnionWithDefaultValue2(optional (double or DOMString)? arg = 1);
- void passNullableUnionWithDefaultValue3(optional (double or DOMString)? arg = null);
- void passNullableUnionWithDefaultValue4(optional (float or DOMString)? arg = "");
- void passNullableUnionWithDefaultValue5(optional (float or DOMString)? arg = 1);
- void passNullableUnionWithDefaultValue6(optional (float or DOMString)? arg = null);
- void passNullableUnionWithDefaultValue7(optional (unrestricted double or DOMString)? arg = "");
- void passNullableUnionWithDefaultValue8(optional (unrestricted double or DOMString)? arg = 1);
- void passNullableUnionWithDefaultValue9(optional (unrestricted double or DOMString)? arg = null);
- void passNullableUnionWithDefaultValue10(optional (unrestricted float or DOMString)? arg = "");
- void passNullableUnionWithDefaultValue11(optional (unrestricted float or DOMString)? arg = 1);
- void passNullableUnionWithDefaultValue12(optional (unrestricted float or DOMString)? arg = null);
- void passNullableUnionWithDefaultValue13(optional (double or ByteString)? arg = "");
- void passNullableUnionWithDefaultValue14(optional (double or ByteString)? arg = 1);
- void passNullableUnionWithDefaultValue15(optional (double or ByteString)? arg = 1.5);
- void passNullableUnionWithDefaultValue16(optional (double or ByteString)? arg = null);
- void passNullableUnionWithDefaultValue17(optional (double or SupportedType)? arg = "text/html");
- void passNullableUnionWithDefaultValue18(optional (double or SupportedType)? arg = 1);
- void passNullableUnionWithDefaultValue19(optional (double or SupportedType)? arg = 1.5);
- void passNullableUnionWithDefaultValue20(optional (double or SupportedType)? arg = null);
-
- void passSequenceOfUnions(sequence<(CanvasPattern or CanvasGradient)> arg);
- void passSequenceOfUnions2(sequence<(object or long)> arg);
- void passVariadicUnion((CanvasPattern or CanvasGradient)... arg);
-
- void passSequenceOfNullableUnions(sequence<(CanvasPattern or CanvasGradient)?> arg);
- void passVariadicNullableUnion((CanvasPattern or CanvasGradient)?... arg);
- void passMozMapOfUnions(MozMap<(CanvasPattern or CanvasGradient)> arg);
- // XXXbz no move constructor on some unions
- // void passMozMapOfUnions2(MozMap<(object or long)> arg);
-
- (CanvasPattern or CanvasGradient) receiveUnion();
- (object or long) receiveUnion2();
- (CanvasPattern? or CanvasGradient) receiveUnionContainingNull();
- (CanvasPattern or CanvasGradient)? receiveNullableUnion();
- (object or long)? receiveNullableUnion2();
-
- attribute (CanvasPattern or CanvasGradient) writableUnion;
- attribute (CanvasPattern? or CanvasGradient) writableUnionContainingNull;
- attribute (CanvasPattern or CanvasGradient)? writableNullableUnion;
-
- // Date types
- void passDate(Date arg);
- void passNullableDate(Date? arg);
- void passOptionalDate(optional Date arg);
- void passOptionalNullableDate(optional Date? arg);
- void passOptionalNullableDateWithDefaultValue(optional Date? arg = null);
- void passDateSequence(sequence<Date> arg);
- void passNullableDateSequence(sequence<Date?> arg);
- void passDateMozMap(MozMap<Date> arg);
- Date receiveDate();
- Date? receiveNullableDate();
-
- // Promise types
- void passPromise(Promise<any> arg);
- void passNullablePromise(Promise<any>? arg);
- void passOptionalPromise(optional Promise<any> arg);
- void passOptionalNullablePromise(optional Promise<any>? arg);
- void passOptionalNullablePromiseWithDefaultValue(optional Promise<any>? arg = null);
- void passPromiseSequence(sequence<Promise<any>> arg);
- void passNullablePromiseSequence(sequence<Promise<any>?> arg);
- Promise<any> receivePromise();
- Promise<any> receiveAddrefedPromise();
-
- // binaryNames tests
- void methodRenamedFrom();
- [BinaryName="otherMethodRenamedTo"]
- void otherMethodRenamedFrom();
- void methodRenamedFrom(byte argument);
- readonly attribute byte attributeGetterRenamedFrom;
- attribute byte attributeRenamedFrom;
- [BinaryName="otherAttributeRenamedTo"]
- attribute byte otherAttributeRenamedFrom;
-
- void passDictionary(optional Dict x);
- void passDictionary2(Dict x);
- [Cached, Pure]
- readonly attribute Dict readonlyDictionary;
- [Cached, Pure]
- readonly attribute Dict? readonlyNullableDictionary;
- [Cached, Pure]
- attribute Dict writableDictionary;
- [Cached, Pure, Frozen]
- readonly attribute Dict readonlyFrozenDictionary;
- [Cached, Pure, Frozen]
- readonly attribute Dict? readonlyFrozenNullableDictionary;
- [Cached, Pure, Frozen]
- attribute Dict writableFrozenDictionary;
- Dict receiveDictionary();
- Dict? receiveNullableDictionary();
- void passOtherDictionary(optional GrandparentDict x);
- void passSequenceOfDictionaries(sequence<Dict> x);
- void passMozMapOfDictionaries(MozMap<GrandparentDict> x);
- // No support for nullable dictionaries inside a sequence (nor should there be)
- // void passSequenceOfNullableDictionaries(sequence<Dict?> x);
- void passDictionaryOrLong(optional Dict x);
- void passDictionaryOrLong(long x);
-
- void passDictContainingDict(optional DictContainingDict arg);
- void passDictContainingSequence(optional DictContainingSequence arg);
- DictContainingSequence receiveDictContainingSequence();
- void passVariadicDictionary(Dict... arg);
-
- // EnforceRange/Clamp tests
- void dontEnforceRangeOrClamp(byte arg);
- void doEnforceRange([EnforceRange] byte arg);
- void doClamp([Clamp] byte arg);
- [EnforceRange] attribute byte enforcedByte;
- [Clamp] attribute byte clampedByte;
-
- // Typedefs
- const myLong myLongConstant = 5;
- void exerciseTypedefInterfaces1(AnotherNameForTestInterface arg);
- AnotherNameForTestInterface exerciseTypedefInterfaces2(NullableTestInterface arg);
- void exerciseTypedefInterfaces3(YetAnotherNameForTestInterface arg);
-
- // Deprecated methods and attributes
- [Deprecated="GetAttributeNode"]
- attribute boolean deprecatedAttribute;
- [Deprecated="GetAttributeNode"]
- void deprecatedMethod(boolean arg);
- [Deprecated="GetAttributeNode"]
- void deprecatedMethodWithContext(any arg);
-
- // Static methods and attributes
- static attribute boolean staticAttribute;
- static void staticMethod(boolean arg);
- static void staticMethodWithContext(any arg);
-
- // Deprecated methods and attributes;
- [Deprecated="GetAttributeNode"]
- static attribute boolean staticDeprecatedAttribute;
- [Deprecated="GetAttributeNode"]
- static void staticDeprecatedMethod(boolean arg);
- [Deprecated="GetAttributeNode"]
- static void staticDeprecatedMethodWithContext(any arg);
-
- // Overload resolution tests
- //void overload1(DOMString... strs);
- boolean overload1(TestInterface arg);
- TestInterface overload1(DOMString strs, TestInterface arg);
- void overload2(TestInterface arg);
- void overload2(optional Dict arg);
- void overload2(boolean arg);
- void overload2(DOMString arg);
- void overload2(Date arg);
- void overload3(TestInterface arg);
- void overload3(TestCallback arg);
- void overload3(boolean arg);
- void overload4(TestInterface arg);
- void overload4(TestCallbackInterface arg);
- void overload4(DOMString arg);
- void overload5(long arg);
- void overload5(TestEnum arg);
- void overload6(long arg);
- void overload6(boolean arg);
- void overload7(long arg);
- void overload7(boolean arg);
- void overload7(ByteString arg);
- void overload8(long arg);
- void overload8(TestInterface arg);
- void overload9(long? arg);
- void overload9(DOMString arg);
- void overload10(long? arg);
- void overload10(object arg);
- void overload11(long arg);
- void overload11(DOMString? arg);
- void overload12(long arg);
- void overload12(boolean? arg);
- void overload13(long? arg);
- void overload13(boolean arg);
- void overload14(optional long arg);
- void overload14(TestInterface arg);
- void overload15(long arg);
- void overload15(optional TestInterface arg);
- void overload16(long arg);
- void overload16(optional TestInterface? arg);
- void overload17(sequence<long> arg);
- void overload17(MozMap<long> arg);
- void overload18(MozMap<DOMString> arg);
- void overload18(sequence<DOMString> arg);
- void overload19(sequence<long> arg);
- void overload19(optional Dict arg);
- void overload20(optional Dict arg);
- void overload20(sequence<long> arg);
-
- // Variadic handling
- void passVariadicThirdArg(DOMString arg1, long arg2, TestInterface... arg3);
-
- // Conditionally exposed methods/attributes
- [Pref="abc.def"]
- readonly attribute boolean prefable1;
- [Pref="abc.def"]
- readonly attribute boolean prefable2;
- [Pref="ghi.jkl"]
- readonly attribute boolean prefable3;
- [Pref="ghi.jkl"]
- readonly attribute boolean prefable4;
- [Pref="abc.def"]
- readonly attribute boolean prefable5;
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean prefable6;
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean prefable7;
- [Pref="ghi.jkl", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean prefable8;
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean prefable9;
- [Pref="abc.def"]
- void prefable10();
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- void prefable11();
- [Pref="abc.def", Func="TestFuncControlledMember"]
- readonly attribute boolean prefable12;
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- void prefable13();
- [Pref="abc.def", Func="TestFuncControlledMember"]
- readonly attribute boolean prefable14;
- [Func="TestFuncControlledMember"]
- readonly attribute boolean prefable15;
- [Func="TestFuncControlledMember"]
- readonly attribute boolean prefable16;
- [Pref="abc.def", Func="TestFuncControlledMember"]
- void prefable17();
- [Func="TestFuncControlledMember"]
- void prefable18();
- [Func="TestFuncControlledMember"]
- void prefable19();
-
- // Conditionally exposed methods/attributes involving [SecureContext]
- [SecureContext]
- readonly attribute boolean conditionalOnSecureContext1;
- [SecureContext, Pref="abc.def"]
- readonly attribute boolean conditionalOnSecureContext2;
- [SecureContext, Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean conditionalOnSecureContext3;
- [SecureContext, Pref="abc.def", Func="TestFuncControlledMember"]
- readonly attribute boolean conditionalOnSecureContext4;
- [SecureContext]
- void conditionalOnSecureContext5();
- [SecureContext, Pref="abc.def"]
- void conditionalOnSecureContext6();
- [SecureContext, Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- void conditionalOnSecureContext7();
- [SecureContext, Pref="abc.def", Func="TestFuncControlledMember"]
- void conditionalOnSecureContext8();
-
- // Miscellania
- [LenientThis] attribute long attrWithLenientThis;
- [Unforgeable] readonly attribute long unforgeableAttr;
- [Unforgeable, ChromeOnly] readonly attribute long unforgeableAttr2;
- [Unforgeable] long unforgeableMethod();
- [Unforgeable, ChromeOnly] long unforgeableMethod2();
- stringifier;
- void passRenamedInterface(TestRenamedInterface arg);
- [PutForwards=writableByte] readonly attribute TestExampleInterface putForwardsAttr;
- [PutForwards=writableByte, LenientThis] readonly attribute TestExampleInterface putForwardsAttr2;
- [PutForwards=writableByte, ChromeOnly] readonly attribute TestExampleInterface putForwardsAttr3;
- [Throws] void throwingMethod();
- [Throws] attribute boolean throwingAttr;
- [GetterThrows] attribute boolean throwingGetterAttr;
- [SetterThrows] attribute boolean throwingSetterAttr;
- [NeedsSubjectPrincipal] void needsSubjectPrincipalMethod();
- [NeedsSubjectPrincipal] attribute boolean needsSubjectPrincipalAttr;
- [NeedsCallerType] void needsCallerTypeMethod();
- [NeedsCallerType] attribute boolean needsCallerTypeAttr;
- [CEReactions] void ceReactionsMethod();
- [CEReactions] void ceReactionsMethodOverload();
- [CEReactions] void ceReactionsMethodOverload(DOMString bar);
- [CEReactions] attribute boolean ceReactionsAttr;
- legacycaller short(unsigned long arg1, TestInterface arg2);
- void passArgsWithDefaults(optional long arg1,
- optional TestInterface? arg2 = null,
- optional Dict arg3, optional double arg4 = 5.0,
- optional float arg5);
- attribute any jsonifierShouldSkipThis;
- attribute TestParentInterface jsonifierShouldSkipThis2;
- attribute TestCallbackInterface jsonifierShouldSkipThis3;
- jsonifier;
-
- attribute byte dashed-attribute;
- void dashed-method();
-
- // If you add things here, add them to TestCodeGen and TestJSImplGen as well
-};
-
-interface TestExampleProxyInterface {
- getter long longIndexedGetter(unsigned long ix);
- setter creator void longIndexedSetter(unsigned long y, long z);
- stringifier DOMString myStringifier();
- getter short shortNameGetter(DOMString nom);
- deleter void (DOMString nomnom);
- setter creator void shortNamedSetter(DOMString me, short value);
-};
-
-[Exposed=(Window,Worker)]
-interface TestExampleWorkerInterface {
- [NeedsSubjectPrincipal] void needsSubjectPrincipalMethod();
- [NeedsSubjectPrincipal] attribute boolean needsSubjectPrincipalAttr;
- [NeedsCallerType] void needsCallerTypeMethod();
- [NeedsCallerType] attribute boolean needsCallerTypeAttr;
-};
diff --git a/dom/bindings/test/TestFunctions.cpp b/dom/bindings/test/TestFunctions.cpp
deleted file mode 100644
index f05c92b48d..0000000000
--- a/dom/bindings/test/TestFunctions.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* 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 "mozilla/dom/TestFunctions.h"
-#include "mozilla/dom/TestFunctionsBinding.h"
-#include "nsStringBuffer.h"
-
-namespace mozilla {
-namespace dom {
-
-/* static */ TestFunctions*
-TestFunctions::Constructor(GlobalObject& aGlobal, ErrorResult& aRv)
-{
- return new TestFunctions;
-}
-
-/* static */ void
-TestFunctions::ThrowUncatchableException(GlobalObject& aGlobal,
- ErrorResult& aRv)
-{
- aRv.ThrowUncatchableException();
-}
-
-/* static */ Promise*
-TestFunctions::PassThroughPromise(GlobalObject& aGlobal, Promise& aPromise)
-{
- return &aPromise;
-}
-
-/* static */ already_AddRefed<Promise>
-TestFunctions::PassThroughCallbackPromise(GlobalObject& aGlobal,
- PromiseReturner& aCallback,
- ErrorResult& aRv)
-{
- return aCallback.Call(aRv);
-}
-
-void
-TestFunctions::SetStringData(const nsAString& aString)
-{
- mStringData = aString;
-}
-
-void
-TestFunctions::GetStringDataAsAString(nsAString& aString)
-{
- aString = mStringData;
-}
-
-void
-TestFunctions::GetStringDataAsAString(uint32_t aLength, nsAString& aString)
-{
- MOZ_RELEASE_ASSERT(aLength <= mStringData.Length(),
- "Bogus test passing in a too-big length");
- aString.Assign(mStringData.BeginReading(), aLength);
-}
-
-void
-TestFunctions::GetStringDataAsDOMString(const Optional<uint32_t>& aLength,
- DOMString& aString)
-{
- uint32_t length;
- if (aLength.WasPassed()) {
- length = aLength.Value();
- MOZ_RELEASE_ASSERT(length <= mStringData.Length(),
- "Bogus test passing in a too-big length");
- } else {
- length = mStringData.Length();
- }
-
- nsStringBuffer* buf = nsStringBuffer::FromString(mStringData);
- if (buf) {
- aString.SetStringBuffer(buf, length);
- return;
- }
-
- // We better have an empty mStringData; otherwise why did we not have a string
- // buffer?
- MOZ_RELEASE_ASSERT(length == 0, "Why no stringbuffer?");
- // No need to do anything here; aString is already empty.
-}
-
-bool
-TestFunctions::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto,
- JS::MutableHandle<JSObject*> aWrapper)
-{
- return TestFunctionsBinding::Wrap(aCx, this, aGivenProto, aWrapper);
-}
-
-}
-}
diff --git a/dom/bindings/test/TestFunctions.h b/dom/bindings/test/TestFunctions.h
deleted file mode 100644
index b35464824a..0000000000
--- a/dom/bindings/test/TestFunctions.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim: set ts=8 sts=2 et sw=2 tw=80: */
-/* 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/. */
-
-#ifndef mozilla_dom_TestFunctions_h
-#define mozilla_dom_TestFunctions_h
-
-#include "mozilla/ErrorResult.h"
-#include "mozilla/dom/BindingDeclarations.h"
-#include "mozilla/dom/NonRefcountedDOMObject.h"
-#include "nsString.h"
-
-namespace mozilla {
-namespace dom {
-
-class Promise;
-class PromiseReturner;
-
-class TestFunctions : public NonRefcountedDOMObject {
-public:
- static TestFunctions* Constructor(GlobalObject& aGlobal, ErrorResult& aRv);
-
- static void
- ThrowUncatchableException(GlobalObject& aGlobal, ErrorResult& aRv);
-
- static Promise*
- PassThroughPromise(GlobalObject& aGlobal, Promise& aPromise);
-
- static already_AddRefed<Promise>
- PassThroughCallbackPromise(GlobalObject& aGlobal,
- PromiseReturner& aCallback,
- ErrorResult& aRv);
-
- void SetStringData(const nsAString& aString);
-
- void GetStringDataAsAString(nsAString& aString);
- void GetStringDataAsAString(uint32_t aLength, nsAString& aString);
- void GetStringDataAsDOMString(const Optional<uint32_t>& aLength,
- DOMString& aString);
-
- bool WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto,
- JS::MutableHandle<JSObject*> aWrapper);
-private:
- nsString mStringData;
-};
-
-} // namespace dom
-} // namespace mozilla
-
-#endif // mozilla_dom_TestFunctions_h
diff --git a/dom/bindings/test/TestInterfaceIterableDouble.cpp b/dom/bindings/test/TestInterfaceIterableDouble.cpp
deleted file mode 100644
index 33a4c97d1f..0000000000
--- a/dom/bindings/test/TestInterfaceIterableDouble.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/* 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 "mozilla/dom/TestInterfaceIterableDouble.h"
-#include "mozilla/dom/TestInterfaceJSMaplikeSetlikeIterableBinding.h"
-#include "nsPIDOMWindow.h"
-#include "mozilla/dom/BindingUtils.h"
-
-namespace mozilla {
-namespace dom {
-
-NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(TestInterfaceIterableDouble, mParent)
-
-NS_IMPL_CYCLE_COLLECTING_ADDREF(TestInterfaceIterableDouble)
-NS_IMPL_CYCLE_COLLECTING_RELEASE(TestInterfaceIterableDouble)
-
-NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(TestInterfaceIterableDouble)
-NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
-NS_INTERFACE_MAP_ENTRY(nsISupports)
-NS_INTERFACE_MAP_END
-
-TestInterfaceIterableDouble::TestInterfaceIterableDouble(nsPIDOMWindowInner* aParent)
- : mParent(aParent)
-{
- mValues.AppendElement(std::pair<nsString, nsString>(NS_LITERAL_STRING("a"),
- NS_LITERAL_STRING("b")));
- mValues.AppendElement(std::pair<nsString, nsString>(NS_LITERAL_STRING("c"),
- NS_LITERAL_STRING("d")));
- mValues.AppendElement(std::pair<nsString, nsString>(NS_LITERAL_STRING("e"),
- NS_LITERAL_STRING("f")));
-}
-
-//static
-already_AddRefed<TestInterfaceIterableDouble>
-TestInterfaceIterableDouble::Constructor(const GlobalObject& aGlobal,
- ErrorResult& aRv)
-{
- nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(aGlobal.GetAsSupports());
- if (!window) {
- aRv.Throw(NS_ERROR_FAILURE);
- return nullptr;
- }
-
- RefPtr<TestInterfaceIterableDouble> r = new TestInterfaceIterableDouble(window);
- return r.forget();
-}
-
-JSObject*
-TestInterfaceIterableDouble::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
-{
- return TestInterfaceIterableDoubleBinding::Wrap(aCx, this, aGivenProto);
-}
-
-nsPIDOMWindowInner*
-TestInterfaceIterableDouble::GetParentObject() const
-{
- return mParent;
-}
-
-size_t
-TestInterfaceIterableDouble::GetIterableLength()
-{
- return mValues.Length();
-}
-
-nsAString&
-TestInterfaceIterableDouble::GetKeyAtIndex(uint32_t aIndex)
-{
- MOZ_ASSERT(aIndex < mValues.Length());
- return mValues.ElementAt(aIndex).first;
-}
-
-nsAString&
-TestInterfaceIterableDouble::GetValueAtIndex(uint32_t aIndex)
-{
- MOZ_ASSERT(aIndex < mValues.Length());
- return mValues.ElementAt(aIndex).second;
-}
-
-} // namespace dom
-} // namespace mozilla
diff --git a/dom/bindings/test/TestInterfaceIterableDouble.h b/dom/bindings/test/TestInterfaceIterableDouble.h
deleted file mode 100644
index 1e9ff7acd3..0000000000
--- a/dom/bindings/test/TestInterfaceIterableDouble.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim:set ts=2 sw=2 sts=2 et cindent: */
-/* 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/. */
-
-#ifndef mozilla_dom_TestInterfaceIterableDouble_h
-#define mozilla_dom_TestInterfaceIterableDouble_h
-
-#include "nsWrapperCache.h"
-#include "nsCOMPtr.h"
-
-class nsPIDOMWindowInner;
-
-namespace mozilla {
-
-class ErrorResult;
-
-namespace dom {
-
-class GlobalObject;
-
-// Implementation of test binding for webidl iterable interfaces, using
-// primitives for value type
-class TestInterfaceIterableDouble final : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_CYCLE_COLLECTING_ISUPPORTS
- NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(TestInterfaceIterableDouble)
-
- explicit TestInterfaceIterableDouble(nsPIDOMWindowInner* aParent);
- nsPIDOMWindowInner* GetParentObject() const;
- virtual JSObject* WrapObject(JSContext* aCx,
- JS::Handle<JSObject*> aGivenProto) override;
- static already_AddRefed<TestInterfaceIterableDouble>
- Constructor(const GlobalObject& aGlobal, ErrorResult& rv);
-
- size_t GetIterableLength();
- nsAString& GetKeyAtIndex(uint32_t aIndex);
- nsAString& GetValueAtIndex(uint32_t aIndex);
-private:
- virtual ~TestInterfaceIterableDouble() {}
- nsCOMPtr<nsPIDOMWindowInner> mParent;
- nsTArray<std::pair<nsString, nsString>> mValues;
-};
-
-} // namespace dom
-} // namespace mozilla
-
-#endif // mozilla_dom_TestInterfaceIterableDouble_h
diff --git a/dom/bindings/test/TestInterfaceIterableDoubleUnion.cpp b/dom/bindings/test/TestInterfaceIterableDoubleUnion.cpp
deleted file mode 100644
index 29151a4c56..0000000000
--- a/dom/bindings/test/TestInterfaceIterableDoubleUnion.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/* 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 "mozilla/dom/TestInterfaceIterableDoubleUnion.h"
-#include "mozilla/dom/TestInterfaceJSMaplikeSetlikeIterableBinding.h"
-#include "nsPIDOMWindow.h"
-#include "mozilla/dom/BindingUtils.h"
-
-namespace mozilla {
-namespace dom {
-
-NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(TestInterfaceIterableDoubleUnion, mParent)
-
-NS_IMPL_CYCLE_COLLECTING_ADDREF(TestInterfaceIterableDoubleUnion)
-NS_IMPL_CYCLE_COLLECTING_RELEASE(TestInterfaceIterableDoubleUnion)
-
-NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(TestInterfaceIterableDoubleUnion)
-NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
-NS_INTERFACE_MAP_ENTRY(nsISupports)
-NS_INTERFACE_MAP_END
-
-TestInterfaceIterableDoubleUnion::TestInterfaceIterableDoubleUnion(nsPIDOMWindowInner* aParent)
- : mParent(aParent)
-{
- OwningStringOrLong a;
- a.SetAsLong() = 1;
- mValues.AppendElement(std::pair<nsString, OwningStringOrLong>(NS_LITERAL_STRING("long"),
- a));
- a.SetAsString() = NS_LITERAL_STRING("a");
- mValues.AppendElement(std::pair<nsString, OwningStringOrLong>(NS_LITERAL_STRING("string"),
- a));
-}
-
-//static
-already_AddRefed<TestInterfaceIterableDoubleUnion>
-TestInterfaceIterableDoubleUnion::Constructor(const GlobalObject& aGlobal,
- ErrorResult& aRv)
-{
- nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(aGlobal.GetAsSupports());
- if (!window) {
- aRv.Throw(NS_ERROR_FAILURE);
- return nullptr;
- }
-
- RefPtr<TestInterfaceIterableDoubleUnion> r = new TestInterfaceIterableDoubleUnion(window);
- return r.forget();
-}
-
-JSObject*
-TestInterfaceIterableDoubleUnion::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
-{
- return TestInterfaceIterableDoubleUnionBinding::Wrap(aCx, this, aGivenProto);
-}
-
-nsPIDOMWindowInner*
-TestInterfaceIterableDoubleUnion::GetParentObject() const
-{
- return mParent;
-}
-
-size_t
-TestInterfaceIterableDoubleUnion::GetIterableLength()
-{
- return mValues.Length();
-}
-
-nsAString&
-TestInterfaceIterableDoubleUnion::GetKeyAtIndex(uint32_t aIndex)
-{
- MOZ_ASSERT(aIndex < mValues.Length());
- return mValues.ElementAt(aIndex).first;
-}
-
-OwningStringOrLong&
-TestInterfaceIterableDoubleUnion::GetValueAtIndex(uint32_t aIndex)
-{
- MOZ_ASSERT(aIndex < mValues.Length());
- return mValues.ElementAt(aIndex).second;
-}
-
-} // namespace dom
-} // namespace mozilla
diff --git a/dom/bindings/test/TestInterfaceIterableDoubleUnion.h b/dom/bindings/test/TestInterfaceIterableDoubleUnion.h
deleted file mode 100644
index ff6ea21752..0000000000
--- a/dom/bindings/test/TestInterfaceIterableDoubleUnion.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim:set ts=2 sw=2 sts=2 et cindent: */
-/* 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/. */
-
-#ifndef mozilla_dom_TestInterfaceIterableDoubleUnion_h
-#define mozilla_dom_TestInterfaceIterableDoubleUnion_h
-
-#include "nsWrapperCache.h"
-#include "nsCOMPtr.h"
-
-class nsPIDOMWindowInner;
-
-namespace mozilla {
-
-class ErrorResult;
-
-namespace dom {
-
-class GlobalObject;
-
-// Implementation of test binding for webidl iterable interfaces, using
-// primitives for value type
-class TestInterfaceIterableDoubleUnion final : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_CYCLE_COLLECTING_ISUPPORTS
- NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(TestInterfaceIterableDoubleUnion)
-
- explicit TestInterfaceIterableDoubleUnion(nsPIDOMWindowInner* aParent);
- nsPIDOMWindowInner* GetParentObject() const;
- virtual JSObject* WrapObject(JSContext* aCx,
- JS::Handle<JSObject*> aGivenProto) override;
- static already_AddRefed<TestInterfaceIterableDoubleUnion>
- Constructor(const GlobalObject& aGlobal, ErrorResult& rv);
-
- size_t GetIterableLength();
- nsAString& GetKeyAtIndex(uint32_t aIndex);
- OwningStringOrLong& GetValueAtIndex(uint32_t aIndex);
-private:
- virtual ~TestInterfaceIterableDoubleUnion() {}
- nsCOMPtr<nsPIDOMWindowInner> mParent;
- nsTArray<std::pair<nsString, OwningStringOrLong>> mValues;
-};
-
-} // namespace dom
-} // namespace mozilla
-
-#endif // mozilla_dom_TestInterfaceIterableDoubleUnion_h
diff --git a/dom/bindings/test/TestInterfaceIterableSingle.cpp b/dom/bindings/test/TestInterfaceIterableSingle.cpp
deleted file mode 100644
index 5f8d6c640f..0000000000
--- a/dom/bindings/test/TestInterfaceIterableSingle.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/* 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 "mozilla/dom/TestInterfaceIterableSingle.h"
-#include "mozilla/dom/TestInterfaceJSMaplikeSetlikeIterableBinding.h"
-#include "nsPIDOMWindow.h"
-#include "mozilla/dom/BindingUtils.h"
-
-namespace mozilla {
-namespace dom {
-
-NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(TestInterfaceIterableSingle, mParent)
-
-NS_IMPL_CYCLE_COLLECTING_ADDREF(TestInterfaceIterableSingle)
-NS_IMPL_CYCLE_COLLECTING_RELEASE(TestInterfaceIterableSingle)
-
-NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(TestInterfaceIterableSingle)
-NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
-NS_INTERFACE_MAP_ENTRY(nsISupports)
-NS_INTERFACE_MAP_END
-
-TestInterfaceIterableSingle::TestInterfaceIterableSingle(nsPIDOMWindowInner* aParent)
- : mParent(aParent)
-{
- for (int i = 0; i < 3; ++i) {
- mValues.AppendElement(i);
- }
-}
-
-//static
-already_AddRefed<TestInterfaceIterableSingle>
-TestInterfaceIterableSingle::Constructor(const GlobalObject& aGlobal,
- ErrorResult& aRv)
-{
- nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(aGlobal.GetAsSupports());
- if (!window) {
- aRv.Throw(NS_ERROR_FAILURE);
- return nullptr;
- }
-
- RefPtr<TestInterfaceIterableSingle> r = new TestInterfaceIterableSingle(window);
- return r.forget();
-}
-
-JSObject*
-TestInterfaceIterableSingle::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
-{
- return TestInterfaceIterableSingleBinding::Wrap(aCx, this, aGivenProto);
-}
-
-nsPIDOMWindowInner*
-TestInterfaceIterableSingle::GetParentObject() const
-{
- return mParent;
-}
-
-uint32_t
-TestInterfaceIterableSingle::Length() const
-{
- return mValues.Length();
-}
-
-int32_t
-TestInterfaceIterableSingle::IndexedGetter(uint32_t aIndex, bool& aFound) const
-{
- if (aIndex >= mValues.Length()) {
- aFound = false;
- return 0;
- }
-
- aFound = true;
- return mValues[aIndex];
-}
-
-} // namespace dom
-} // namespace mozilla
diff --git a/dom/bindings/test/TestInterfaceIterableSingle.h b/dom/bindings/test/TestInterfaceIterableSingle.h
deleted file mode 100644
index a071ada8b0..0000000000
--- a/dom/bindings/test/TestInterfaceIterableSingle.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim:set ts=2 sw=2 sts=2 et cindent: */
-/* 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/. */
-
-#ifndef mozilla_dom_TestInterfaceIterableSingle_h
-#define mozilla_dom_TestInterfaceIterableSingle_h
-
-#include "nsWrapperCache.h"
-#include "nsCOMPtr.h"
-
-class nsPIDOMWindowInner;
-
-namespace mozilla {
-
-class ErrorResult;
-
-namespace dom {
-
-class GlobalObject;
-
-// Implementation of test binding for webidl iterable interfaces, using
-// primitives for value type
-class TestInterfaceIterableSingle final : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_CYCLE_COLLECTING_ISUPPORTS
- NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(TestInterfaceIterableSingle)
-
- explicit TestInterfaceIterableSingle(nsPIDOMWindowInner* aParent);
- nsPIDOMWindowInner* GetParentObject() const;
- virtual JSObject* WrapObject(JSContext* aCx,
- JS::Handle<JSObject*> aGivenProto) override;
- static already_AddRefed<TestInterfaceIterableSingle>
- Constructor(const GlobalObject& aGlobal, ErrorResult& rv);
-
- uint32_t Length() const;
- int32_t IndexedGetter(uint32_t aIndex, bool& aFound) const;
-
-private:
- virtual ~TestInterfaceIterableSingle() {}
- nsCOMPtr<nsPIDOMWindowInner> mParent;
- nsTArray<int32_t> mValues;
-};
-
-} // namespace dom
-} // namespace mozilla
-
-#endif // mozilla_dom_TestInterfaceIterableSingle_h
diff --git a/dom/bindings/test/TestInterfaceJS.js b/dom/bindings/test/TestInterfaceJS.js
deleted file mode 100644
index 1a5bf8e61d..0000000000
--- a/dom/bindings/test/TestInterfaceJS.js
+++ /dev/null
@@ -1,166 +0,0 @@
-/* -*- Mode: JavaScript; 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/. */
-
-"use strict";
-const Cu = Components.utils;
-const Ci = Components.interfaces;
-
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-Cu.import("resource://gre/modules/Services.jsm");
-
-function TestInterfaceJS(anyArg, objectArg) {}
-
-TestInterfaceJS.prototype = {
- classID: Components.ID("{2ac4e026-cf25-47d5-b067-78d553c3cad8}"),
- contractID: "@mozilla.org/dom/test-interface-js;1",
- QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports,
- Ci.nsIDOMGlobalPropertyInitializer]),
-
- init: function(win) { this._win = win; },
-
- __init: function (anyArg, objectArg, dictionaryArg) {
- this._anyAttr = undefined;
- this._objectAttr = null;
- this._anyArg = anyArg;
- this._objectArg = objectArg;
- this._dictionaryArg = dictionaryArg;
- this._cachedAttr = 15;
- },
-
- get anyArg() { return this._anyArg; },
- get objectArg() { return this._objectArg; },
- get dictionaryArg() { return this._dictionaryArg; },
- get anyAttr() { return this._anyAttr; },
- set anyAttr(val) { this._anyAttr = val; },
- get objectAttr() { return this._objectAttr; },
- set objectAttr(val) { this._objectAttr = val; },
- get dictionaryAttr() { return this._dictionaryAttr; },
- set dictionaryAttr(val) { this._dictionaryAttr = val; },
- pingPongAny: function(any) { return any; },
- pingPongObject: function(obj) { return obj; },
- pingPongObjectOrString: function(objectOrString) { return objectOrString; },
- pingPongDictionary: function(dict) { return dict; },
- pingPongDictionaryOrLong: function(dictOrLong) { return dictOrLong.anyMember || dictOrLong; },
- pingPongMap: function(map) { return JSON.stringify(map); },
- objectSequenceLength: function(seq) { return seq.length; },
- anySequenceLength: function(seq) { return seq.length; },
-
-
- getCallerPrincipal: function() { return Cu.getWebIDLCallerPrincipal().origin; },
-
- convertSVS: function(svs) { return svs; },
-
- pingPongUnion: function(x) { return x; },
- pingPongUnionContainingNull: function(x) { return x; },
- pingPongNullableUnion: function(x) { return x; },
- returnBadUnion: function(x) { return 3; },
-
- get cachedAttr() { return this._cachedAttr; },
- setCachedAttr: function(n) { this._cachedAttr = n; },
- clearCachedAttrCache: function () { this.__DOM_IMPL__._clearCachedCachedAttrValue(); },
-
- testSequenceOverload: function(arg) {},
- testSequenceUnion: function(arg) {},
-
- testThrowError: function() {
- throw new this._win.Error("We are an Error");
- },
-
- testThrowDOMException: function() {
- throw new this._win.DOMException("We are a DOMException",
- "NotSupportedError");
- },
-
- testThrowTypeError: function() {
- throw new this._win.TypeError("We are a TypeError");
- },
-
- testThrowCallbackError: function(callback) {
- callback();
- },
-
- testThrowXraySelfHosted: function() {
- this._win.Array.indexOf();
- },
-
- testThrowSelfHosted: function() {
- Array.indexOf();
- },
-
- testPromiseWithThrowingChromePromiseInit: function() {
- return new this._win.Promise(function() {
- noSuchMethodExistsYo1();
- })
- },
-
- testPromiseWithThrowingContentPromiseInit: function(func) {
- return new this._win.Promise(func);
- },
-
- testPromiseWithDOMExceptionThrowingPromiseInit: function() {
- return new this._win.Promise(() => {
- throw new this._win.DOMException("We are a second DOMException",
- "NotFoundError");
- })
- },
-
- testPromiseWithThrowingChromeThenFunction: function() {
- return this._win.Promise.resolve(5).then(function() {
- noSuchMethodExistsYo2();
- });
- },
-
- testPromiseWithThrowingContentThenFunction: function(func) {
- return this._win.Promise.resolve(10).then(func);
- },
-
- testPromiseWithDOMExceptionThrowingThenFunction: function() {
- return this._win.Promise.resolve(5).then(() => {
- throw new this._win.DOMException("We are a third DOMException",
- "NetworkError");
- });
- },
-
- testPromiseWithThrowingChromeThenable: function() {
- var thenable = {
- then: function() {
- noSuchMethodExistsYo3()
- }
- };
- return new this._win.Promise(function(resolve) {
- resolve(thenable)
- });
- },
-
- testPromiseWithThrowingContentThenable: function(thenable) {
- // Waive Xrays on the thenable, because we're calling resolve() in the
- // chrome compartment, so that's the compartment the "then" property get
- // will happen in, and if we leave the Xray in place the function-valued
- // property won't return the function.
- return this._win.Promise.resolve(Cu.waiveXrays(thenable));
- },
-
- testPromiseWithDOMExceptionThrowingThenable: function() {
- var thenable = {
- then: () => {
- throw new this._win.DOMException("We are a fourth DOMException",
- "TypeMismatchError");
- }
- };
- return new this._win.Promise(function(resolve) {
- resolve(thenable)
- });
- },
-
- get onsomething() {
- return this.__DOM_IMPL__.getEventHandler("onsomething");
- },
-
- set onsomething(val) {
- this.__DOM_IMPL__.setEventHandler("onsomething", val);
- }
-};
-
-this.NSGetFactory = XPCOMUtils.generateNSGetFactory([TestInterfaceJS])
diff --git a/dom/bindings/test/TestInterfaceJS.manifest b/dom/bindings/test/TestInterfaceJS.manifest
deleted file mode 100644
index 161a421560..0000000000
--- a/dom/bindings/test/TestInterfaceJS.manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-component {2ac4e026-cf25-47d5-b067-78d553c3cad8} TestInterfaceJS.js
-contract @mozilla.org/dom/test-interface-js;1 {2ac4e026-cf25-47d5-b067-78d553c3cad8}
-component {4bc6f6f3-e005-4f0a-b42d-4d1663a9013a} TestInterfaceJSMaplike.js
-contract @mozilla.org/dom/test-interface-js-maplike;1 {4bc6f6f3-e005-4f0a-b42d-4d1663a9013a}
diff --git a/dom/bindings/test/TestInterfaceJSMaplike.js b/dom/bindings/test/TestInterfaceJSMaplike.js
deleted file mode 100644
index b108ef5b61..0000000000
--- a/dom/bindings/test/TestInterfaceJSMaplike.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- Mode: JavaScript; 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/. */
-
-"use strict";
-const Cu = Components.utils;
-const Ci = Components.interfaces;
-
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-Cu.import("resource://gre/modules/Services.jsm");
-
-function TestInterfaceJSMaplike() {}
-
-TestInterfaceJSMaplike.prototype = {
- classID: Components.ID("{4bc6f6f3-e005-4f0a-b42d-4d1663a9013a}"),
- contractID: "@mozilla.org/dom/test-interface-js-maplike;1",
- QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports,
- Ci.nsIDOMGlobalPropertyInitializer]),
-
- init: function(win) { this._win = win; },
-
- __init: function () {},
-
- setInternal: function(aKey, aValue) {
- return this.__DOM_IMPL__.__set(aKey, aValue);
- },
-
- deleteInternal: function(aKey) {
- return this.__DOM_IMPL__.__delete(aKey);
- },
-
- clearInternal: function() {
- return this.__DOM_IMPL__.__clear();
- }
-};
-
-this.NSGetFactory = XPCOMUtils.generateNSGetFactory([TestInterfaceJSMaplike])
diff --git a/dom/bindings/test/TestInterfaceMaplike.cpp b/dom/bindings/test/TestInterfaceMaplike.cpp
deleted file mode 100644
index 4abace83c1..0000000000
--- a/dom/bindings/test/TestInterfaceMaplike.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/* 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 "mozilla/dom/TestInterfaceMaplike.h"
-#include "mozilla/dom/TestInterfaceJSMaplikeSetlikeIterableBinding.h"
-#include "nsPIDOMWindow.h"
-#include "mozilla/dom/BindingUtils.h"
-
-namespace mozilla {
-namespace dom {
-
-NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(TestInterfaceMaplike, mParent)
-
-NS_IMPL_CYCLE_COLLECTING_ADDREF(TestInterfaceMaplike)
-NS_IMPL_CYCLE_COLLECTING_RELEASE(TestInterfaceMaplike)
-
-NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(TestInterfaceMaplike)
-NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
-NS_INTERFACE_MAP_ENTRY(nsISupports)
-NS_INTERFACE_MAP_END
-
-TestInterfaceMaplike::TestInterfaceMaplike(nsPIDOMWindowInner* aParent)
-: mParent(aParent)
-{
-}
-
-//static
-already_AddRefed<TestInterfaceMaplike>
-TestInterfaceMaplike::Constructor(const GlobalObject& aGlobal,
- ErrorResult& aRv)
-{
- nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(aGlobal.GetAsSupports());
- if (!window) {
- aRv.Throw(NS_ERROR_FAILURE);
- return nullptr;
- }
-
- RefPtr<TestInterfaceMaplike> r = new TestInterfaceMaplike(window);
- return r.forget();
-}
-
-JSObject*
-TestInterfaceMaplike::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
-{
- return TestInterfaceMaplikeBinding::Wrap(aCx, this, aGivenProto);
-}
-
-nsPIDOMWindowInner*
-TestInterfaceMaplike::GetParentObject() const
-{
- return mParent;
-}
-
-void
-TestInterfaceMaplike::SetInternal(const nsAString& aKey, int32_t aValue)
-{
- ErrorResult rv;
- TestInterfaceMaplikeBinding::MaplikeHelpers::Set(this, aKey, aValue, rv);
-}
-
-void
-TestInterfaceMaplike::ClearInternal()
-{
- ErrorResult rv;
- TestInterfaceMaplikeBinding::MaplikeHelpers::Clear(this, rv);
-}
-
-bool
-TestInterfaceMaplike::DeleteInternal(const nsAString& aKey)
-{
- ErrorResult rv;
- return TestInterfaceMaplikeBinding::MaplikeHelpers::Delete(this, aKey, rv);
-}
-
-bool
-TestInterfaceMaplike::HasInternal(const nsAString& aKey)
-{
- ErrorResult rv;
- return TestInterfaceMaplikeBinding::MaplikeHelpers::Has(this, aKey, rv);
-}
-
-} // namespace dom
-} // namespace mozilla
diff --git a/dom/bindings/test/TestInterfaceMaplike.h b/dom/bindings/test/TestInterfaceMaplike.h
deleted file mode 100644
index c012a7a214..0000000000
--- a/dom/bindings/test/TestInterfaceMaplike.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim:set ts=2 sw=2 sts=2 et cindent: */
-/* 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/. */
-
-#ifndef mozilla_dom_TestInterfaceMaplike_h
-#define mozilla_dom_TestInterfaceMaplike_h
-
-#include "nsWrapperCache.h"
-#include "nsCOMPtr.h"
-
-class nsPIDOMWindowInner;
-
-namespace mozilla {
-
-class ErrorResult;
-
-namespace dom {
-
-class GlobalObject;
-
-// Implementation of test binding for webidl maplike interfaces, using
-// primitives for key and value types.
-class TestInterfaceMaplike final : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_CYCLE_COLLECTING_ISUPPORTS
- NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(TestInterfaceMaplike)
-
- explicit TestInterfaceMaplike(nsPIDOMWindowInner* aParent);
- nsPIDOMWindowInner* GetParentObject() const;
- virtual JSObject* WrapObject(JSContext* aCx,
- JS::Handle<JSObject*> aGivenProto) override;
- static already_AddRefed<TestInterfaceMaplike>
- Constructor(const GlobalObject& aGlobal, ErrorResult& rv);
-
- // External access for testing internal convenience functions.
- void SetInternal(const nsAString& aKey, int32_t aValue);
- void ClearInternal();
- bool DeleteInternal(const nsAString& aKey);
- bool HasInternal(const nsAString& aKey);
-private:
- virtual ~TestInterfaceMaplike() {}
- nsCOMPtr<nsPIDOMWindowInner> mParent;
-};
-
-} // namespace dom
-} // namespace mozilla
-
-#endif // mozilla_dom_TestInterfaceMaplike_h
diff --git a/dom/bindings/test/TestInterfaceMaplikeObject.cpp b/dom/bindings/test/TestInterfaceMaplikeObject.cpp
deleted file mode 100644
index 3dc1ffdc43..0000000000
--- a/dom/bindings/test/TestInterfaceMaplikeObject.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/* 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 "mozilla/dom/TestInterfaceMaplikeObject.h"
-#include "mozilla/dom/TestInterfaceMaplike.h"
-#include "mozilla/dom/TestInterfaceJSMaplikeSetlikeIterableBinding.h"
-#include "nsPIDOMWindow.h"
-#include "mozilla/dom/BindingUtils.h"
-
-namespace mozilla {
-namespace dom {
-
-NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(TestInterfaceMaplikeObject, mParent)
-
-NS_IMPL_CYCLE_COLLECTING_ADDREF(TestInterfaceMaplikeObject)
-NS_IMPL_CYCLE_COLLECTING_RELEASE(TestInterfaceMaplikeObject)
-
-NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(TestInterfaceMaplikeObject)
-NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
-NS_INTERFACE_MAP_ENTRY(nsISupports)
-NS_INTERFACE_MAP_END
-
-TestInterfaceMaplikeObject::TestInterfaceMaplikeObject(nsPIDOMWindowInner* aParent)
-: mParent(aParent)
-{
-}
-
-//static
-already_AddRefed<TestInterfaceMaplikeObject>
-TestInterfaceMaplikeObject::Constructor(const GlobalObject& aGlobal,
- ErrorResult& aRv)
-{
- nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(aGlobal.GetAsSupports());
- if (!window) {
- aRv.Throw(NS_ERROR_FAILURE);
- return nullptr;
- }
-
- RefPtr<TestInterfaceMaplikeObject> r =
- new TestInterfaceMaplikeObject(window);
- return r.forget();
-}
-
-JSObject*
-TestInterfaceMaplikeObject::WrapObject(JSContext* aCx,
- JS::Handle<JSObject*> aGivenProto)
-{
- return TestInterfaceMaplikeObjectBinding::Wrap(aCx, this, aGivenProto);
-}
-
-nsPIDOMWindowInner*
-TestInterfaceMaplikeObject::GetParentObject() const
-{
- return mParent;
-}
-
-void
-TestInterfaceMaplikeObject::SetInternal(const nsAString& aKey)
-{
- RefPtr<TestInterfaceMaplike> p(new TestInterfaceMaplike(mParent));
- ErrorResult rv;
- TestInterfaceMaplikeObjectBinding::MaplikeHelpers::Set(this, aKey, *p, rv);
-}
-
-void
-TestInterfaceMaplikeObject::ClearInternal()
-{
- ErrorResult rv;
- TestInterfaceMaplikeObjectBinding::MaplikeHelpers::Clear(this, rv);
-}
-
-bool
-TestInterfaceMaplikeObject::DeleteInternal(const nsAString& aKey)
-{
- ErrorResult rv;
- return TestInterfaceMaplikeObjectBinding::MaplikeHelpers::Delete(this, aKey, rv);
-}
-
-bool
-TestInterfaceMaplikeObject::HasInternal(const nsAString& aKey)
-{
- ErrorResult rv;
- return TestInterfaceMaplikeObjectBinding::MaplikeHelpers::Has(this, aKey, rv);
-}
-
-} // namespace dom
-} // namespace mozilla
diff --git a/dom/bindings/test/TestInterfaceMaplikeObject.h b/dom/bindings/test/TestInterfaceMaplikeObject.h
deleted file mode 100644
index af4660c0d3..0000000000
--- a/dom/bindings/test/TestInterfaceMaplikeObject.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim:set ts=2 sw=2 sts=2 et cindent: */
-/* 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/. */
-
-#ifndef mozilla_dom_TestInterfaceMaplikeObject_h
-#define mozilla_dom_TestInterfaceMaplikeObject_h
-
-#include "nsWrapperCache.h"
-#include "nsCOMPtr.h"
-
-class nsPIDOMWindowInner;
-
-namespace mozilla {
-
-class ErrorResult;
-
-namespace dom {
-
-class GlobalObject;
-
-// Implementation of test binding for webidl maplike interfaces, using
-// primitives for key types and objects for value types.
-class TestInterfaceMaplikeObject final : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_CYCLE_COLLECTING_ISUPPORTS
- NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(TestInterfaceMaplikeObject)
-
- explicit TestInterfaceMaplikeObject(nsPIDOMWindowInner* aParent);
- nsPIDOMWindowInner* GetParentObject() const;
- virtual JSObject* WrapObject(JSContext* aCx,
- JS::Handle<JSObject*> aGivenProto) override;
- static already_AddRefed<TestInterfaceMaplikeObject>
- Constructor(const GlobalObject& aGlobal,ErrorResult& rv);
-
- // External access for testing internal convenience functions.
- void SetInternal(const nsAString& aKey);
- void ClearInternal();
- bool DeleteInternal(const nsAString& aKey);
- bool HasInternal(const nsAString& aKey);
-private:
- virtual ~TestInterfaceMaplikeObject() {}
- nsCOMPtr<nsPIDOMWindowInner> mParent;
-};
-
-} // namespace dom
-} // namespace mozilla
-
-#endif // mozilla_dom_TestInterfaceMaplikeObject_h
diff --git a/dom/bindings/test/TestInterfaceSetlike.cpp b/dom/bindings/test/TestInterfaceSetlike.cpp
deleted file mode 100644
index c9f5560760..0000000000
--- a/dom/bindings/test/TestInterfaceSetlike.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/* 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 "mozilla/dom/TestInterfaceSetlike.h"
-#include "mozilla/dom/TestInterfaceJSMaplikeSetlikeIterableBinding.h"
-#include "nsPIDOMWindow.h"
-#include "mozilla/dom/BindingUtils.h"
-
-namespace mozilla {
-namespace dom {
-
-NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(TestInterfaceSetlike, mParent)
-
-NS_IMPL_CYCLE_COLLECTING_ADDREF(TestInterfaceSetlike)
-NS_IMPL_CYCLE_COLLECTING_RELEASE(TestInterfaceSetlike)
-
-NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(TestInterfaceSetlike)
-NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
-NS_INTERFACE_MAP_ENTRY(nsISupports)
-NS_INTERFACE_MAP_END
-
-TestInterfaceSetlike::TestInterfaceSetlike(JSContext* aCx,
- nsPIDOMWindowInner* aParent)
-: mParent(aParent)
-{
-}
-
-//static
-already_AddRefed<TestInterfaceSetlike>
-TestInterfaceSetlike::Constructor(const GlobalObject& aGlobal,
- ErrorResult& aRv)
-{
- nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(aGlobal.GetAsSupports());
- if (!window) {
- aRv.Throw(NS_ERROR_FAILURE);
- return nullptr;
- }
-
- RefPtr<TestInterfaceSetlike> r = new TestInterfaceSetlike(nullptr, window);
- return r.forget();
-}
-
-JSObject*
-TestInterfaceSetlike::WrapObject(JSContext* aCx,
- JS::Handle<JSObject*> aGivenProto)
-{
- return TestInterfaceSetlikeBinding::Wrap(aCx, this, aGivenProto);
-}
-
-nsPIDOMWindowInner*
-TestInterfaceSetlike::GetParentObject() const
-{
- return mParent;
-}
-
-} // namespace dom
-} // namespace mozilla
diff --git a/dom/bindings/test/TestInterfaceSetlike.h b/dom/bindings/test/TestInterfaceSetlike.h
deleted file mode 100644
index c9f4649605..0000000000
--- a/dom/bindings/test/TestInterfaceSetlike.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim:set ts=2 sw=2 sts=2 et cindent: */
-/* 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/. */
-
-#ifndef mozilla_dom_TestInterfaceSetlike_h
-#define mozilla_dom_TestInterfaceSetlike_h
-
-#include "nsWrapperCache.h"
-#include "nsCOMPtr.h"
-
-class nsPIDOMWindowInner;
-
-namespace mozilla {
-
-class ErrorResult;
-
-namespace dom {
-
-class GlobalObject;
-
-// Implementation of test binding for webidl setlike interfaces, using
-// primitives for key type.
-class TestInterfaceSetlike final : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_CYCLE_COLLECTING_ISUPPORTS
- NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(TestInterfaceSetlike)
- explicit TestInterfaceSetlike(JSContext* aCx,
- nsPIDOMWindowInner* aParent);
- nsPIDOMWindowInner* GetParentObject() const;
- virtual JSObject* WrapObject(JSContext* aCx,
- JS::Handle<JSObject*> aGivenProto) override;
- static already_AddRefed<TestInterfaceSetlike>
- Constructor(const GlobalObject& aGlobal, ErrorResult& rv);
-private:
- virtual ~TestInterfaceSetlike() {}
- nsCOMPtr<nsPIDOMWindowInner> mParent;
-};
-
-} // namespace dom
-} // namespace mozilla
-
-#endif // mozilla_dom_TestInterfaceSetlike_h
diff --git a/dom/bindings/test/TestInterfaceSetlikeNode.cpp b/dom/bindings/test/TestInterfaceSetlikeNode.cpp
deleted file mode 100644
index 5499553fa5..0000000000
--- a/dom/bindings/test/TestInterfaceSetlikeNode.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/* 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 "mozilla/dom/TestInterfaceSetlikeNode.h"
-#include "mozilla/dom/TestInterfaceJSMaplikeSetlikeIterableBinding.h"
-#include "nsPIDOMWindow.h"
-#include "mozilla/dom/BindingUtils.h"
-
-namespace mozilla {
-namespace dom {
-
-NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(TestInterfaceSetlikeNode, mParent)
-
-NS_IMPL_CYCLE_COLLECTING_ADDREF(TestInterfaceSetlikeNode)
-NS_IMPL_CYCLE_COLLECTING_RELEASE(TestInterfaceSetlikeNode)
-
-NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(TestInterfaceSetlikeNode)
-NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
-NS_INTERFACE_MAP_ENTRY(nsISupports)
-NS_INTERFACE_MAP_END
-
-TestInterfaceSetlikeNode::TestInterfaceSetlikeNode(JSContext* aCx,
- nsPIDOMWindowInner* aParent)
-: mParent(aParent)
-{
-}
-
-//static
-already_AddRefed<TestInterfaceSetlikeNode>
-TestInterfaceSetlikeNode::Constructor(const GlobalObject& aGlobal,
- ErrorResult& aRv)
-{
- nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(aGlobal.GetAsSupports());
- if (!window) {
- aRv.Throw(NS_ERROR_FAILURE);
- return nullptr;
- }
-
- RefPtr<TestInterfaceSetlikeNode> r = new TestInterfaceSetlikeNode(nullptr, window);
- return r.forget();
-}
-
-JSObject*
-TestInterfaceSetlikeNode::WrapObject(JSContext* aCx,
- JS::Handle<JSObject*> aGivenProto)
-{
- return TestInterfaceSetlikeNodeBinding::Wrap(aCx, this, aGivenProto);
-}
-
-nsPIDOMWindowInner*
-TestInterfaceSetlikeNode::GetParentObject() const
-{
- return mParent;
-}
-
-} // namespace dom
-} // namespace mozilla
diff --git a/dom/bindings/test/TestInterfaceSetlikeNode.h b/dom/bindings/test/TestInterfaceSetlikeNode.h
deleted file mode 100644
index 05b14190e0..0000000000
--- a/dom/bindings/test/TestInterfaceSetlikeNode.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim:set ts=2 sw=2 sts=2 et cindent: */
-/* 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/. */
-
-#ifndef mozilla_dom_TestInterfaceSetlikeNode_h
-#define mozilla_dom_TestInterfaceSetlikeNode_h
-
-#include "nsWrapperCache.h"
-#include "nsCOMPtr.h"
-
-class nsPIDOMWindowInner;
-
-namespace mozilla {
-
-class ErrorResult;
-
-namespace dom {
-
-class GlobalObject;
-
-// Implementation of test binding for webidl setlike interfaces, using
-// primitives for key type.
-class TestInterfaceSetlikeNode final : public nsISupports,
- public nsWrapperCache
-{
-public:
- NS_DECL_CYCLE_COLLECTING_ISUPPORTS
- NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(TestInterfaceSetlikeNode)
- explicit TestInterfaceSetlikeNode(JSContext* aCx,
- nsPIDOMWindowInner* aParent);
- nsPIDOMWindowInner* GetParentObject() const;
- virtual JSObject* WrapObject(JSContext* aCx,
- JS::Handle<JSObject*> aGivenProto) override;
- static already_AddRefed<TestInterfaceSetlikeNode>
- Constructor(const GlobalObject& aGlobal, ErrorResult& rv);
-private:
- virtual ~TestInterfaceSetlikeNode() {}
- nsCOMPtr<nsPIDOMWindowInner> mParent;
-};
-
-} // namespace dom
-} // namespace mozilla
-
-#endif // mozilla_dom_TestInterfaceSetlikeNode_h
diff --git a/dom/bindings/test/TestJSImplGen.webidl b/dom/bindings/test/TestJSImplGen.webidl
deleted file mode 100644
index a133b9981a..0000000000
--- a/dom/bindings/test/TestJSImplGen.webidl
+++ /dev/null
@@ -1,840 +0,0 @@
-/* -*- 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/.
- */
-
-typedef TestJSImplInterface AnotherNameForTestJSImplInterface;
-typedef TestJSImplInterface YetAnotherNameForTestJSImplInterface;
-typedef TestJSImplInterface? NullableTestJSImplInterface;
-
-callback MyTestCallback = void();
-
-enum MyTestEnum {
- "a",
- "b"
-};
-
-// We don't support multiple constructors (bug 869268) or named constructors
-// for JS-implemented WebIDL.
-[Constructor(DOMString str, unsigned long num, boolean? boolArg,
- TestInterface? iface, long arg1,
- DictForConstructor dict, any any1,
- object obj1,
- object? obj2, sequence<Dict> seq, optional any any2,
- optional object obj3,
- optional object? obj4,
- Uint8Array typedArr,
- ArrayBuffer arrayBuf),
- JSImplementation="@mozilla.org/test-js-impl-interface;1"]
-interface TestJSImplInterface {
- // Integer types
- // XXXbz add tests for throwing versions of all the integer stuff
- readonly attribute byte readonlyByte;
- attribute byte writableByte;
- void passByte(byte arg);
- byte receiveByte();
- void passOptionalByte(optional byte arg);
- void passOptionalByteBeforeRequired(optional byte arg1, byte arg2);
- void passOptionalByteWithDefault(optional byte arg = 0);
- void passOptionalByteWithDefaultBeforeRequired(optional byte arg1 = 0, byte arg2);
- void passNullableByte(byte? arg);
- void passOptionalNullableByte(optional byte? arg);
- void passVariadicByte(byte... arg);
- [Cached, Pure]
- readonly attribute byte cachedByte;
- [Cached, Constant]
- readonly attribute byte cachedConstantByte;
- [Cached, Pure]
- attribute byte cachedWritableByte;
- [Affects=Nothing]
- attribute byte sideEffectFreeByte;
- [Affects=Nothing, DependsOn=DOMState]
- attribute byte domDependentByte;
- [Affects=Nothing, DependsOn=Nothing]
- readonly attribute byte constantByte;
- [DependsOn=DeviceState, Affects=Nothing]
- readonly attribute byte deviceStateDependentByte;
- [Affects=Nothing]
- byte returnByteSideEffectFree();
- [Affects=Nothing, DependsOn=DOMState]
- byte returnDOMDependentByte();
- [Affects=Nothing, DependsOn=Nothing]
- byte returnConstantByte();
- [DependsOn=DeviceState, Affects=Nothing]
- byte returnDeviceStateDependentByte();
-
- readonly attribute short readonlyShort;
- attribute short writableShort;
- void passShort(short arg);
- short receiveShort();
- void passOptionalShort(optional short arg);
- void passOptionalShortWithDefault(optional short arg = 5);
-
- readonly attribute long readonlyLong;
- attribute long writableLong;
- void passLong(long arg);
- long receiveLong();
- void passOptionalLong(optional long arg);
- void passOptionalLongWithDefault(optional long arg = 7);
-
- readonly attribute long long readonlyLongLong;
- attribute long long writableLongLong;
- void passLongLong(long long arg);
- long long receiveLongLong();
- void passOptionalLongLong(optional long long arg);
- void passOptionalLongLongWithDefault(optional long long arg = -12);
-
- readonly attribute octet readonlyOctet;
- attribute octet writableOctet;
- void passOctet(octet arg);
- octet receiveOctet();
- void passOptionalOctet(optional octet arg);
- void passOptionalOctetWithDefault(optional octet arg = 19);
-
- readonly attribute unsigned short readonlyUnsignedShort;
- attribute unsigned short writableUnsignedShort;
- void passUnsignedShort(unsigned short arg);
- unsigned short receiveUnsignedShort();
- void passOptionalUnsignedShort(optional unsigned short arg);
- void passOptionalUnsignedShortWithDefault(optional unsigned short arg = 2);
-
- readonly attribute unsigned long readonlyUnsignedLong;
- attribute unsigned long writableUnsignedLong;
- void passUnsignedLong(unsigned long arg);
- unsigned long receiveUnsignedLong();
- void passOptionalUnsignedLong(optional unsigned long arg);
- void passOptionalUnsignedLongWithDefault(optional unsigned long arg = 6);
-
- readonly attribute unsigned long long readonlyUnsignedLongLong;
- attribute unsigned long long writableUnsignedLongLong;
- void passUnsignedLongLong(unsigned long long arg);
- unsigned long long receiveUnsignedLongLong();
- void passOptionalUnsignedLongLong(optional unsigned long long arg);
- void passOptionalUnsignedLongLongWithDefault(optional unsigned long long arg = 17);
-
- attribute float writableFloat;
- attribute unrestricted float writableUnrestrictedFloat;
- attribute float? writableNullableFloat;
- attribute unrestricted float? writableNullableUnrestrictedFloat;
- attribute double writableDouble;
- attribute unrestricted double writableUnrestrictedDouble;
- attribute double? writableNullableDouble;
- attribute unrestricted double? writableNullableUnrestrictedDouble;
- void passFloat(float arg1, unrestricted float arg2,
- float? arg3, unrestricted float? arg4,
- double arg5, unrestricted double arg6,
- double? arg7, unrestricted double? arg8,
- sequence<float> arg9, sequence<unrestricted float> arg10,
- sequence<float?> arg11, sequence<unrestricted float?> arg12,
- sequence<double> arg13, sequence<unrestricted double> arg14,
- sequence<double?> arg15, sequence<unrestricted double?> arg16);
- [LenientFloat]
- void passLenientFloat(float arg1, unrestricted float arg2,
- float? arg3, unrestricted float? arg4,
- double arg5, unrestricted double arg6,
- double? arg7, unrestricted double? arg8,
- sequence<float> arg9,
- sequence<unrestricted float> arg10,
- sequence<float?> arg11,
- sequence<unrestricted float?> arg12,
- sequence<double> arg13,
- sequence<unrestricted double> arg14,
- sequence<double?> arg15,
- sequence<unrestricted double?> arg16);
- [LenientFloat]
- attribute float lenientFloatAttr;
- [LenientFloat]
- attribute double lenientDoubleAttr;
-
- // Castable interface types
- // XXXbz add tests for throwing versions of all the castable interface stuff
- TestJSImplInterface receiveSelf();
- TestJSImplInterface? receiveNullableSelf();
-
- TestJSImplInterface receiveWeakSelf();
- TestJSImplInterface? receiveWeakNullableSelf();
-
- // A version to test for casting to TestJSImplInterface&
- void passSelf(TestJSImplInterface arg);
- void passNullableSelf(TestJSImplInterface? arg);
- attribute TestJSImplInterface nonNullSelf;
- attribute TestJSImplInterface? nullableSelf;
- [Cached, Pure]
- readonly attribute TestJSImplInterface cachedSelf;
- // Optional arguments
- void passOptionalSelf(optional TestJSImplInterface? arg);
- void passOptionalNonNullSelf(optional TestJSImplInterface arg);
- void passOptionalSelfWithDefault(optional TestJSImplInterface? arg = null);
-
- // Non-wrapper-cache interface types
- [NewObject]
- TestNonWrapperCacheInterface receiveNonWrapperCacheInterface();
- [NewObject]
- TestNonWrapperCacheInterface? receiveNullableNonWrapperCacheInterface();
-
- [NewObject]
- sequence<TestNonWrapperCacheInterface> receiveNonWrapperCacheInterfaceSequence();
- [NewObject]
- sequence<TestNonWrapperCacheInterface?> receiveNullableNonWrapperCacheInterfaceSequence();
- [NewObject]
- sequence<TestNonWrapperCacheInterface>? receiveNonWrapperCacheInterfaceNullableSequence();
- [NewObject]
- sequence<TestNonWrapperCacheInterface?>? receiveNullableNonWrapperCacheInterfaceNullableSequence();
-
- // Non-castable interface types
- IndirectlyImplementedInterface receiveOther();
- IndirectlyImplementedInterface? receiveNullableOther();
- IndirectlyImplementedInterface receiveWeakOther();
- IndirectlyImplementedInterface? receiveWeakNullableOther();
-
- void passOther(IndirectlyImplementedInterface arg);
- void passNullableOther(IndirectlyImplementedInterface? arg);
- attribute IndirectlyImplementedInterface nonNullOther;
- attribute IndirectlyImplementedInterface? nullableOther;
- // Optional arguments
- void passOptionalOther(optional IndirectlyImplementedInterface? arg);
- void passOptionalNonNullOther(optional IndirectlyImplementedInterface arg);
- void passOptionalOtherWithDefault(optional IndirectlyImplementedInterface? arg = null);
-
- // External interface types
- TestExternalInterface receiveExternal();
- TestExternalInterface? receiveNullableExternal();
- TestExternalInterface receiveWeakExternal();
- TestExternalInterface? receiveWeakNullableExternal();
- void passExternal(TestExternalInterface arg);
- void passNullableExternal(TestExternalInterface? arg);
- attribute TestExternalInterface nonNullExternal;
- attribute TestExternalInterface? nullableExternal;
- // Optional arguments
- void passOptionalExternal(optional TestExternalInterface? arg);
- void passOptionalNonNullExternal(optional TestExternalInterface arg);
- void passOptionalExternalWithDefault(optional TestExternalInterface? arg = null);
-
- // Callback interface types
- TestCallbackInterface receiveCallbackInterface();
- TestCallbackInterface? receiveNullableCallbackInterface();
- TestCallbackInterface receiveWeakCallbackInterface();
- TestCallbackInterface? receiveWeakNullableCallbackInterface();
- void passCallbackInterface(TestCallbackInterface arg);
- void passNullableCallbackInterface(TestCallbackInterface? arg);
- attribute TestCallbackInterface nonNullCallbackInterface;
- attribute TestCallbackInterface? nullableCallbackInterface;
- // Optional arguments
- void passOptionalCallbackInterface(optional TestCallbackInterface? arg);
- void passOptionalNonNullCallbackInterface(optional TestCallbackInterface arg);
- void passOptionalCallbackInterfaceWithDefault(optional TestCallbackInterface? arg = null);
-
- // Miscellaneous interface tests
- IndirectlyImplementedInterface receiveConsequentialInterface();
- void passConsequentialInterface(IndirectlyImplementedInterface arg);
-
- // Sequence types
- [Cached, Pure]
- readonly attribute sequence<long> readonlySequence;
- [Cached, Pure]
- readonly attribute sequence<Dict> readonlySequenceOfDictionaries;
- [Cached, Pure]
- readonly attribute sequence<Dict>? readonlyNullableSequenceOfDictionaries;
- [Cached, Pure, Frozen]
- readonly attribute sequence<long> readonlyFrozenSequence;
- [Cached, Pure, Frozen]
- readonly attribute sequence<long>? readonlyFrozenNullableSequence;
- sequence<long> receiveSequence();
- sequence<long>? receiveNullableSequence();
- sequence<long?> receiveSequenceOfNullableInts();
- sequence<long?>? receiveNullableSequenceOfNullableInts();
- void passSequence(sequence<long> arg);
- void passNullableSequence(sequence<long>? arg);
- void passSequenceOfNullableInts(sequence<long?> arg);
- void passOptionalSequenceOfNullableInts(optional sequence<long?> arg);
- void passOptionalNullableSequenceOfNullableInts(optional sequence<long?>? arg);
- sequence<TestJSImplInterface> receiveCastableObjectSequence();
- sequence<TestCallbackInterface> receiveCallbackObjectSequence();
- sequence<TestJSImplInterface?> receiveNullableCastableObjectSequence();
- sequence<TestCallbackInterface?> receiveNullableCallbackObjectSequence();
- sequence<TestJSImplInterface>? receiveCastableObjectNullableSequence();
- sequence<TestJSImplInterface?>? receiveNullableCastableObjectNullableSequence();
- sequence<TestJSImplInterface> receiveWeakCastableObjectSequence();
- sequence<TestJSImplInterface?> receiveWeakNullableCastableObjectSequence();
- sequence<TestJSImplInterface>? receiveWeakCastableObjectNullableSequence();
- sequence<TestJSImplInterface?>? receiveWeakNullableCastableObjectNullableSequence();
- void passCastableObjectSequence(sequence<TestJSImplInterface> arg);
- void passNullableCastableObjectSequence(sequence<TestJSImplInterface?> arg);
- void passCastableObjectNullableSequence(sequence<TestJSImplInterface>? arg);
- void passNullableCastableObjectNullableSequence(sequence<TestJSImplInterface?>? arg);
- void passOptionalSequence(optional sequence<long> arg);
- void passOptionalSequenceWithDefaultValue(optional sequence<long> arg = []);
- void passOptionalNullableSequence(optional sequence<long>? arg);
- void passOptionalNullableSequenceWithDefaultValue(optional sequence<long>? arg = null);
- void passOptionalNullableSequenceWithDefaultValue2(optional sequence<long>? arg = []);
- void passOptionalObjectSequence(optional sequence<TestJSImplInterface> arg);
- void passExternalInterfaceSequence(sequence<TestExternalInterface> arg);
- void passNullableExternalInterfaceSequence(sequence<TestExternalInterface?> arg);
-
- sequence<DOMString> receiveStringSequence();
- sequence<ByteString> receiveByteStringSequence();
- // Callback interface problem. See bug 843261.
- //void passStringSequence(sequence<DOMString> arg);
- sequence<any> receiveAnySequence();
- sequence<any>? receiveNullableAnySequence();
- //XXXbz No support for sequence of sequence return values yet.
- //sequence<sequence<any>> receiveAnySequenceSequence();
-
- sequence<object> receiveObjectSequence();
- sequence<object?> receiveNullableObjectSequence();
-
- void passSequenceOfSequences(sequence<sequence<long>> arg);
- void passSequenceOfSequencesOfSequences(sequence<sequence<sequence<long>>> arg);
- //XXXbz No support for sequence of sequence return values yet.
- //sequence<sequence<long>> receiveSequenceOfSequences();
-
- // MozMap types
- void passMozMap(MozMap<long> arg);
- void passNullableMozMap(MozMap<long>? arg);
- void passMozMapOfNullableInts(MozMap<long?> arg);
- void passOptionalMozMapOfNullableInts(optional MozMap<long?> arg);
- void passOptionalNullableMozMapOfNullableInts(optional MozMap<long?>? arg);
- void passCastableObjectMozMap(MozMap<TestJSImplInterface> arg);
- void passNullableCastableObjectMozMap(MozMap<TestJSImplInterface?> arg);
- void passCastableObjectNullableMozMap(MozMap<TestJSImplInterface>? arg);
- void passNullableCastableObjectNullableMozMap(MozMap<TestJSImplInterface?>? arg);
- void passOptionalMozMap(optional MozMap<long> arg);
- void passOptionalNullableMozMap(optional MozMap<long>? arg);
- void passOptionalNullableMozMapWithDefaultValue(optional MozMap<long>? arg = null);
- void passOptionalObjectMozMap(optional MozMap<TestJSImplInterface> arg);
- void passExternalInterfaceMozMap(MozMap<TestExternalInterface> arg);
- void passNullableExternalInterfaceMozMap(MozMap<TestExternalInterface?> arg);
- void passStringMozMap(MozMap<DOMString> arg);
- void passByteStringMozMap(MozMap<ByteString> arg);
- void passMozMapOfMozMaps(MozMap<MozMap<long>> arg);
- MozMap<long> receiveMozMap();
- MozMap<long>? receiveNullableMozMap();
- MozMap<long?> receiveMozMapOfNullableInts();
- MozMap<long?>? receiveNullableMozMapOfNullableInts();
- //XXXbz No support for MozMap of MozMaps return values yet.
- //MozMap<MozMap<long>> receiveMozMapOfMozMaps();
- MozMap<any> receiveAnyMozMap();
-
- // Typed array types
- void passArrayBuffer(ArrayBuffer arg);
- void passNullableArrayBuffer(ArrayBuffer? arg);
- void passOptionalArrayBuffer(optional ArrayBuffer arg);
- void passOptionalNullableArrayBuffer(optional ArrayBuffer? arg);
- void passOptionalNullableArrayBufferWithDefaultValue(optional ArrayBuffer? arg= null);
- void passArrayBufferView(ArrayBufferView arg);
- void passInt8Array(Int8Array arg);
- void passInt16Array(Int16Array arg);
- void passInt32Array(Int32Array arg);
- void passUint8Array(Uint8Array arg);
- void passUint16Array(Uint16Array arg);
- void passUint32Array(Uint32Array arg);
- void passUint8ClampedArray(Uint8ClampedArray arg);
- void passFloat32Array(Float32Array arg);
- void passFloat64Array(Float64Array arg);
- void passSequenceOfArrayBuffers(sequence<ArrayBuffer> arg);
- void passSequenceOfNullableArrayBuffers(sequence<ArrayBuffer?> arg);
- void passMozMapOfArrayBuffers(MozMap<ArrayBuffer> arg);
- void passMozMapOfNullableArrayBuffers(MozMap<ArrayBuffer?> arg);
- void passVariadicTypedArray(Float32Array... arg);
- void passVariadicNullableTypedArray(Float32Array?... arg);
- Uint8Array receiveUint8Array();
- attribute Uint8Array uint8ArrayAttr;
-
- // DOMString types
- void passString(DOMString arg);
- void passNullableString(DOMString? arg);
- void passOptionalString(optional DOMString arg);
- void passOptionalStringWithDefaultValue(optional DOMString arg = "abc");
- void passOptionalNullableString(optional DOMString? arg);
- void passOptionalNullableStringWithDefaultValue(optional DOMString? arg = null);
- void passVariadicString(DOMString... arg);
-
- // ByteString types
- void passByteString(ByteString arg);
- void passNullableByteString(ByteString? arg);
- void passOptionalByteString(optional ByteString arg);
- void passOptionalByteStringWithDefaultValue(optional ByteString arg = "abc");
- void passOptionalNullableByteString(optional ByteString? arg);
- void passOptionalNullableByteStringWithDefaultValue(optional ByteString? arg = null);
- void passVariadicByteString(ByteString... arg);
- void passUnionByteString((ByteString or long) arg);
- void passOptionalUnionByteString(optional (ByteString or long) arg);
- void passOptionalUnionByteStringWithDefaultValue(optional (ByteString or long) arg = "abc");
-
- // USVString types
- void passSVS(USVString arg);
- void passNullableSVS(USVString? arg);
- void passOptionalSVS(optional USVString arg);
- void passOptionalSVSWithDefaultValue(optional USVString arg = "abc");
- void passOptionalNullableSVS(optional USVString? arg);
- void passOptionalNullableSVSWithDefaultValue(optional USVString? arg = null);
- void passVariadicSVS(USVString... arg);
- USVString receiveSVS();
-
- // Enumerated types
- void passEnum(MyTestEnum arg);
- void passNullableEnum(MyTestEnum? arg);
- void passOptionalEnum(optional MyTestEnum arg);
- void passEnumWithDefault(optional MyTestEnum arg = "a");
- void passOptionalNullableEnum(optional MyTestEnum? arg);
- void passOptionalNullableEnumWithDefaultValue(optional MyTestEnum? arg = null);
- void passOptionalNullableEnumWithDefaultValue2(optional MyTestEnum? arg = "a");
- MyTestEnum receiveEnum();
- MyTestEnum? receiveNullableEnum();
- attribute MyTestEnum enumAttribute;
- readonly attribute MyTestEnum readonlyEnumAttribute;
-
- // Callback types
- void passCallback(MyTestCallback arg);
- void passNullableCallback(MyTestCallback? arg);
- void passOptionalCallback(optional MyTestCallback arg);
- void passOptionalNullableCallback(optional MyTestCallback? arg);
- void passOptionalNullableCallbackWithDefaultValue(optional MyTestCallback? arg = null);
- MyTestCallback receiveCallback();
- MyTestCallback? receiveNullableCallback();
- // Hmm. These two don't work, I think because I need a locally modified version of TestTreatAsNullCallback.
- //void passNullableTreatAsNullCallback(TestTreatAsNullCallback? arg);
- //void passOptionalNullableTreatAsNullCallback(optional TestTreatAsNullCallback? arg);
- void passOptionalNullableTreatAsNullCallbackWithDefaultValue(optional TestTreatAsNullCallback? arg = null);
-
- // Any types
- void passAny(any arg);
- void passVariadicAny(any... arg);
- void passOptionalAny(optional any arg);
- void passAnyDefaultNull(optional any arg = null);
- void passSequenceOfAny(sequence<any> arg);
- void passNullableSequenceOfAny(sequence<any>? arg);
- void passOptionalSequenceOfAny(optional sequence<any> arg);
- void passOptionalNullableSequenceOfAny(optional sequence<any>? arg);
- void passOptionalSequenceOfAnyWithDefaultValue(optional sequence<any>? arg = null);
- void passSequenceOfSequenceOfAny(sequence<sequence<any>> arg);
- void passSequenceOfNullableSequenceOfAny(sequence<sequence<any>?> arg);
- void passNullableSequenceOfNullableSequenceOfAny(sequence<sequence<any>?>? arg);
- void passOptionalNullableSequenceOfNullableSequenceOfAny(optional sequence<sequence<any>?>? arg);
- void passMozMapOfAny(MozMap<any> arg);
- void passNullableMozMapOfAny(MozMap<any>? arg);
- void passOptionalMozMapOfAny(optional MozMap<any> arg);
- void passOptionalNullableMozMapOfAny(optional MozMap<any>? arg);
- void passOptionalMozMapOfAnyWithDefaultValue(optional MozMap<any>? arg = null);
- void passMozMapOfMozMapOfAny(MozMap<MozMap<any>> arg);
- void passMozMapOfNullableMozMapOfAny(MozMap<MozMap<any>?> arg);
- void passNullableMozMapOfNullableMozMapOfAny(MozMap<MozMap<any>?>? arg);
- void passOptionalNullableMozMapOfNullableMozMapOfAny(optional MozMap<MozMap<any>?>? arg);
- void passOptionalNullableMozMapOfNullableSequenceOfAny(optional MozMap<sequence<any>?>? arg);
- void passOptionalNullableSequenceOfNullableMozMapOfAny(optional sequence<MozMap<any>?>? arg);
- any receiveAny();
-
- // object types
- void passObject(object arg);
- void passVariadicObject(object... arg);
- void passNullableObject(object? arg);
- void passVariadicNullableObject(object... arg);
- void passOptionalObject(optional object arg);
- void passOptionalNullableObject(optional object? arg);
- void passOptionalNullableObjectWithDefaultValue(optional object? arg = null);
- void passSequenceOfObject(sequence<object> arg);
- void passSequenceOfNullableObject(sequence<object?> arg);
- void passNullableSequenceOfObject(sequence<object>? arg);
- void passOptionalNullableSequenceOfNullableSequenceOfObject(optional sequence<sequence<object>?>? arg);
- void passOptionalNullableSequenceOfNullableSequenceOfNullableObject(optional sequence<sequence<object?>?>? arg);
- void passMozMapOfObject(MozMap<object> arg);
- object receiveObject();
- object? receiveNullableObject();
-
- // Union types
- void passUnion((object or long) arg);
- // Some union tests are debug-only to avoid creating all those
- // unused union types in opt builds.
-#ifdef DEBUG
- void passUnion2((long or boolean) arg);
- void passUnion3((object or long or boolean) arg);
- void passUnion4((Node or long or boolean) arg);
- void passUnion5((object or boolean) arg);
- void passUnion6((object or DOMString) arg);
- void passUnion7((object or DOMString or long) arg);
- void passUnion8((object or DOMString or boolean) arg);
- void passUnion9((object or DOMString or long or boolean) arg);
- void passUnion10(optional (EventInit or long) arg);
- void passUnion11(optional (CustomEventInit or long) arg);
- void passUnion12(optional (EventInit or long) arg = 5);
- void passUnion13(optional (object or long?) arg = null);
- void passUnion14(optional (object or long?) arg = 5);
- void passUnion15((sequence<long> or long) arg);
- void passUnion16(optional (sequence<long> or long) arg);
- void passUnion17(optional (sequence<long>? or long) arg = 5);
- void passUnion18((sequence<object> or long) arg);
- void passUnion19(optional (sequence<object> or long) arg);
- void passUnion20(optional (sequence<object> or long) arg = []);
- void passUnion21((MozMap<long> or long) arg);
- void passUnion22((MozMap<object> or long) arg);
- void passUnion23((sequence<ImageData> or long) arg);
- void passUnion24((sequence<ImageData?> or long) arg);
- void passUnion25((sequence<sequence<ImageData>> or long) arg);
- void passUnion26((sequence<sequence<ImageData?>> or long) arg);
- void passUnion27(optional (sequence<DOMString> or EventInit) arg);
- void passUnion28(optional (EventInit or sequence<DOMString>) arg);
- void passUnionWithCallback((EventHandler or long) arg);
- void passUnionWithByteString((ByteString or long) arg);
- void passUnionWithMozMap((MozMap<DOMString> or DOMString) arg);
- void passUnionWithMozMapAndSequence((MozMap<DOMString> or sequence<DOMString>) arg);
- void passUnionWithSequenceAndMozMap((sequence<DOMString> or MozMap<DOMString>) arg);
- void passUnionWithSVS((USVString or long) arg);
-#endif
- void passUnionWithNullable((object? or long) arg);
- void passNullableUnion((object or long)? arg);
- void passOptionalUnion(optional (object or long) arg);
- void passOptionalNullableUnion(optional (object or long)? arg);
- void passOptionalNullableUnionWithDefaultValue(optional (object or long)? arg = null);
- //void passUnionWithInterfaces((TestJSImplInterface or TestExternalInterface) arg);
- //void passUnionWithInterfacesAndNullable((TestJSImplInterface? or TestExternalInterface) arg);
- //void passUnionWithSequence((sequence<object> or long) arg);
- void passUnionWithArrayBuffer((ArrayBuffer or long) arg);
- void passUnionWithString((DOMString or object) arg);
- // Using an enum in a union. Note that we use some enum not declared in our
- // binding file, because UnionTypes.h will need to include the binding header
- // for this enum. Pick an enum from an interface that won't drag in too much
- // stuff.
- void passUnionWithEnum((SupportedType or object) arg);
-
- // Trying to use a callback in a union won't include the test
- // headers, unfortunately, so won't compile.
- // void passUnionWithCallback((MyTestCallback or long) arg);
- void passUnionWithObject((object or long) arg);
- //void passUnionWithDict((Dict or long) arg);
-
- void passUnionWithDefaultValue1(optional (double or DOMString) arg = "");
- void passUnionWithDefaultValue2(optional (double or DOMString) arg = 1);
- void passUnionWithDefaultValue3(optional (double or DOMString) arg = 1.5);
- void passUnionWithDefaultValue4(optional (float or DOMString) arg = "");
- void passUnionWithDefaultValue5(optional (float or DOMString) arg = 1);
- void passUnionWithDefaultValue6(optional (float or DOMString) arg = 1.5);
- void passUnionWithDefaultValue7(optional (unrestricted double or DOMString) arg = "");
- void passUnionWithDefaultValue8(optional (unrestricted double or DOMString) arg = 1);
- void passUnionWithDefaultValue9(optional (unrestricted double or DOMString) arg = 1.5);
- void passUnionWithDefaultValue10(optional (unrestricted double or DOMString) arg = Infinity);
- void passUnionWithDefaultValue11(optional (unrestricted float or DOMString) arg = "");
- void passUnionWithDefaultValue12(optional (unrestricted float or DOMString) arg = 1);
- void passUnionWithDefaultValue13(optional (unrestricted float or DOMString) arg = Infinity);
- void passUnionWithDefaultValue14(optional (double or ByteString) arg = "");
- void passUnionWithDefaultValue15(optional (double or ByteString) arg = 1);
- void passUnionWithDefaultValue16(optional (double or ByteString) arg = 1.5);
- void passUnionWithDefaultValue17(optional (double or SupportedType) arg = "text/html");
- void passUnionWithDefaultValue18(optional (double or SupportedType) arg = 1);
- void passUnionWithDefaultValue19(optional (double or SupportedType) arg = 1.5);
-
- void passNullableUnionWithDefaultValue1(optional (double or DOMString)? arg = "");
- void passNullableUnionWithDefaultValue2(optional (double or DOMString)? arg = 1);
- void passNullableUnionWithDefaultValue3(optional (double or DOMString)? arg = null);
- void passNullableUnionWithDefaultValue4(optional (float or DOMString)? arg = "");
- void passNullableUnionWithDefaultValue5(optional (float or DOMString)? arg = 1);
- void passNullableUnionWithDefaultValue6(optional (float or DOMString)? arg = null);
- void passNullableUnionWithDefaultValue7(optional (unrestricted double or DOMString)? arg = "");
- void passNullableUnionWithDefaultValue8(optional (unrestricted double or DOMString)? arg = 1);
- void passNullableUnionWithDefaultValue9(optional (unrestricted double or DOMString)? arg = null);
- void passNullableUnionWithDefaultValue10(optional (unrestricted float or DOMString)? arg = "");
- void passNullableUnionWithDefaultValue11(optional (unrestricted float or DOMString)? arg = 1);
- void passNullableUnionWithDefaultValue12(optional (unrestricted float or DOMString)? arg = null);
- void passNullableUnionWithDefaultValue13(optional (double or ByteString)? arg = "");
- void passNullableUnionWithDefaultValue14(optional (double or ByteString)? arg = 1);
- void passNullableUnionWithDefaultValue15(optional (double or ByteString)? arg = 1.5);
- void passNullableUnionWithDefaultValue16(optional (double or ByteString)? arg = null);
- void passNullableUnionWithDefaultValue17(optional (double or SupportedType)? arg = "text/html");
- void passNullableUnionWithDefaultValue18(optional (double or SupportedType)? arg = 1);
- void passNullableUnionWithDefaultValue19(optional (double or SupportedType)? arg = 1.5);
- void passNullableUnionWithDefaultValue20(optional (double or SupportedType)? arg = null);
-
- void passSequenceOfUnions(sequence<(CanvasPattern or CanvasGradient)> arg);
- void passSequenceOfUnions2(sequence<(object or long)> arg);
- void passVariadicUnion((CanvasPattern or CanvasGradient)... arg);
-
- void passSequenceOfNullableUnions(sequence<(CanvasPattern or CanvasGradient)?> arg);
- void passVariadicNullableUnion((CanvasPattern or CanvasGradient)?... arg);
- void passMozMapOfUnions(MozMap<(CanvasPattern or CanvasGradient)> arg);
- // XXXbz no move constructor on some unions
- // void passMozMapOfUnions2(MozMap<(object or long)> arg);
-
- (CanvasPattern or CanvasGradient) receiveUnion();
- (object or long) receiveUnion2();
- (CanvasPattern? or CanvasGradient) receiveUnionContainingNull();
- (CanvasPattern or CanvasGradient)? receiveNullableUnion();
- (object or long)? receiveNullableUnion2();
-
- attribute (CanvasPattern or CanvasGradient) writableUnion;
- attribute (CanvasPattern? or CanvasGradient) writableUnionContainingNull;
- attribute (CanvasPattern or CanvasGradient)? writableNullableUnion;
-
- // Date types
- void passDate(Date arg);
- void passNullableDate(Date? arg);
- void passOptionalDate(optional Date arg);
- void passOptionalNullableDate(optional Date? arg);
- void passOptionalNullableDateWithDefaultValue(optional Date? arg = null);
- void passDateSequence(sequence<Date> arg);
- void passNullableDateSequence(sequence<Date?> arg);
- void passDateMozMap(MozMap<Date> arg);
- Date receiveDate();
- Date? receiveNullableDate();
-
- // Promise types
- void passPromise(Promise<any> arg);
- void passNullablePromise(Promise<any>? arg);
- void passOptionalPromise(optional Promise<any> arg);
- void passOptionalNullablePromise(optional Promise<any>? arg);
- void passOptionalNullablePromiseWithDefaultValue(optional Promise<any>? arg = null);
- void passPromiseSequence(sequence<Promise<any>> arg);
- void passNullablePromiseSequence(sequence<Promise<any>?> arg);
- Promise<any> receivePromise();
- Promise<any> receiveAddrefedPromise();
-
- // binaryNames tests
- void methodRenamedFrom();
- [BinaryName="otherMethodRenamedTo"]
- void otherMethodRenamedFrom();
- void methodRenamedFrom(byte argument);
- readonly attribute byte attributeGetterRenamedFrom;
- attribute byte attributeRenamedFrom;
- [BinaryName="otherAttributeRenamedTo"]
- attribute byte otherAttributeRenamedFrom;
-
- void passDictionary(optional Dict x);
- void passDictionary2(Dict x);
- [Cached, Pure]
- readonly attribute Dict readonlyDictionary;
- [Cached, Pure]
- readonly attribute Dict? readonlyNullableDictionary;
- [Cached, Pure]
- attribute Dict writableDictionary;
- [Cached, Pure, Frozen]
- readonly attribute Dict readonlyFrozenDictionary;
- [Cached, Pure, Frozen]
- readonly attribute Dict? readonlyFrozenNullableDictionary;
- [Cached, Pure, Frozen]
- attribute Dict writableFrozenDictionary;
- Dict receiveDictionary();
- Dict? receiveNullableDictionary();
- void passOtherDictionary(optional GrandparentDict x);
- void passSequenceOfDictionaries(sequence<Dict> x);
- void passMozMapOfDictionaries(MozMap<GrandparentDict> x);
- // No support for nullable dictionaries inside a sequence (nor should there be)
- // void passSequenceOfNullableDictionaries(sequence<Dict?> x);
- void passDictionaryOrLong(optional Dict x);
- void passDictionaryOrLong(long x);
-
- void passDictContainingDict(optional DictContainingDict arg);
- void passDictContainingSequence(optional DictContainingSequence arg);
- DictContainingSequence receiveDictContainingSequence();
- void passVariadicDictionary(Dict... arg);
-
- // EnforceRange/Clamp tests
- void dontEnforceRangeOrClamp(byte arg);
- void doEnforceRange([EnforceRange] byte arg);
- void doClamp([Clamp] byte arg);
- [EnforceRange] attribute byte enforcedByte;
- [Clamp] attribute byte clampedByte;
-
- // Typedefs
- const myLong myLongConstant = 5;
- void exerciseTypedefInterfaces1(AnotherNameForTestJSImplInterface arg);
- AnotherNameForTestJSImplInterface exerciseTypedefInterfaces2(NullableTestJSImplInterface arg);
- void exerciseTypedefInterfaces3(YetAnotherNameForTestJSImplInterface arg);
-
- // Deprecated methods and attributes
- [Deprecated="GetAttributeNode"]
- attribute byte deprecatedAttribute;
- [Deprecated="GetAttributeNode"]
- byte deprecatedMethod();
- [Deprecated="GetAttributeNode"]
- void deprecatedMethodWithContext(any arg);
-
- // Static methods and attributes
- // FIXME: Bug 863952 Static things are not supported yet
- /*
- static attribute boolean staticAttribute;
- static void staticMethod(boolean arg);
- static void staticMethodWithContext(any arg);
-
- // Deprecated static methods and attributes
- [Deprecated="GetAttributeNode"]
- static attribute byte staticDeprecatedAttribute;
- [Deprecated="GetAttributeNode"]
- static byte staticDeprecatedMethod();
- [Deprecated="GetAttributeNode"]
- static byte staticDeprecatedMethodWithContext();
- */
-
- // Overload resolution tests
- //void overload1(DOMString... strs);
- boolean overload1(TestJSImplInterface arg);
- TestJSImplInterface overload1(DOMString strs, TestJSImplInterface arg);
- void overload2(TestJSImplInterface arg);
- void overload2(optional Dict arg);
- void overload2(boolean arg);
- void overload2(DOMString arg);
- void overload2(Date arg);
- void overload3(TestJSImplInterface arg);
- void overload3(MyTestCallback arg);
- void overload3(boolean arg);
- void overload4(TestJSImplInterface arg);
- void overload4(TestCallbackInterface arg);
- void overload4(DOMString arg);
- void overload5(long arg);
- void overload5(MyTestEnum arg);
- void overload6(long arg);
- void overload6(boolean arg);
- void overload7(long arg);
- void overload7(boolean arg);
- void overload7(ByteString arg);
- void overload8(long arg);
- void overload8(TestJSImplInterface arg);
- void overload9(long? arg);
- void overload9(DOMString arg);
- void overload10(long? arg);
- void overload10(object arg);
- void overload11(long arg);
- void overload11(DOMString? arg);
- void overload12(long arg);
- void overload12(boolean? arg);
- void overload13(long? arg);
- void overload13(boolean arg);
- void overload14(optional long arg);
- void overload14(TestInterface arg);
- void overload15(long arg);
- void overload15(optional TestInterface arg);
- void overload16(long arg);
- void overload16(optional TestInterface? arg);
- void overload17(sequence<long> arg);
- void overload17(MozMap<long> arg);
- void overload18(MozMap<DOMString> arg);
- void overload18(sequence<DOMString> arg);
- void overload19(sequence<long> arg);
- void overload19(optional Dict arg);
- void overload20(optional Dict arg);
- void overload20(sequence<long> arg);
-
- // Variadic handling
- void passVariadicThirdArg(DOMString arg1, long arg2, TestJSImplInterface... arg3);
-
- // Conditionally exposed methods/attributes
- [Pref="abc.def"]
- readonly attribute boolean prefable1;
- [Pref="abc.def"]
- readonly attribute boolean prefable2;
- [Pref="ghi.jkl"]
- readonly attribute boolean prefable3;
- [Pref="ghi.jkl"]
- readonly attribute boolean prefable4;
- [Pref="abc.def"]
- readonly attribute boolean prefable5;
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean prefable6;
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean prefable7;
- [Pref="ghi.jkl", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean prefable8;
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean prefable9;
- [Pref="abc.def"]
- void prefable10();
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- void prefable11();
- [Pref="abc.def", Func="TestFuncControlledMember"]
- readonly attribute boolean prefable12;
- [Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- void prefable13();
- [Pref="abc.def", Func="TestFuncControlledMember"]
- readonly attribute boolean prefable14;
- [Func="TestFuncControlledMember"]
- readonly attribute boolean prefable15;
- [Func="TestFuncControlledMember"]
- readonly attribute boolean prefable16;
- [Pref="abc.def", Func="TestFuncControlledMember"]
- void prefable17();
- [Func="TestFuncControlledMember"]
- void prefable18();
- [Func="TestFuncControlledMember"]
- void prefable19();
- [Pref="abc.def", Func="TestFuncControlledMember", ChromeOnly]
- void prefable20();
-
- // Conditionally exposed methods/attributes involving [SecureContext]
- [SecureContext]
- readonly attribute boolean conditionalOnSecureContext1;
- [SecureContext, Pref="abc.def"]
- readonly attribute boolean conditionalOnSecureContext2;
- [SecureContext, Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- readonly attribute boolean conditionalOnSecureContext3;
- [SecureContext, Pref="abc.def", Func="TestFuncControlledMember"]
- readonly attribute boolean conditionalOnSecureContext4;
- [SecureContext]
- void conditionalOnSecureContext5();
- [SecureContext, Pref="abc.def"]
- void conditionalOnSecureContext6();
- [SecureContext, Pref="abc.def", Func="nsGenericHTMLElement::TouchEventsEnabled"]
- void conditionalOnSecureContext7();
- [SecureContext, Pref="abc.def", Func="TestFuncControlledMember"]
- void conditionalOnSecureContext8();
-
- // Miscellania
- [LenientThis] attribute long attrWithLenientThis;
- // FIXME: Bug 863954 Unforgeable things get all confused when
- // non-JS-implemented interfaces inherit from JS-implemented ones or vice
- // versa.
- // [Unforgeable] readonly attribute long unforgeableAttr;
- // [Unforgeable, ChromeOnly] readonly attribute long unforgeableAttr2;
- // [Unforgeable] long unforgeableMethod();
- // [Unforgeable, ChromeOnly] long unforgeableMethod2();
- // FIXME: Bug 863955 No stringifiers yet
- // stringifier;
- void passRenamedInterface(TestRenamedInterface arg);
- [PutForwards=writableByte] readonly attribute TestJSImplInterface putForwardsAttr;
- [PutForwards=writableByte, LenientThis] readonly attribute TestJSImplInterface putForwardsAttr2;
- [PutForwards=writableByte, ChromeOnly] readonly attribute TestJSImplInterface putForwardsAttr3;
- [Throws] void throwingMethod();
- [Throws] attribute boolean throwingAttr;
- [GetterThrows] attribute boolean throwingGetterAttr;
- [SetterThrows] attribute boolean throwingSetterAttr;
- [CEReactions] void ceReactionsMethod();
- [CEReactions] void ceReactionsMethodOverload();
- [CEReactions] void ceReactionsMethodOverload(DOMString bar);
- [CEReactions] attribute boolean ceReactionsAttr;
- // NeedsSubjectPrincipal not supported on JS-implemented things for
- // now, because we always pass in the caller principal anyway.
- // [NeedsSubjectPrincipal] void needsSubjectPrincipalMethod();
- // [NeedsSubjectPrincipal] attribute boolean needsSubjectPrincipalAttr;
- // legacycaller short(unsigned long arg1, TestInterface arg2);
- void passArgsWithDefaults(optional long arg1,
- optional TestInterface? arg2 = null,
- optional Dict arg3, optional double arg4 = 5.0,
- optional float arg5);
- attribute any jsonifierShouldSkipThis;
- attribute TestParentInterface jsonifierShouldSkipThis2;
- attribute TestCallbackInterface jsonifierShouldSkipThis3;
- jsonifier;
-
- attribute byte dashed-attribute;
- void dashed-method();
-
- // If you add things here, add them to TestCodeGen as well
-};
-
-[NavigatorProperty="TestNavigator", JSImplementation="@mozilla.org/test;1"]
-interface TestNavigator {
-};
-
-[Constructor, NavigatorProperty="TestNavigatorWithConstructor", JSImplementation="@mozilla.org/test;1"]
-interface TestNavigatorWithConstructor {
-};
-
-interface TestCImplementedInterface : TestJSImplInterface {
-};
-
-interface TestCImplementedInterface2 {
-};
-
-[NoInterfaceObject,
- JSImplementation="@mozilla.org/test-js-impl-interface;2"]
-interface TestJSImplNoInterfaceObject {
- [Cached, Pure]
- readonly attribute byte cachedByte;
-};
diff --git a/dom/bindings/test/TestJSImplInheritanceGen.webidl b/dom/bindings/test/TestJSImplInheritanceGen.webidl
deleted file mode 100644
index e62dbd10be..0000000000
--- a/dom/bindings/test/TestJSImplInheritanceGen.webidl
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -*- 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/.
- */
-
-[Constructor, JSImplementation="@mozilla.org/test-js-impl-interface2;1"]
-interface TestJSImplInterface2 : TestCImplementedInterface {
-};
-
-[Constructor, JSImplementation="@mozilla.org/test-js-impl-interface3;1"]
-interface TestJSImplInterface3 : TestCImplementedInterface2 {
-};
-
-// Important: TestJSImplInterface5 needs to come before TestJSImplInterface6 in
-// this file to test what it's trying to test.
-[Constructor, JSImplementation="@mozilla.org/test-js-impl-interface5;1"]
-interface TestJSImplInterface5 : TestJSImplInterface6 {
-};
-
-// Important: TestJSImplInterface6 needs to come after TestJSImplInterface3 in
-// this file to test what it's trying to test.
-[Constructor, JSImplementation="@mozilla.org/test-js-impl-interface6;1"]
-interface TestJSImplInterface6 : TestJSImplInterface3 {
-};
-
-[Constructor, JSImplementation="@mozilla.org/test-js-impl-interface4;1"]
-interface TestJSImplInterface4 : EventTarget {
-};
diff --git a/dom/bindings/test/TestTypedef.webidl b/dom/bindings/test/TestTypedef.webidl
deleted file mode 100644
index 7f758c79e8..0000000000
--- a/dom/bindings/test/TestTypedef.webidl
+++ /dev/null
@@ -1,7 +0,0 @@
-/* -*- 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/.
- */
-
-typedef TestInterface YetAnotherNameForTestInterface;
diff --git a/dom/bindings/test/chrome.ini b/dom/bindings/test/chrome.ini
deleted file mode 100644
index 9fdbd7fd30..0000000000
--- a/dom/bindings/test/chrome.ini
+++ /dev/null
@@ -1,22 +0,0 @@
-[DEFAULT]
-support-files =
- !/dom/bindings/test/file_bug775543.html
- !/dom/bindings/test/file_document_location_set_via_xray.html
- !/dom/bindings/test/file_dom_xrays.html
- !/dom/bindings/test/file_proxies_via_xray.html
-
-[test_bug775543.html]
-[test_document_location_set_via_xray.html]
-[test_dom_xrays.html]
-[test_proxies_via_xray.html]
-[test_document_location_via_xray_cached.html]
-[test_blacklisted_prerendering_function.xul]
-support-files =
- file_focuser.html
- file_fullScreenPropertyAccessor.html
-skip-if = e10s # prerendering doesn't work in e10s yet
-[test_kill_longrunning_prerendered_content.xul]
-skip-if = e10s # prerendering doesn't work in e10s yet
-[test_bug1123516_maplikesetlikechrome.xul]
-skip-if = debug == false
-[test_bug1287912.html]
diff --git a/dom/bindings/test/file_InstanceOf.html b/dom/bindings/test/file_InstanceOf.html
deleted file mode 100644
index 487010fa42..0000000000
--- a/dom/bindings/test/file_InstanceOf.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<body>
-<script type="application/javascript">
-function runTest()
-{
- return [ parent.HTMLElement.prototype instanceof Element,
- parent.HTMLElement.prototype instanceof parent.Element ];
-}
-</script>
-</body>
-</html>
diff --git a/dom/bindings/test/file_bug775543.html b/dom/bindings/test/file_bug775543.html
deleted file mode 100644
index ee8c14c4d9..0000000000
--- a/dom/bindings/test/file_bug775543.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<body>
-<script>
-worker = new Worker("a");
-</script>
-</body>
diff --git a/dom/bindings/test/file_document_location_set_via_xray.html b/dom/bindings/test/file_document_location_set_via_xray.html
deleted file mode 100644
index 323acba666..0000000000
--- a/dom/bindings/test/file_document_location_set_via_xray.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<body>
-<script>
-document.x = 5;
-</script>
-</body>
diff --git a/dom/bindings/test/file_dom_xrays.html b/dom/bindings/test/file_dom_xrays.html
deleted file mode 100644
index 36b3f8a300..0000000000
--- a/dom/bindings/test/file_dom_xrays.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html>
-<html>
- <script>
- window.expando = 42;
- window.shadowedIframe = 42;
- Object.setPrototypeOf(window, Object.create(Window.prototype,
- {
- shadowedIframe: { value: 42 },
- iframe: { value: 42 },
- document: { value: 42 },
- addEventListener: { value: 42 },
- toString: { value: 42 }
- }));
- window.documentElement.expando = 42;
- Object.defineProperty(window.documentElement, "version", { value: 42 });
- </script>
- <iframe name="shadowedIframe" id="shadowedIframe"></iframe>
- <iframe name="iframe" id="iframe"></iframe>
- <iframe name="document" id="document"></iframe>
- <iframe name="self" id="self"></iframe>
- <iframe name="addEventListener" id="addEventListener"></iframe>
- <iframe name="toString" id="toString"></iframe>
- <iframe name="item" id="item"></iframe>
-</html>
diff --git a/dom/bindings/test/file_focuser.html b/dom/bindings/test/file_focuser.html
deleted file mode 100644
index 0d5240f95b..0000000000
--- a/dom/bindings/test/file_focuser.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML>
-<div id="stage"></div>
-<script>
- function stage(str) {
- var s = document.getElementById("stage");
- s.textContent = str;
- }
- stage("before");
- setTimeout(function() {
- stage("in timeout");
- });
- setInterval(function() {
- stage("in interval");
- });
- addEventListener("keydown", function() {
- stage("keydown");
- }, false);
- try {
- focus();
- stage("after");
- } catch(e) {
- stage("exception raised");
- }
-</script>
diff --git a/dom/bindings/test/file_fullScreenPropertyAccessor.html b/dom/bindings/test/file_fullScreenPropertyAccessor.html
deleted file mode 100644
index 92a37e0bac..0000000000
--- a/dom/bindings/test/file_fullScreenPropertyAccessor.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML>
-<div id="stage"></div>
-<script>
- function stage(str) {
- var s = document.getElementById("stage");
- s.textContent = str;
- }
- stage("before");
- setTimeout(function() {
- stage("in timeout");
- });
- setInterval(function() {
- stage("in interval");
- });
- addEventListener("keydown", function() {
- stage("keydown");
- }, false);
- try {
- window.fullScreen;
- stage("after");
- } catch(e) {
- stage("exception raised");
- }
-</script>
diff --git a/dom/bindings/test/file_proxies_via_xray.html b/dom/bindings/test/file_proxies_via_xray.html
deleted file mode 100644
index 2e9a318309..0000000000
--- a/dom/bindings/test/file_proxies_via_xray.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE html>
-<html>
- <script>
- document.x = 5
- </script>
- <img id="y" name="y"></div>
- <img id="z" name="z"></div>
-</html>
diff --git a/dom/bindings/test/forOf_iframe.html b/dom/bindings/test/forOf_iframe.html
deleted file mode 100644
index 91417aba0e..0000000000
--- a/dom/bindings/test/forOf_iframe.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <title>iframe content for test_forOf_iframe.html</title>
-</head>
-<body>
- <div id="basket">
- <span id="egg0"></span>
- <span id="egg1"><span id="duckling1"></span></span>
- <span id="egg2"></span>
- </div>
-</body>
-</html>
diff --git a/dom/bindings/test/mochitest.ini b/dom/bindings/test/mochitest.ini
deleted file mode 100644
index 2cd322e741..0000000000
--- a/dom/bindings/test/mochitest.ini
+++ /dev/null
@@ -1,79 +0,0 @@
-[DEFAULT]
-support-files =
- file_InstanceOf.html
- file_bug775543.html
- file_document_location_set_via_xray.html
- file_dom_xrays.html
- file_proxies_via_xray.html
- forOf_iframe.html
- !/js/xpconnect/tests/mochitest/file_empty.html
-
-[test_async_stacks.html]
-[test_ByteString.html]
-[test_InstanceOf.html]
-[test_bug560072.html]
-[test_bug742191.html]
-[test_bug759621.html]
-[test_bug773326.html]
-[test_bug788369.html]
-[test_bug852846.html]
-[test_bug862092.html]
-[test_bug1036214.html]
-skip-if = debug == false
-[test_bug963382.html]
-skip-if = debug == false
-[test_bug1041646.html]
-[test_bug1123875.html]
-[test_barewordGetsWindow.html]
-[test_callback_across_document_open.html]
-[test_callback_default_thisval.html]
-[test_cloneAndImportNode.html]
-[test_defineProperty.html]
-[test_enums.html]
-[test_exceptionThrowing.html]
-[test_exception_messages.html]
-[test_forOf.html]
-[test_integers.html]
-[test_interfaceName.html]
-[test_interfaceToString.html]
-[test_exceptions_from_jsimplemented.html]
-tags = webrtc
-[test_lenientThis.html]
-[test_lookupGetter.html]
-[test_namedNoIndexed.html]
-[test_named_getter_enumerability.html]
-[test_Object.prototype_props.html]
-[test_queryInterface.html]
-[test_returnUnion.html]
-skip-if = debug == false
-[test_usvstring.html]
-skip-if = debug == false
-[test_sequence_wrapping.html]
-subsuite = gpu
-[test_setWithNamedGetterNoNamedSetter.html]
-[test_throwing_method_noDCE.html]
-[test_treat_non_object_as_null.html]
-[test_traceProtos.html]
-[test_sequence_detection.html]
-skip-if = debug == false
-[test_exception_options_from_jsimplemented.html]
-skip-if = debug == false
-[test_promise_rejections_from_jsimplemented.html]
-skip-if = debug == false
-[test_worker_UnwrapArg.html]
-[test_unforgeablesonexpando.html]
-[test_crossOriginWindowSymbolAccess.html]
-[test_primitive_this.html]
-[test_callback_exceptions.html]
-[test_bug1123516_maplikesetlike.html]
-skip-if = debug == false
-[test_jsimplemented_eventhandler.html]
-skip-if = debug == false
-[test_iterable.html]
-skip-if = debug == false
-[test_oom_reporting.html]
-[test_domProxyArrayLengthGetter.html]
-[test_exceptionSanitization.html]
-skip-if = os == "android"
-[test_stringBindings.html]
-skip-if = debug == false
diff --git a/dom/bindings/test/moz.build b/dom/bindings/test/moz.build
deleted file mode 100644
index 7d0cb6c212..0000000000
--- a/dom/bindings/test/moz.build
+++ /dev/null
@@ -1,58 +0,0 @@
-# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# 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/.
-
-DEFINES.update({
- 'IMPL_LIBXUL': True,
- 'MOZILLA_INTERNAL_API': True,
-})
-
-# Do NOT export this library. We don't actually want our test code
-# being added to libxul or anything.
-
-Library('dombindings_test_s')
-
-EXTRA_COMPONENTS += [
- 'TestInterfaceJS.js',
- 'TestInterfaceJS.manifest',
- 'TestInterfaceJSMaplike.js'
-]
-
-MOCHITEST_MANIFESTS += ['mochitest.ini']
-
-MOCHITEST_CHROME_MANIFESTS += ['chrome.ini']
-
-TEST_WEBIDL_FILES += [
- 'TestDictionary.webidl',
- 'TestJSImplInheritanceGen.webidl',
- 'TestTypedef.webidl',
-]
-
-PREPROCESSED_TEST_WEBIDL_FILES += [
- 'TestCodeGen.webidl',
- 'TestExampleGen.webidl',
- 'TestJSImplGen.webidl',
-]
-
-WEBIDL_EXAMPLE_INTERFACES += [
- 'TestExampleInterface',
- 'TestExampleProxyInterface',
- 'TestExampleWorkerInterface',
-]
-
-# Bug 932082 tracks having bindings use namespaced includes.
-LOCAL_INCLUDES += [
- '!/dist/include/mozilla/dom',
-]
-
-LOCAL_INCLUDES += [
- '!..',
- '/dom/bindings',
- '/js/xpconnect/src',
- '/js/xpconnect/wrappers',
-]
-
-if CONFIG['GNU_CXX']:
- CXXFLAGS += ['-Wno-error=shadow']
diff --git a/dom/bindings/test/test_ByteString.html b/dom/bindings/test/test_ByteString.html
deleted file mode 100644
index c7e6321173..0000000000
--- a/dom/bindings/test/test_ByteString.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=796850
--->
-<head>
- <meta charset="utf-8">
- <title>Test for ByteString support</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=796850">Mozilla Bug 796850</a>
-<p id="display"></p>
-<pre id="test">
-<script type="application/javascript">
-
- /** Test for Bug 796850 **/
- var xhr = new XMLHttpRequest();
- caught = false;
- try {
- xhr.open("\u5427", "about:mozilla", true);
- }
- catch (TypeError) {
- caught = true;
- }
- ok(caught, "Character values > 255 not rejected for ByteString");
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_InstanceOf.html b/dom/bindings/test/test_InstanceOf.html
deleted file mode 100644
index 514ec1b2aa..0000000000
--- a/dom/bindings/test/test_InstanceOf.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=748983
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 748983</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=748983">Mozilla Bug 748983</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 748983 **/
-
-SimpleTest.waitForExplicitFinish();
-
-function runTest()
-{
- ok(document instanceof EventTarget, "document is an event target")
- ok(new XMLHttpRequest() instanceof XMLHttpRequest, "instanceof should work on XHR");
- ok(HTMLElement.prototype instanceof Node, "instanceof needs to walk the prototype chain")
-
- var otherWin = document.getElementById("testFrame").contentWindow;
-
- ok(otherWin.HTMLElement.prototype instanceof otherWin.Node, "Same-origin instanceof of a interface prototype object should work, even if called cross-origin");
- ok(!(otherWin.HTMLElement.prototype instanceof Node), "Cross-origin instanceof of a interface prototype object shouldn't work");
-
- // We need to reset HTMLElement.prototype.__proto__ to the original value
- // before using anything from the harness, otherwise the harness code breaks
- // in weird ways.
- HTMLElement.prototype.__proto__ = otherWin.Element.prototype;
- var [ shouldSucceed, shouldFail ] = otherWin.runTest();
- shouldSucceed = shouldSucceed && HTMLElement.prototype instanceof otherWin.Element;
- shouldFail = shouldFail && HTMLElement.prototype instanceof Element;
- HTMLElement.prototype.__proto__ = Element.prototype;
-
- ok(shouldSucceed, "If an interface prototype object is on the protochain then instanceof with the interface object should succeed");
- ok(!shouldFail, "If an interface prototype object is not on the protochain then instanceof with the interface object should succeed");
-
- SimpleTest.finish();
-}
-
-</script>
-</pre>
-<iframe id="testFrame" src="file_InstanceOf.html" onload="runTest()"></iframe>
-</body>
-</html>
diff --git a/dom/bindings/test/test_Object.prototype_props.html b/dom/bindings/test/test_Object.prototype_props.html
deleted file mode 100644
index 3ab27c5e4a..0000000000
--- a/dom/bindings/test/test_Object.prototype_props.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>Test for bug 987110</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<div id="log"></div>
-<script>
-test(function() {
- var props = Object.getOwnPropertyNames(Object.prototype);
- // If you change this list, make sure it continues to match the list in
- // Codegen.py's CGDictionary.getMemberDefinition method.
- var expected = [
- "constructor", "toSource", "toString", "toLocaleString", "valueOf",
- "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable",
- "__defineGetter__", "__defineSetter__", "__lookupGetter__",
- "__lookupSetter__", "__proto__"
- ];
- assert_array_equals(props.sort(), expected.sort());
-}, "Own properties of Object.prototype");
-</script>
diff --git a/dom/bindings/test/test_async_stacks.html b/dom/bindings/test/test_async_stacks.html
deleted file mode 100644
index 8b655a14d7..0000000000
--- a/dom/bindings/test/test_async_stacks.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1148593
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1148593</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 1148593 **/
-
- SimpleTest.waitForExplicitFinish();
-
- var TESTS;
-
- function nextTest() {
- var t = TESTS.pop();
- if (t) {
- t();
- } else {
- SimpleTest.finish();
- }
- }
-
- function checkStack(functionName) {
- try {
- noSuchFunction();
- } catch (e) {
- ok(e.stack.indexOf(functionName) >= 0, "stack includes " + functionName);
- }
- nextTest();
- }
-
- function eventListener() {
- checkStack("registerEventListener");
- }
- function registerEventListener(link) {
- link.onload = eventListener;
- }
- function eventTest() {
- var link = document.createElement("link");
- link.rel = "stylesheet";
- link.href = "data:text/css,";
- registerEventListener(link);
- document.body.appendChild(link);
- }
-
- function xhrListener() {
- checkStack("xhrTest");
- }
- function xhrTest() {
- var ourFile = location.href;
- var x = new XMLHttpRequest();
- x.onload = xhrListener;
- x.open("get", ourFile, true);
- x.send();
- }
-
- function rafListener() {
- checkStack("rafTest");
- }
- function rafTest() {
- requestAnimationFrame(rafListener);
- }
-
- var intervalId;
- function intervalHandler() {
- clearInterval(intervalId);
- checkStack("intervalTest");
- }
- function intervalTest() {
- intervalId = setInterval(intervalHandler, 5);
- }
-
- function postMessageHandler(ev) {
- ev.stopPropagation();
- checkStack("postMessageTest");
- }
- function postMessageTest() {
- window.addEventListener("message", postMessageHandler, true);
- window.postMessage("whatever", "*");
- }
-
- function runTests() {
- TESTS = [postMessageTest, intervalTest, rafTest, xhrTest, eventTest];
- nextTest();
- }
-
- addLoadEvent(function() {
- SpecialPowers.pushPrefEnv(
- {"set": [['javascript.options.asyncstack', true]]},
- runTests);
- });
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1148593">Mozilla Bug 1148593</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_barewordGetsWindow.html b/dom/bindings/test/test_barewordGetsWindow.html
deleted file mode 100644
index e098eea539..0000000000
--- a/dom/bindings/test/test_barewordGetsWindow.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=936056
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 936056</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 936056 **/
- SimpleTest.waitForExplicitFinish();
- window.onload = function() {
- var desc = Object.getOwnPropertyDescriptor(frames[0], "document");
- if (!desc || !desc.get) {
- todo(false, "This test does nothing so far, but will once Window is on WebIDL bindings");
- SimpleTest.finish();
- return;
- }
- get = desc.get;
- ok(get, "Couldn't find document getter");
- Object.defineProperty(frames[0], "foo", { get: get, configurable: true });
-
- var barewordFunc = frames[0].eval("(function (count) { var doc; for (var i = 0; i < count; ++i) doc = foo; return doc.documentElement; })");
- var qualifiedFunc = frames[0].eval("(function (count) { var doc; for (var i = 0; i < count; ++i) doc = window.document; return doc.documentElement; })");
- document.querySelector("iframe").onload = function () {
- // interp
- is(barewordFunc(1).textContent, "OLD", "Bareword should see own inner 1");
- is(qualifiedFunc(1).textContent, "NEW",
- "Qualified should see current inner 1");
- // baseline
- is(barewordFunc(100).textContent, "OLD", "Bareword should see own inner 2");
- is(qualifiedFunc(100).textContent, "NEW",
- "Qualified should see current inner 2");
- // ion
- is(barewordFunc(10000).textContent, "OLD", "Bareword should see own inner 3");
- is(qualifiedFunc(10000).textContent, "NEW",
- "Qualified should see current inner 2");
- SimpleTest.finish();
- }
- frames[0].location = "data:text/plain,NEW";
- }
-
-
-
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=936056">Mozilla Bug 936056</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-<iframe src="data:text/plain,OLD"></iframe>
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_blacklisted_prerendering_function.xul b/dom/bindings/test/test_blacklisted_prerendering_function.xul
deleted file mode 100644
index 02a76d88d9..0000000000
--- a/dom/bindings/test/test_blacklisted_prerendering_function.xul
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- xmlns:html="http://www.w3.org/1999/xhtml"
- onload="runTest();">
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
-
-<script class="testbody" type="application/javascript">
-<![CDATA[
-
- SimpleTest.waitForExplicitFinish();
-
- function Listener(aBrowser, aPrerendered, aCallback) {
- this.init(aBrowser, aPrerendered, aCallback);
- }
-
- Listener.prototype = {
- init: function(aBrowser, aPrerendered, aCallback) {
- this.mBrowser = aBrowser;
- this.mPrerendered = aPrerendered;
- this.mCallback = aCallback;
- },
- QueryInterface: function(aIID) {
- if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
- aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
- aIID.equals(Components.interfaces.nsISupports))
- return this;
- throw Components.results.NS_NOINTERFACE;
- },
- onStateChange : function(aWebProgress, aRequest, aStateFlags, aStatus) {
- if ((aStateFlags & Components.interfaces.nsIWebProgressListener.STATE_STOP) &&
- (aStateFlags & Components.interfaces.nsIWebProgressListener.STATE_IS_DOCUMENT)) {
- var doc = this.mBrowser.contentDocument;
- var stage = doc.getElementById("stage");
- if (this.mPrerendered) {
- is(stage.textContent, "before", "The blacklisted call should properly be intercepted in prerendering mode");
- } else {
- // In normal mode, we may or may not have run the timeout and/or the interval.
- switch (stage.textContent) {
- case "after":
- case "in timeout":
- case "in interval":
- ok(true, "The blacklisted call should work fine in normal mode");
- break;
- default:
- ok(false, "The blacklisted call should work fine in normal mode");
- break;
- }
- }
- progress.removeProgressListener(progressListener);
-
- // Set three timeouts to see if the interval triggered
- var self = this;
- function checkInterval() {
- var expected = self.mPrerendered ? "before" : "in interval";
- var desc = self.mPrerendered ? "No timer should be running" : "Timers should run as normal";
- is(stage.textContent, expected, desc);
- // Now, dispatch a key event to the window and see if the keydown handler runs
- synthesizeKey("a", {}, self.mBrowser.contentWindow);
- expected = self.mPrerendered ? "before" : "keydown";
- desc = self.mPrerendered ? "No event handler should be running" : "Event handlers should run as normal";
- is(stage.textContent, expected, desc);
- self.mCallback();
- }
- setTimeout(function() {
- setTimeout(function() {
- setTimeout(function() {
- checkInterval();
- }, 0);
- }, 0);
- }, 0);
- }
- },
- onProgressChange : function(aWebProgress, aRequest,
- aCurSelfProgress, aMaxSelfProgress,
- aCurTotalProgress, aMaxTotalProgress) {},
- onLocationChange : function(aWebProgress, aRequest, aLocation, aFlags) {},
- onStatusChange : function(aWebProgress, aRequest, aStatus, aMessage) {},
- onSecurityChange : function(aWebProgress, aRequest, aState) {},
- mBrowser: null,
- mPrerendered: false,
- mCallback: null
- };
-
- var progress, progressListener;
-
- function runTest() {
- testStep(false, "file_focuser.html", function() {
- testStep(true, "file_focuser.html", function() {
- testStep(false, "file_fullScreenPropertyAccessor.html", function() {
- testStep(true, "file_fullScreenPropertyAccessor.html", function() {
- SimpleTest.finish();
- });
- });
- });
- });
- }
-
- function testStep(aPrerendered, aFileName, aCallback) {
- var browser = document.getElementById(aPrerendered ? "prerendered" : "normal");;
- progressListener = new Listener(browser, aPrerendered, aCallback);
- var docShell = browser.docShell;
- progress = docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
- .getInterface(Components.interfaces.nsIWebProgress);
- progress.addProgressListener(progressListener,
- Components.interfaces.nsIWebProgress.NOTIFY_ALL);
- browser.loadURI("chrome://mochitests/content/chrome/dom/bindings/test/" + aFileName);
- }
-
-]]>
-</script>
-
-<body id="html_body" xmlns="http://www.w3.org/1999/xhtml">
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1069719">Mozilla Bug 1069719</a>
-<p id="display"></p>
-
-<pre id="test">
-</pre>
-</body>
-<browser prerendered="true" id="prerendered"/>
-<browser id="normal"/>
-</window>
diff --git a/dom/bindings/test/test_bug1036214.html b/dom/bindings/test/test_bug1036214.html
deleted file mode 100644
index dd98eb482f..0000000000
--- a/dom/bindings/test/test_bug1036214.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1036214
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1036214</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for subsumes-checking |any| and |object| for js-implemented WebIDL. **/
- SimpleTest.waitForExplicitFinish();
- var xoObjects = [];
- function setup() {
- xoObjects.push(window[0]);
- xoObjects.push(window[0].location);
- xoObjects.push(SpecialPowers.unwrap(SpecialPowers.wrap(window[0]).document));
- xoObjects.push(SpecialPowers);
- xoObjects.push(SpecialPowers.wrap);
- SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]}, go);
- }
-
- function checkThrows(f, msg) {
- try {
- f();
- ok(false, "Should have thrown: " + msg);
- } catch (e) {
- ok(true, "Threw correctly: " + msg);
- ok(/denied|insecure/.test(e), "Threw security exception: " + e);
- }
- }
-
- function go() {
-
- //
- // Test the basics of the test interface.
- //
-
- var any = { a: 11 };
- var obj = { b: 22, c: "str" };
- var obj2 = { foo: "baz" };
- var myDict = { anyMember: 42, objectMember: { answer: 42 }, objectOrStringMember: { answer: "anobject" },
- anySequenceMember: [{}, 1, "thirdinsequence"],
- innerDictionary: { innerObject: { answer: "rabbithole" } } };
- var t = new TestInterfaceJS(any, obj, myDict);
- is(Object.getPrototypeOf(t), TestInterfaceJS.prototype, "Prototype setup works correctly");
- is(t.anyArg, any, "anyArg is correct");
- is(t.objectArg, obj, "objectArg is correct");
- is(t.dictionaryArg.anyMember, 42, "dictionaryArg looks correct");
- is(t.dictionaryArg.objectMember.answer, 42, "dictionaryArg looks correct");
- t.anyAttr = 2;
- is(t.anyAttr, 2, "ping-pong any attribute works");
- t.objAttr = obj2;
- is(t.objAttr, obj2, "ping-pong object attribute works");
- t.dictionaryAttr = myDict;
- is(t.dictionaryAttr.anyMember, 42, "ping-pong dictionary attribute works");
- is(t.dictionaryAttr.objectMember.answer, 42, "ping-pong dictionary attribute works");
-
- is(any, t.pingPongAny(any), "ping-pong works with any");
- is(obj, t.pingPongObject(obj), "ping-pong works with obj");
- is(obj, t.pingPongObjectOrString(obj), "ping-pong works with obj or string");
- is("foo", t.pingPongObjectOrString("foo"), "ping-pong works with obj or string");
- is(t.pingPongDictionary(myDict).anyMember, 42, "ping pong works with dict");
- is(t.pingPongDictionary(myDict).objectMember.answer, 42, "ping pong works with dict");
- is(t.pingPongDictionary(myDict).objectOrStringMember.answer, "anobject", "ping pong works with dict");
- is(t.pingPongDictionary(myDict).anySequenceMember[2], "thirdinsequence", "ping pong works with dict");
- is(t.pingPongDictionary(myDict).innerDictionary.innerObject.answer, "rabbithole", "ping pong works with layered dicts");
- is(t.pingPongDictionaryOrLong({anyMember: 42}), 42, "ping pong (dict or long) works with dict");
- is(t.pingPongDictionaryOrLong(42), 42, "ping pong (dict or long) works with long");
- ok(/canary/.test(t.pingPongMap({ someVal: 42, someOtherVal: "canary" })), "ping pong works with mozmap");
- is(t.objectSequenceLength([{}, {}, {}]), 3, "ping pong works with object sequence");
- is(t.anySequenceLength([42, 'string', {}, undefined]), 4, "ping pong works with any sequence");
-
- //
- // Test that we throw in the cross-origin cases.
- //
-
- xoObjects.forEach(function(xoObj) {
- var blank = new TestInterfaceJS();
- checkThrows(() => new TestInterfaceJS(xoObj, undefined), "any param for constructor");
- checkThrows(() => new TestInterfaceJS(undefined, xoObj), "obj param for constructor");
- checkThrows(() => new TestInterfaceJS(undefined, undefined, { anyMember: xoObj }), "any dict param for constructor");
- checkThrows(() => new TestInterfaceJS(undefined, undefined, { objectMember: xoObj }), "object dict param for constructor");
- checkThrows(() => new TestInterfaceJS(undefined, undefined, { objectOrStringMember: xoObj }), "union dict param for constructor");
- checkThrows(() => new TestInterfaceJS(undefined, undefined, { anySequenceMember: [0, xoObj, 'hi' ] }), "sequence dict param for constructor");
- checkThrows(() => new TestInterfaceJS(undefined, undefined, { innerDictionary: { innerObject: xoObj } }), "inner dict param for constructor");
- checkThrows(() => t.anyAttr = xoObj, "anyAttr");
- checkThrows(() => t.objectAttr = xoObj, "objAttr");
- checkThrows(() => t.dictionaryAttr = { anyMember: xoObj }, "dictionaryAttr any");
- checkThrows(() => t.dictionaryAttr = { objectMember: xoObj }, "dictionaryAttr object");
- checkThrows(() => t.pingPongAny(xoObj), "pingpong any");
- checkThrows(() => t.pingPongObject(xoObj), "pingpong obj");
- checkThrows(() => t.pingPongObjectOrString(xoObj), "pingpong union");
- checkThrows(() => t.pingPongDictionary({ anyMember: xoObj }), "dictionary pingpong any");
- checkThrows(() => t.pingPongDictionary({ objectMember: xoObj }), "dictionary pingpong object");
- checkThrows(() => t.pingPongDictionary({ anyMember: xoObj, objectMember: xoObj }), "dictionary pingpong both");
- checkThrows(() => t.pingPongDictionary({ objectOrStringMember: xoObj }), "dictionary pingpong objectorstring");
- checkThrows(() => t.pingPongDictionaryOrLong({ objectMember: xoObj }), "unionable dictionary");
- checkThrows(() => t.pingPongDictionaryOrLong({ anyMember: xoObj }), "unionable dictionary");
- checkThrows(() => t.pingPongMap({ someMember: 42, someOtherMember: {}, crossOriginMember: xoObj }), "mozmap");
- checkThrows(() => t.objectSequenceLength([{}, {}, xoObj, {}]), "object sequence");
- checkThrows(() => t.anySequenceLength([42, 'someString', xoObj, {}]), "any sequence");
- });
-
-
- SimpleTest.finish();
- }
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1036214">Mozilla Bug 1036214</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-<iframe id="ifr" onload="setup();" src="http://example.org/tests/js/xpconnect/tests/mochitest/file_empty.html"></iframe>
-</body>
-</html>
diff --git a/dom/bindings/test/test_bug1041646.html b/dom/bindings/test/test_bug1041646.html
deleted file mode 100644
index 22baed454e..0000000000
--- a/dom/bindings/test/test_bug1041646.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1041646
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1041646</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 1041646 **/
- // We need to reject the promise with a DOMException, so make sure we have
- // something that produces one.
- function throwException() {
- document.createTextNode("").appendChild(document);
- }
- try {
- throwException();
- } catch (e) {
- ok(e instanceof DOMException, "This test won't test what it should be testing");
- }
-
- SimpleTest.waitForExplicitFinish();
-
- // We want a new DOMException each time here.
- for (var i = 0; i < 100; ++i) {
- new Promise(throwException);
- }
-
- // Now make sure we wait for all those promises above to reject themselves
- Promise.resolve(1).then(function() {
- SpecialPowers.gc(); // This should not assert or crash
- SimpleTest.finish();
- });
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1041646">Mozilla Bug 1041646</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_bug1123516_maplikesetlike.html b/dom/bindings/test/test_bug1123516_maplikesetlike.html
deleted file mode 100644
index 18ede38ace..0000000000
--- a/dom/bindings/test/test_bug1123516_maplikesetlike.html
+++ /dev/null
@@ -1,271 +0,0 @@
-<!-- Any copyright is dedicated to the Public Domain.
-- http://creativecommons.org/publicdomain/zero/1.0/ -->
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>Test Maplike Interface</title>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
- </head>
- <body>
- <script class="testbody" type="application/javascript">
- SimpleTest.waitForExplicitFinish();
- SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]}, function() {
-
- base_properties = [["has", "function", 1],
- ["entries", "function", 0],
- ["keys", "function", 0],
- ["values", "function", 0],
- ["forEach", "function", 1],
- ["size", "number"]];
- maplike_properties = base_properties.concat([["set", "function", 2]]);
- setlike_properties = base_properties;
- rw_properties = [["clear", "function", 0],
- ["delete", "function", 1]];
- setlike_rw_properties = base_properties.concat(rw_properties).concat([["add", "function", 1]]);
- maplike_rw_properties = maplike_properties.concat(rw_properties).concat([["get", "function",1]]);
- var testExistence = function testExistence(prefix, obj, properties) {
- for (var [name, type, args] of properties) {
- // Properties are somewhere up the proto chain, hasOwnProperty won't work
- isnot(obj[name], undefined,
- `${prefix} object has property ${name}`);
-
- is(typeof obj[name], type,
- `${prefix} object property ${name} is a ${type}`);
- // Check function length
- if (type == "function") {
- is(obj[name].length, args,
- `${prefix} object property ${name} is length ${args}`);
- is(obj[name].name, name,
- `${prefix} object method name is ${name}`);
- }
-
- // Find where property is on proto chain, check for enumerablility there.
- var owner = obj;
- while (owner) {
- var propDesc = Object.getOwnPropertyDescriptor(owner, name);
- if (propDesc) {
- ok(!propDesc.enumerable,
- `${prefix} object property ${name} is not enumerable`);
- break;
- }
- owner = Object.getPrototypeOf(owner);
- }
- }
- }
-
- var m;
- var testSet;
- var testIndex;
- // Simple map creation and functionality test
- info("SimpleMap: Testing simple map creation and functionality");
- m = new TestInterfaceMaplike();
- ok(m, "SimpleMap: got a TestInterfaceMaplike object");
- testExistence("SimpleMap: ", m, maplike_rw_properties);
- is(m.size, 0, "SimpleMap: size should be zero");
- ok(!m.has("test"), "SimpleMap: maplike has should return false");
- is(m.get("test"), undefined, "SimpleMap: maplike get should return undefined on bogus lookup");
- m1 = m.set("test", 1);
- is(m, m1, "SimpleMap: return from set should be map object");
- is(m.size, 1, "SimpleMap: size should be 1");
- ok(m.has("test"), "SimpleMap: maplike has should return true");
- is(m.get("test"), 1, "SimpleMap: maplike get should return value entered");
- m2 = m.set("test2", 2);
- is(m.size, 2, "SimpleMap: size should be 2");
- testSet = [["test", 1], ["test2", 2]];
- testIndex = 0;
- m.forEach(function(v, k, o) {
- "use strict";
- is(o, m, "SimpleMap: foreach obj is correct");
- is(k, testSet[testIndex][0], "SimpleMap: foreach map key: " + k + " = " + testSet[testIndex][0]);
- is(v, testSet[testIndex][1], "SimpleMap: foreach map value: " + v + " = " + testSet[testIndex][1]);
- testIndex += 1;
- });
- is(testIndex, 2, "SimpleMap: foreach ran correct number of times");
- ok(m.has("test2"), "SimpleMap: maplike has should return true");
- is(m.get("test2"), 2, "SimpleMap: maplike get should return value entered");
- is(m.delete("test2"), true, "SimpleMap: maplike deletion should return boolean");
- is(m.size, 1, "SimpleMap: size should be 1");
- iterable = false;
- for (var e of m) {
- iterable = true;
- is(e[0], "test", "SimpleMap: iterable first array element should be key");
- is(e[1], 1, "SimpleMap: iterable second array element should be value");
- }
- is(m[Symbol.iterator].length, 0, "SimpleMap: @@iterator symbol is correct length");
- is(m[Symbol.iterator].name, "entries", "SimpleMap: @@iterator symbol has correct name");
- is(m[Symbol.iterator], m.entries, 'SimpleMap: @@iterator is an alias for "entries"');
- ok(iterable, "SimpleMap: @@iterator symbol resolved correctly");
- for (var k of m.keys()) {
- is(k, "test", "SimpleMap: first keys element should be 'test'");
- }
- for (var v of m.values()) {
- is(v, 1, "SimpleMap: first values elements should be 1");
- }
- for (var e of m.entries()) {
- is(e[0], "test", "SimpleMap: entries first array element should be 'test'");
- is(e[1], 1, "SimpleMap: entries second array element should be 1");
- }
- m.clear();
- is(m.size, 0, "SimpleMap: size should be 0 after clear");
-
- // Simple set creation and functionality test
- info("SimpleSet: Testing simple set creation and functionality");
- m = new TestInterfaceSetlike();
- ok(m, "SimpleSet: got a TestInterfaceSetlike object");
- testExistence("SimpleSet: ", m, setlike_rw_properties);
- is(m.size, 0, "SimpleSet: size should be zero");
- ok(!m.has("test"), "SimpleSet: maplike has should return false");
- m1 = m.add("test");
- is(m, m1, "SimpleSet: return from set should be map object");
- is(m.size, 1, "SimpleSet: size should be 1");
- ok(m.has("test"), "SimpleSet: maplike has should return true");
- m2 = m.add("test2");
- is(m.size, 2, "SimpleSet: size should be 2");
- testSet = ["test", "test2"];
- testIndex = 0;
- m.forEach(function(v, k, o) {
- "use strict";
- is(o, m, "SimpleSet: foreach obj is correct");
- is(k, testSet[testIndex], "SimpleSet: foreach set key: " + k + " = " + testSet[testIndex]);
- testIndex += 1;
- });
- is(testIndex, 2, "SimpleSet: foreach ran correct number of times");
- ok(m.has("test2"), "SimpleSet: maplike has should return true");
- is(m.delete("test2"), true, "SimpleSet: maplike deletion should return true");
- is(m.size, 1, "SimpleSet: size should be 1");
- iterable = false;
- for (var e of m) {
- iterable = true;
- is(e, "test", "SimpleSet: iterable first array element should be key");
- }
- is(m[Symbol.iterator].length, 0, "SimpleSet: @@iterator symbol is correct length");
- is(m[Symbol.iterator].name, "values", "SimpleSet: @@iterator symbol has correct name");
- is(m[Symbol.iterator], m.values, 'SimpleSet: @@iterator is an alias for "values"');
- ok(iterable, "SimpleSet: @@iterator symbol resolved correctly");
- for (var k of m.keys()) {
- is(k, "test", "SimpleSet: first keys element should be 'test'");
- }
- for (var v of m.values()) {
- is(v, "test", "SimpleSet: first values elements should be 'test'");
- }
- for (var e of m.entries()) {
- is(e[0], "test", "SimpleSet: Entries first array element should be 'test'");
- is(e[1], "test", "SimpleSet: Entries second array element should be 'test'");
- }
- m.clear();
- is(m.size, 0, "SimpleSet: size should be 0 after clear");
-
- // Map convenience function test
- info("Testing map convenience functions");
- m = new TestInterfaceMaplike();
- ok(m, "MapConvenience: got a TestInterfaceMaplike object");
- is(m.size, 0, "MapConvenience: size should be zero");
- ok(!m.hasInternal("test"), "MapConvenience: maplike hasInternal should return false");
- m.setInternal("test", 1);
- is(m.size, 1, "MapConvenience: size should be 1");
- ok(m.hasInternal("test"), "MapConvenience: maplike hasInternal should return true");
- is(m.get("test"), 1, "MapConvenience: maplike get should return value entered");
- m2 = m.setInternal("test2", 2);
- is(m.size, 2, "size should be 2");
- ok(m.hasInternal("test2"), "MapConvenience: maplike hasInternal should return true");
- is(m.get("test2"), 2, "MapConvenience: maplike get should return value entered");
- is(m.deleteInternal("test2"), true, "MapConvenience: maplike deleteInternal should return true");
- is(m.size, 1, "MapConvenience: size should be 1");
- m.clearInternal();
- is(m.size, 0, "MapConvenience: size should be 0 after clearInternal");
-
- // Map convenience function test using objects and readonly
-
- info("Testing Map convenience function test using objects and readonly");
- m = new TestInterfaceMaplikeObject();
- ok(m, "ReadOnlyMapConvenience: got a TestInterfaceMaplikeObject object");
- is(m.size, 0, "ReadOnlyMapConvenience: size should be zero");
- is(m["set"], undefined, "ReadOnlyMapConvenience: readonly map, should be no set function");
- is(m["clear"], undefined, "ReadOnlyMapConvenience: readonly map, should be no clear function");
- is(m["delete"], undefined, "ReadOnlyMapConvenience: readonly map, should be no delete function");
- ok(!m.hasInternal("test"), "ReadOnlyMapConvenience: maplike hasInternal should return false");
- m.setInternal("test");
- is(m.size, 1, "size should be 1");
- ok(m.hasInternal("test"), "ReadOnlyMapConvenience: maplike hasInternal should return true");
- m2 = m.setInternal("test2");
- is(m.size, 2, "size should be 2");
- ok(m.hasInternal("test2"), "ReadOnlyMapConvenience: maplike hasInternal should return true");
- is(m.deleteInternal("test2"), true, "ReadOnlyMapConvenience: maplike deleteInternal should return true");
- is(m.size, 1, "ReadOnlyMapConvenience: size should be 1");
- m.clearInternal();
- is(m.size, 0, "ReadOnlyMapConvenience: size should be 0 after clearInternal");
-
- // JS implemented map creation convenience function test
-
- info("JSMapConvenience: Testing JS implemented map creation convenience functions");
- m = new TestInterfaceJSMaplike();
- ok(m, "JSMapConvenience: got a TestInterfaceJSMaplike object");
- is(m.size, 0, "JSMapConvenience: size should be zero");
- ok(!m.has("test"), "JSMapConvenience: maplike has should return false");
- m.setInternal("test", 1);
- is(m.size, 1, "JSMapConvenience: size should be 1");
- ok(m.has("test"), "JSMapConvenience: maplike has should return true");
- is(m.get("test"), 1, "JSMapConvenience: maplike get should return value entered");
- m2 = m.setInternal("test2", 2);
- is(m.size, 2, "JSMapConvenience: size should be 2");
- ok(m.has("test2"), "JSMapConvenience: maplike has should return true");
- is(m.get("test2"), 2, "JSMapConvenience: maplike get should return value entered");
- is(m.deleteInternal("test2"), true, "JSMapConvenience: maplike deleteInternal should return true");
- is(m.size, 1, "JSMapConvenience: size should be 1");
- for (var k of m.keys()) {
- is(k, "test", "JSMapConvenience: first keys element should be 'test'");
- }
- for (var v of m.values()) {
- is(v, 1, "JSMapConvenience: first values elements should be 1");
- }
- for (var e of m.entries()) {
- is(e[0], "test", "JSMapConvenience: entries first array element should be 'test'");
- is(e[1], 1, "JSMapConvenience: entries second array element should be 1");
- }
- m.clearInternal();
- is(m.size, 0, "JSMapConvenience: size should be 0 after clearInternal");
-
- // Test this override for forEach
- info("ForEachThisOverride: Testing this override for forEach");
- m = new TestInterfaceMaplike();
- m.set("test", 1);
- m.forEach(function(v, k, o) {
- "use strict";
- is(o, m, "ForEachThisOverride: foreach obj is correct");
- is(this, 5, "ForEachThisOverride: 'this' value should be correct");
- }, 5);
-
- // Test defaulting arguments on maplike to undefined
- info("MapArgsDefault: Testing maplike defaulting arguments to undefined");
- m = new TestInterfaceMaplike();
- m.set();
- is(m.size, 1, "MapArgsDefault: should have 1 entry");
- m.forEach(function(v, k) {
- "use strict";
- is(typeof k, "string", "MapArgsDefault: key is a string");
- is(k, "undefined", "MapArgsDefault: key is the string undefined");
- is(v, 0, "MapArgsDefault: value is 0");
- });
- is(m.get(), 0, "MapArgsDefault: no argument to get() returns correct value");
- m.delete();
- is(m.size, 0, "MapArgsDefault: should have 0 entries");
-
- // Test defaulting arguments on setlike to undefined
- info("SetArgsDefault: Testing setlike defaulting arguments to undefined");
- m = new TestInterfaceSetlike();
- m.add();
- is(m.size, 1, "SetArgsDefault: should have 1 entry");
- m.forEach(function(v, k) {
- "use strict";
- is(typeof k, "string", "SetArgsDefault: key is a string");
- is(k, "undefined", "SetArgsDefault: key is the string undefined");
- });
- m.delete();
- is(m.size, 0, "SetArgsDefault: should have 0 entries");
-
- SimpleTest.finish();
- });
- </script>
- </body>
-</html>
diff --git a/dom/bindings/test/test_bug1123516_maplikesetlikechrome.xul b/dom/bindings/test/test_bug1123516_maplikesetlikechrome.xul
deleted file mode 100644
index 4bc45cdddc..0000000000
--- a/dom/bindings/test/test_bug1123516_maplikesetlikechrome.xul
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/css" href="chrome://global/skin"?>
-<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1123516
--->
-<window title="Mozilla Bug 1123516"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <iframe id="t"></iframe>
-
- <!-- test results are displayed in the html:body -->
- <body xmlns="http://www.w3.org/1999/xhtml">
- <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1123516"
- target="_blank">Mozilla Bug 1123516</a>
- </body>
-
- <!-- test code goes here -->
- <script type="application/javascript">
- <![CDATA[
-
- /** Test for Bug 1123516 **/
- const Cu = Components.utils;
- function doTest() {
- var win = $("t").contentWindow;
- var sandbox = Components.utils.Sandbox(win, { sandboxPrototype: win });
- is(sandbox._content, undefined, "_content does nothing over Xray");
- // Test cross-compartment usage of maplike/setlike WebIDL structures.
- SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]}, function() {
- try {
- var maplike = Components.utils.evalInSandbox("var m = new TestInterfaceMaplike(); m;", sandbox);
- maplike.set("test2", 2);
- is(maplike.get("test2"), 2, "Should be able to create and use maplike/setlike across compartments");
- var test = Components.utils.evalInSandbox("m.get('test2');", sandbox);
- is(test, 2, "Maplike/setlike should still work in original compartment");
- is(maplike.size, 1, "Testing size retrieval across compartments");
- } catch(e) {
- ok(false, "Shouldn't throw when working with cross-compartment maplike/setlike interfaces " + e)
- };
- try {
- var setlike = Components.utils.evalInSandbox("var m = new TestInterfaceSetlikeNode(); m.add(document.documentElement); m;", sandbox);
- is(TestInterfaceSetlikeNode.prototype.has.call(setlike, win.document.documentElement), true,
- "Cross-compartment unwrapping/comparison has works");
- // TODO: Should throw until iterators are handled by Xrays, Bug 1023984
- try {
- var e = TestInterfaceSetlikeNode.prototype.keys.call(setlike);
- ok(false, "Calling iterators via xrays should fail");
- } catch(e) {
- ok(true, "Calling iterators via xrays should fail");
- }
-
- setlike.forEach((v,k,t) => { is(v, win.document.documentElement, "Cross-compartment forEach works"); });
- TestInterfaceSetlikeNode.prototype.forEach.call(setlike,
- (v,k,t) => { is(v, win.document.documentElement, "Cross-compartment forEach works"); });
- is(TestInterfaceSetlikeNode.prototype.delete.call(setlike, win.document.documentElement), true,
- "Cross-compartment unwrapping/comparison delete works");
- } catch(e) {
- ok(false, "Shouldn't throw when working with cross-compartment maplike/setlike interfaces " + e)
- };
- SimpleTest.finish();
- });
- }
-
- SimpleTest.waitForExplicitFinish();
- addLoadEvent(doTest);
- ]]>
- </script>
-</window>
diff --git a/dom/bindings/test/test_bug1123875.html b/dom/bindings/test/test_bug1123875.html
deleted file mode 100644
index 5658091c44..0000000000
--- a/dom/bindings/test/test_bug1123875.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html>
-<meta charset=utf-8>
-<title>Test for Bug 1123875</title>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<div id=log></div>
-<script>
- test(() => {
- assert_throws(new TypeError, () => {
- "use strict";
- document.childNodes.length = 0;
- });
- }, "setting a readonly attribute on a proxy in strict mode should throw a TypeError");
-</script>
diff --git a/dom/bindings/test/test_bug1287912.html b/dom/bindings/test/test_bug1287912.html
deleted file mode 100644
index ae72b23165..0000000000
--- a/dom/bindings/test/test_bug1287912.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1287912
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1287912</title>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1287912">Mozilla Bug 1287912</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-<iframe id="t" src="http://example.org/tests/dom/bindings/test/"></iframe>
-</div>
-<pre id="test">
-<script type="application/javascript">
-function test()
-{
- var win = document.getElementById("t").contentWindow;
- is(Object.getPrototypeOf(win.Image), win.Function.prototype, "The __proto__ of a named constructor is Function.prototype");
- is(win.Image.prototype, win.HTMLImageElement.prototype, "The prototype property of a named constructor is the interface prototype object");
- is(win.HTMLImageElement['foo'], undefined, "Should not have a property named foo on the HTMLImageElement interface object");
- is(win.Image['foo'], undefined, "Should not have a property named foo on the Image named constructor");
-
- SimpleTest.finish();
-}
-
-SimpleTest.waitForExplicitFinish();
-addLoadEvent(test);
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_bug560072.html b/dom/bindings/test/test_bug560072.html
deleted file mode 100644
index 0eebff1160..0000000000
--- a/dom/bindings/test/test_bug560072.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=560072
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 560072</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=560072">Mozilla Bug 560072</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 560072 **/
-is(document.body,
- Object.getOwnPropertyDescriptor(Document.prototype, "body").get.call(document),
- "Should get body out of property descriptor");
-
-is(document.body,
- Object.getOwnPropertyDescriptor(
- Object.getPrototypeOf(Object.getPrototypeOf(document)), "body").get.call(document),
- "Should get body out of property descriptor this way too");
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_bug742191.html b/dom/bindings/test/test_bug742191.html
deleted file mode 100644
index b4b3151d77..0000000000
--- a/dom/bindings/test/test_bug742191.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=742191
--->
-<head>
- <meta charset="utf-8">
- <title>Test for invalid argument object</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=742191">Mozilla Bug 742191</a>
-<p id="display"></p>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 742191 **/
-function doTest() {
- var gotTypeError = false;
- var ctx = document.createElement("canvas").getContext("2d");
- try {
- ctx.drawImage({}, 0, 0);
- } catch(e) {
- if (e instanceof TypeError) {
- gotTypeError = true;
- }
- }
-
- ok(gotTypeError, "passing an invalid argument should cause a type error!");
-}
-doTest();
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_bug759621.html b/dom/bindings/test/test_bug759621.html
deleted file mode 100644
index 602a0cd7cd..0000000000
--- a/dom/bindings/test/test_bug759621.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=759621
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 759621</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=759621">Mozilla Bug 759621</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 759621 **/
-var l = document.getElementsByTagName("*");
-l.namedItem = "pass";
-is(l.namedItem, "pass", "Should be able to set expando shadowing a proto prop");
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_bug773326.html b/dom/bindings/test/test_bug773326.html
deleted file mode 100644
index 2e3b1ea304..0000000000
--- a/dom/bindings/test/test_bug773326.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!doctype html>
-<meta charset=utf-8>
-<title>Test for Bug 773326</title>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<div id=log></div>
-<script>
-test(function() {
- new Worker("data:text/javascript,new XMLHttpRequest(42)");
-}, "Should not crash")
-</script>
diff --git a/dom/bindings/test/test_bug775543.html b/dom/bindings/test/test_bug775543.html
deleted file mode 100644
index d8df05f630..0000000000
--- a/dom/bindings/test/test_bug775543.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=775543
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 775543</title>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=775543">Mozilla Bug 775543</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-<iframe id="t" src="http://example.org/tests/dom/bindings/test/file_bug775543.html" onload="test();"></iframe>
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 775543 **/
-
-function test()
-{
- var a = XPCNativeWrapper(document.getElementById("t").contentWindow.wrappedJSObject.worker);
- isnot(XPCNativeWrapper.unwrap(a), a, "XPCNativeWrapper(Worker) should be an Xray wrapper");
- a.toString();
- ok(true, "Shouldn't crash when calling a method on an Xray wrapper around a worker");
- SimpleTest.finish();
-}
-
-SimpleTest.waitForExplicitFinish();
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_bug788369.html b/dom/bindings/test/test_bug788369.html
deleted file mode 100644
index 787bd28fe3..0000000000
--- a/dom/bindings/test/test_bug788369.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=788369
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 788369</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=788369">Mozilla Bug 788369</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 788369 **/
-try {
- var xhr = new(window.ActiveXObject || XMLHttpRequest)("Microsoft.XMLHTTP");
- ok(xhr instanceof XMLHttpRequest, "Should have an XHR object");
-} catch (e) {
- ok(false, "Should not throw exception when constructing: " + e);
-}
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_bug852846.html b/dom/bindings/test/test_bug852846.html
deleted file mode 100644
index 0ca2c7dad4..0000000000
--- a/dom/bindings/test/test_bug852846.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=852846
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 852846</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 852846 **/
- var elem = document.createElement("div");
- is(elem.style.color, "", "Shouldn't have color set on HTML element")
- elem.style = "color: green";
- is(elem.style.color, "green", "Should have color set on HTML element")
-
- elem = document.createElementNS("http://www.w3.org/2000/svg", "svg");
- is(elem.style.color, "", "Shouldn't have color set on SVG element")
- elem.style = "color: green";
- is(elem.style.color, "green", "Should have color set on SVG element")
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=852846">Mozilla Bug 852846</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_bug862092.html b/dom/bindings/test/test_bug862092.html
deleted file mode 100644
index 4b06333281..0000000000
--- a/dom/bindings/test/test_bug862092.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=862092
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 862092</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 862092 **/
-
- SimpleTest.waitForExplicitFinish();
- function runTest()
- {
- var frameDoc = document.getElementById("f").contentDocument;
- var a = document.createElement("select");
- a.expando = "test";
- a = frameDoc.adoptNode(a)
- is(a.expando, "test", "adoptNode needs to preserve expandos");
- SimpleTest.finish();
- }
-
- </script>
-</head>
-<body onload="runTest();">
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=862092">Mozilla Bug 862092</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-<iframe id="f"></iframe>
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_bug963382.html b/dom/bindings/test/test_bug963382.html
deleted file mode 100644
index f48d2e8b0f..0000000000
--- a/dom/bindings/test/test_bug963382.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=963382
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 963382</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for clearing cache attributes in JS-implemented WebIDL implementations. **/
- SimpleTest.waitForExplicitFinish();
- SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]}, go);
-
- function go() {
- var t = new TestInterfaceJS();
-
- // Test [Cached] attribute clearing.
- is(t.cachedAttr, 15, "Initial value of number");
-
- t.setCachedAttr(3);
- is(t.cachedAttr, 15, "Setting the number on the inner JS object should not affect cached value");
-
- t.clearCachedAttrCache();
- is(t.cachedAttr, 3, "Setting the number on the inner JS object should affect cached value after clearing the cache.");
-
- SimpleTest.finish();
- }
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=963382">Mozilla Bug 963382</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_callback_across_document_open.html b/dom/bindings/test/test_callback_across_document_open.html
deleted file mode 100644
index 2a505cefab..0000000000
--- a/dom/bindings/test/test_callback_across_document_open.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>Test for callback invocation for a callback that comes from a
- no-longer-current window that still has an active document.</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<div id="log"></div>
-<iframe srcdoc='<script>function f() { parent.callCount++; }</script>'></iframe>
-<script>
- var callCount = 0;
- var t = async_test("A test of callback invocation in a no-longer-current window with a still-active document");
- window.addEventListener("load", t.step_func_done(function() {
- var d = document.createElement("div");
- d.addEventListener("xyz", frames[0].f);
- frames[0].document.open();
- frames[0].document.write("All gone");
- frames[0].document.close();
- d.dispatchEvent(new Event("xyz"));
- assert_equals(callCount, 1, "Callback should have been called");
- }));
-</script>
diff --git a/dom/bindings/test/test_callback_default_thisval.html b/dom/bindings/test/test_callback_default_thisval.html
deleted file mode 100644
index d98ed87b25..0000000000
--- a/dom/bindings/test/test_callback_default_thisval.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=957929
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 957929</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 957929 **/
- SimpleTest.waitForExplicitFinish();
-
- function f() {
- "use strict";
- is(this, undefined, "Should have undefined this value");
- SimpleTest.finish();
- }
-
- addLoadEvent(function() {
- requestAnimationFrame(f);
- });
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=957929">Mozilla Bug 957929</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_callback_exceptions.html b/dom/bindings/test/test_callback_exceptions.html
deleted file mode 100644
index a40b0b94fa..0000000000
--- a/dom/bindings/test/test_callback_exceptions.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>Test for ...</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<div id="log"></div>
-<script>
-promise_test(function(t) {
- var iterator = document.createNodeIterator(document, NodeFilter.SHOW_ALL, JSON.parse);
- return promise_rejects(t, new SyntaxError,
- Promise.resolve().then(iterator.nextNode.bind(iterator)));
-}, "Trying to use JSON.parse as filter should throw a catchable SyntaxError exception even when the filter is invoked async");
-
-promise_test(function(t) {
- return promise_rejects(t, new SyntaxError, Promise.resolve('{').then(JSON.parse));
-}, "Trying to use JSON.parse as a promise callback should allow the next promise to handle the resulting exception.");
-</script>
diff --git a/dom/bindings/test/test_cloneAndImportNode.html b/dom/bindings/test/test_cloneAndImportNode.html
deleted file mode 100644
index fc53c87476..0000000000
--- a/dom/bindings/test/test_cloneAndImportNode.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=882541
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 882541</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 882541 **/
- var div = document.createElement("div");
- div.appendChild(document.createElement("span"));
-
- var div2;
-
- div2 = div.cloneNode();
- is(div2.childNodes.length, 0, "cloneNode() should do a shallow clone");
-
- div2 = div.cloneNode(undefined);
- is(div2.childNodes.length, 0, "cloneNode(undefined) should do a shallow clone");
-
- div2 = div.cloneNode(true);
- is(div2.childNodes.length, 1, "cloneNode(true) should do a deep clone");
-
- div2 = document.importNode(div);
- is(div2.childNodes.length, 0, "importNode(node) should do a deep import");
-
- div2 = document.importNode(div, undefined);
- is(div2.childNodes.length, 0, "importNode(undefined) should do a shallow import");
-
- div2 = document.importNode(div, true);
- is(div2.childNodes.length, 1, "importNode(true) should do a deep import");
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=882541">Mozilla Bug 882541</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_crossOriginWindowSymbolAccess.html b/dom/bindings/test/test_crossOriginWindowSymbolAccess.html
deleted file mode 100644
index 7808631b6b..0000000000
--- a/dom/bindings/test/test_crossOriginWindowSymbolAccess.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>Test for accessing symbols on a cross-origin window</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<div id="log"></div>
-<iframe src="http://www1.w3c-test.org/common/blank.html"></iframe>
-<script>
-async_test(function (t) {
- window.addEventListener("load", t.step_func(
- function() {
- assert_equals(document.querySelector("iframe").contentDocument, null, "Should have a crossorigin frame");
- assert_throws(new Error(), function() {
- frames[0][Symbol.iterator];
- }, "Should throw exception on cross-origin Window symbol-named get");
- assert_throws(new Error(), function() {
- frames[0].location[Symbol.iterator];
- }, "Should throw exception on cross-origin Location symbol-named get");
- t.done();
- }
- ));
-}, "Check Symbol access on load");
-</script>
diff --git a/dom/bindings/test/test_defineProperty.html b/dom/bindings/test/test_defineProperty.html
deleted file mode 100644
index f8f5f6283e..0000000000
--- a/dom/bindings/test/test_defineProperty.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=910220
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 910220</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=910220">Mozilla Bug 910220</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-<form name="x"></form>
-</div>
-<pre id="test">
-</pre>
-<script type="application/javascript">
-
-/** Test for Bug 910220 **/
-
-function getX() {
- return "x";
-}
-
-function namedSetStrict(obj) {
- "use strict";
- var threw;
- try {
- obj.x = 5;
- threw = false;
- } catch (e) {
- threw = true;
- }
- ok(threw,
- "Should throw in strict mode when setting named property on " + obj);
-
- try {
- obj[getX()] = 5;
- threw = false;
- } catch (e) {
- threw = true;
- }
- ok(threw,
- "Should throw in strict mode when setting named property via SETELEM on " + obj);
-
- try {
- Object.defineProperty(obj, "x", { value: 17 });
- threw = false;
- } catch (e) {
- threw = true;
- }
- ok(threw,
- "Should throw in strict mode when defining named property on " + obj);
-}
-function namedSetNonStrict(obj) {
- var threw;
- try {
- obj.x = 5;
- threw = false;
- } catch (e) {
- threw = true;
- }
- ok(!threw,
- "Should not throw in non-strict mode when setting named property on " + obj);
-
- try {
- obj[getX()] = 5;
- threw = false;
- } catch (e) {
- threw = true;
- }
- ok(!threw,
- "Should not throw in non-strict mode when setting named property via SETELEM on" + obj);
-
- try {
- Object.defineProperty(obj, "x", { value: 17 });
- threw = false;
- } catch (e) {
- threw = true;
- }
- ok(threw,
- "Should throw in non-strict mode when defining named property on " + obj);
-}
-for (var obj of [ document, document.forms ]) {
- namedSetStrict(obj);
- namedSetNonStrict(obj);
-}
-
-function indexedSetStrict(obj) {
- "use strict";
- var threw;
- try {
- obj[0] = 5;
- threw = false;
- } catch (e) {
- threw = true;
- }
- ok(threw,
- "Should throw in strict mode when setting indexed property on " + obj);
-
- try {
- obj[1000] = 5;
- threw = false;
- } catch (e) {
- threw = true;
- }
- ok(threw,
- "Should throw in strict mode when setting out of bounds indexed property on " + obj);
-
- try {
- Object.defineProperty(obj, "0", { value: 17 });
- threw = false;
- } catch (e) {
- threw = true;
- }
- ok(threw,
- "Should throw in strict mode when defining indexed property on " + obj);
-}
-function indexedSetNonStrict(obj) {
- var threw;
- try {
- obj[0] = 5;
- threw = false;
- } catch (e) {
- threw = true;
- }
- ok(!threw,
- "Should not throw in non-strict mode when setting indexed property on " + obj);
-
- try {
- obj[1000] = 5;
- threw = false;
- } catch (e) {
- threw = true;
- }
- ok(!threw,
- "Should not throw in non-strict mode when setting out of bounds indexed property on " + obj);
-
- try {
- Object.defineProperty(obj, "0", { value: 17 });
- threw = false;
- } catch (e) {
- threw = true;
- }
- ok(threw,
- "Should throw in non-strict mode when defining indexed property on " + obj);
-}
-for (var obj of [ document.forms, document.childNodes ]) {
- indexedSetStrict(obj);
- indexedSetNonStrict(obj);
-}
-</script>
-</body>
-</html>
diff --git a/dom/bindings/test/test_document_location_set_via_xray.html b/dom/bindings/test/test_document_location_set_via_xray.html
deleted file mode 100644
index cdadc50639..0000000000
--- a/dom/bindings/test/test_document_location_set_via_xray.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=905493
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 905493</title>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=905493">Mozilla Bug 905493</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-<iframe id="t" src="http://example.org/tests/dom/bindings/test/file_document_location_set_via_xray.html"></iframe>
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 905493 **/
-
-function test()
-{
- var doc = document.getElementById("t").contentWindow.document;
- ok(!("x" in doc), "Should have an Xray here");
- is(doc.x, undefined, "Really should have an Xray here");
- is(doc.wrappedJSObject.x, 5, "And wrapping the right thing");
- document.getElementById("t").onload = function() {
- ok(true, "Load happened");
- SimpleTest.finish();
- };
- try {
- // Test the forwarding location setter
- doc.location = "chrome://mochikit/content/tests/SimpleTest/test.css";
- } catch (e) {
- // Load failed
- ok(false, "Load failed");
- SimpleTest.finish();
- }
-}
-
-SimpleTest.waitForExplicitFinish();
-addLoadEvent(test);
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_document_location_via_xray_cached.html b/dom/bindings/test/test_document_location_via_xray_cached.html
deleted file mode 100644
index 20eef10fbe..0000000000
--- a/dom/bindings/test/test_document_location_via_xray_cached.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1041731
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1041731</title>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1041731">Mozilla Bug 1041731</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-<iframe id="t" src="http://example.org/tests/dom/bindings/test/file_document_location_set_via_xray.html"></iframe>
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 1041731 **/
-
-function test()
-{
- var loc = document.getElementById("t").contentWindow.document.location;
- is(loc.toString, loc.toString, "Unforgeable method on the Xray should be cached");
- SimpleTest.finish();
-}
-
-SimpleTest.waitForExplicitFinish();
-addLoadEvent(test);
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_domProxyArrayLengthGetter.html b/dom/bindings/test/test_domProxyArrayLengthGetter.html
deleted file mode 100644
index a62adff2ed..0000000000
--- a/dom/bindings/test/test_domProxyArrayLengthGetter.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1221421
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1221421</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="text/javascript">
-
- var x = document.documentElement.style;
- x.__proto__ = [1, 2, 3];
-
- var res = 0;
- for (var h = 0; h < 5000; ++h) {
- res += x.length;
- }
- is(res, 15000, "length getter should return array length");
-
- </script>
-</head>
-
-<body>
- <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1221421">Mozilla Bug 1221421</a>
-</body>
-</html>
diff --git a/dom/bindings/test/test_dom_xrays.html b/dom/bindings/test/test_dom_xrays.html
deleted file mode 100644
index 15d7013ade..0000000000
--- a/dom/bindings/test/test_dom_xrays.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=787070
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 787070</title>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=787070">Mozilla Bug 787070</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-<iframe id="t" src="http://example.org/tests/dom/bindings/test/file_dom_xrays.html"></iframe>
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 1021066 **/
-
-var Cu = Components.utils;
-
-// values should contain the values that the property should have on each of
-// the objects on the prototype chain of obj. A value of undefined signals
-// that the value should not be present on that prototype.
-function checkXrayProperty(obj, name, values)
-{
- var instance = obj;
- do {
- var value = values.shift();
- if (typeof value == "undefined") {
- ok(!obj.hasOwnProperty(name), "hasOwnProperty shouldn't see \"" + name + "\" through Xrays");
- is(Object.getOwnPropertyDescriptor(obj, name), undefined, "getOwnPropertyDescriptor shouldn't see \"" + name + "\" through Xrays");
- ok(Object.keys(obj).indexOf(name) == -1, "Enumerating the Xray should not return \"" + name + "\"");
- } else {
- ok(obj.hasOwnProperty(name), "hasOwnProperty should see \"" + name + "\" through Xrays");
- var pd = Object.getOwnPropertyDescriptor(obj, name);
- ok(pd, "getOwnPropertyDescriptor should see \"" + name + "\" through Xrays");
- if (pd && pd.get) {
- is(pd.get.call(instance), value, "Should get the right value for \"" + name + "\" through Xrays");
- } else {
- is(obj[name], value, "Should get the right value for \"" + name + "\" through Xrays");
- }
- if (pd && pd.enumerable) {
- ok(Object.keys(obj).indexOf("" + name) > -1, "Enumerating the Xray should return \"" + name + "\"");
- }
- }
- } while ((obj = Object.getPrototypeOf(obj)));
-}
-
-function checkWindowXrayProperty(obj, name, windowValue, windowPrototypeValue, namedPropertiesValue, eventTargetValue)
-{
- checkXrayProperty(obj, name, [ windowValue, windowPrototypeValue, namedPropertiesValue, eventTargetValue ]);
-}
-
-function test()
-{
- // Window
- var win = document.getElementById("t").contentWindow;
- var doc = document.getElementById("t").contentDocument;
-
- var winProto = Object.getPrototypeOf(win);
- is(winProto, win.Window.prototype, "The proto chain of the Xray should mirror the prototype chain of the Xrayed object");
-
- var namedPropertiesObject = Object.getPrototypeOf(winProto);
- is(Cu.getClassName(namedPropertiesObject, /* unwrap = */ true), "WindowProperties", "The proto chain of the Xray should mirror the prototype chain of the Xrayed object");
-
- var eventTargetProto = Object.getPrototypeOf(namedPropertiesObject);
- is(eventTargetProto, win.EventTarget.prototype, "The proto chain of the Xray should mirror the prototype chain of the Xrayed object");
-
- // Xrays need to filter expandos.
- checkWindowXrayProperty(win, "expando", undefined);
- ok(!("expando" in win), "Xrays should filter expandos");
-
- checkWindowXrayProperty(win, "shadowedIframe", undefined, undefined, doc.getElementById("shadowedIframe").contentWindow);
- ok("shadowedIframe" in win, "Named properties should be exposed through Xrays");
-
- // Named properties live on the named properties object for global objects.
- checkWindowXrayProperty(win, "iframe", undefined, undefined, doc.getElementById("iframe").contentWindow);
- ok("iframe" in win, "Named properties should be exposed through Xrays");
-
- // Window properties live on the instance, shadowing the properties of the named property object.
- checkWindowXrayProperty(win, "document", doc, undefined, doc.getElementById("document").contentWindow);
- ok("document" in win, "WebIDL properties should be exposed through Xrays");
-
- // Unforgeable properties live on the instance, shadowing the properties of the named property object.
- checkWindowXrayProperty(win, "self", win, undefined, doc.getElementById("self").contentWindow);
- ok("self" in win, "WebIDL properties should be exposed through Xrays");
-
- // Object.prototype is at the end of the prototype chain.
- var obj = win;
- while ((proto = Object.getPrototypeOf(obj))) {
- obj = proto;
- }
- is(obj, win.Object.prototype, "Object.prototype should be at the end of the prototype chain");
-
- // Named properties shouldn't shadow WebIDL- or ECMAScript-defined properties.
- checkWindowXrayProperty(win, "addEventListener", undefined, undefined, undefined, eventTargetProto.addEventListener);
- is(win.addEventListener, eventTargetProto.addEventListener, "Named properties shouldn't shadow WebIDL-defined properties");
-
- is(win.toString, win.Object.prototype.toString, "Named properties shouldn't shadow ECMAScript-defined properties");
-
- // HTMLDocument
- // Unforgeable properties live on the instance.
- checkXrayProperty(doc, "location", [ win.location ]);
- is(String(win.location), document.getElementById("t").src,
- "Should have the right stringification");
-
- // HTMLHtmlElement
- var elem = doc.documentElement;
-
- var elemProto = Object.getPrototypeOf(elem);
- is(elemProto, win.HTMLHtmlElement.prototype, "The proto chain of the Xray should mirror the prototype chain of the Xrayed object");
-
- elemProto = Object.getPrototypeOf(elemProto);
- is(elemProto, win.HTMLElement.prototype, "The proto chain of the Xray should mirror the prototype chain of the Xrayed object");
-
- elemProto = Object.getPrototypeOf(elemProto);
- is(elemProto, win.Element.prototype, "The proto chain of the Xray should mirror the prototype chain of the Xrayed object");
-
- elemProto = Object.getPrototypeOf(elemProto);
- is(elemProto, win.Node.prototype, "The proto chain of the Xray should mirror the prototype chain of the Xrayed object");
-
- elemProto = Object.getPrototypeOf(elemProto);
- is(elemProto, win.EventTarget.prototype, "The proto chain of the Xray should mirror the prototype chain of the Xrayed object");
-
- // Xrays need to filter expandos.
- ok(!("expando" in elem), "Xrays should filter expandos");
-
- // WebIDL-defined properties live on the prototype.
- checkXrayProperty(elem, "version", [ undefined, "" ]);
- is(elem.version, "", "WebIDL properties should be exposed through Xrays");
-
- // HTMLCollection
- var coll = doc.getElementsByTagName("iframe");
-
- // Named properties live on the instance for non-global objects.
- checkXrayProperty(coll, "iframe", [ doc.getElementById("iframe") ]);
-
- // Indexed properties live on the instance.
- checkXrayProperty(coll, 0, [ doc.getElementById("shadowedIframe") ]);
-
- // WebIDL-defined properties live on the prototype, overriding any named properties.
- checkXrayProperty(coll, "item", [ undefined, win.HTMLCollection.prototype.item ]);
-
- // ECMAScript-defined properties live on the prototype, overriding any named properties.
- checkXrayProperty(coll, "toString", [ undefined, undefined, win.Object.prototype.toString ]);
-
- // Frozen arrays should come from our compartment, not the target one.
- var languages1 = win.navigator.languages;
- isnot(languages1, undefined, "Must have .languages");
- ok(Array.isArray(languages1), ".languages should be an array");
- ok(Object.isFrozen(languages1), ".languages should be a frozen array");
- ok(!Cu.isXrayWrapper(languages1), "Should have our own version of array");
- is(Cu.getGlobalForObject(languages1), window,
- "languages1 should come from our window");
- // We want to get .languages in the content compartment, but without waiving
- // Xrays altogether.
- var languages2 = win.eval("navigator.languages");
- isnot(languages2, undefined, "Must still have .languages");
- ok(Array.isArray(languages2), ".languages should still be an array");
- ok(Cu.isXrayWrapper(languages2), "Should have xray for content version of array");
- is(Cu.getGlobalForObject(languages2), win,
- "languages2 come from the underlying window");
- ok(Object.isFrozen(languages2.wrappedJSObject),
- ".languages should still be a frozen array underneath");
- isnot(languages1, languages2, "Must have distinct arrays");
- isnot(languages1, languages2.wrappedJSObject,
- "Must have distinct arrays no matter how we slice it");
-
- // Check that DataTransfer's .types has the hack to alias contains()
- // to includes().
- var dataTransfer = new win.DataTransfer();
- is(dataTransfer.types.contains, dataTransfer.types.includes,
- "Should have contains() set up as an alias to includes()");
- // Waive Xrays on the dataTransfer itself, since the .types we get is
- // different over Xrays vs not.
- is(dataTransfer.wrappedJSObject.types.contains, undefined,
- "Underlying object should not have contains() set up as an alias to " +
- "includes()");
-
- // Check that deleters work correctly in the [OverrideBuiltins] case.
- var elem = win.document.documentElement;
- var dataset = elem.dataset;
- is(dataset.foo, undefined, "Should not have a 'foo' property");
- ok(!('foo' in dataset), "Really should not have a 'foo' property");
- is(elem.getAttribute("data-foo"), null,
- "Should not have a 'data-foo' attribute");
- ok(!elem.hasAttribute("data-foo"),
- "Really should not have a 'data-foo' attribute");
- dataset.foo = "bar";
- is(dataset.foo, "bar", "Should now have a 'foo' property");
- ok('foo' in dataset, "Really should have a 'foo' property");
- is(elem.getAttribute("data-foo"), "bar",
- "Should have a 'data-foo' attribute");
- ok(elem.hasAttribute("data-foo"),
- "Really should have a 'data-foo' attribute");
- delete dataset.foo;
- is(dataset.foo, undefined, "Should not have a 'foo' property again");
- ok(!('foo' in dataset), "Really should not have a 'foo' property again");
- is(elem.getAttribute("data-foo"), null,
- "Should not have a 'data-foo' attribute again");
- ok(!elem.hasAttribute("data-foo"),
- "Really should not have a 'data-foo' attribute again");
-
- // Check that deleters work correctly in the non-[OverrideBuiltins] case.
- var storage = win.sessionStorage;
- is(storage.foo, undefined, "Should not have a 'foo' property");
- ok(!('foo' in storage), "Really should not have a 'foo' property");
- is(storage.getItem("foo"), null, "Should not have an item named 'foo'");
- storage.foo = "bar";
- is(storage.foo, "bar", "Should have a 'foo' property");
- ok('foo' in storage, "Really should have a 'foo' property");
- is(storage.getItem("foo"), "bar", "Should have an item named 'foo'");
- delete storage.foo
- is(storage.foo, undefined, "Should not have a 'foo' property again");
- ok(!('foo' in storage), "Really should not have a 'foo' property again");
- is(storage.getItem("foo"), null, "Should not have an item named 'foo' again");
-
- SimpleTest.finish();
-}
-
-SimpleTest.waitForExplicitFinish();
-addLoadEvent(test);
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_enums.html b/dom/bindings/test/test_enums.html
deleted file mode 100644
index e5dc519a0c..0000000000
--- a/dom/bindings/test/test_enums.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html>
-<meta charset=utf-8>
-<title>Enums</title>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<div id=log></div>
-<script>
-test(function() {
- var xhr = new XMLHttpRequest();
- xhr.open("get", "foo")
- assert_equals(xhr.responseType, "");
- xhr.responseType = "foo";
- assert_equals(xhr.responseType, "");
-}, "Assigning an invalid value to an enum attribute should not throw.");
-</script>
diff --git a/dom/bindings/test/test_exceptionSanitization.html b/dom/bindings/test/test_exceptionSanitization.html
deleted file mode 100644
index 9a6ab6088c..0000000000
--- a/dom/bindings/test/test_exceptionSanitization.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1295322
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1295322</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1295322">Mozilla Bug 1295322</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
- <script type="application/javascript">
-
- /** Test for Bug 1295322 **/
- iframe = document.createElement('iframe');
- iframe.name = "eWin";
- document.body.appendChild(iframe);
-
- try{
- // NOTE: The idea here is to call something that will end up throwing an
- // exception in a JS component and then propagate back to C++ code before
- // returning to us. If opening a feed: URI stops doing that, we will need a
- // new guinea pig here.
- open('feed://java:script:codeshouldgohere','eWin');
- ok(false, "Should have thrown!");
- } catch(e){
- try {
- is(e.name, "NS_ERROR_UNEXPECTED", "Should have the right exception");
- is(e.filename, location.href,
- "Should not be seeing where the exception really came from");
- } catch (e2) {
- ok(false, "Should be able to work with the exception");
- }
- }
- </script>
-</body>
-</html>
diff --git a/dom/bindings/test/test_exceptionThrowing.html b/dom/bindings/test/test_exceptionThrowing.html
deleted file mode 100644
index 376c2bc578..0000000000
--- a/dom/bindings/test/test_exceptionThrowing.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=847119
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 847119</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 847119 **/
-
- var xhr = new XMLHttpRequest();
- var domthrows = function() { xhr.open(); }
-
- var count = 20000;
-
- function f() {
- var k = 0;
- for (var j = 0; j < count; ++j) {
- try { domthrows(); } catch(e) { ++k; }
- }
- return k;
- }
- function g() { return count; }
-
- is(f(), count, "Should get count exceptions");
- for (var h of [f, g]) {
- try { is(h(), count, "Should get count exceptions here too"); } catch (e) {}
- }
- ok(true, "We should get here");
-
- var domthrows = function() { xhr.withCredentials = false; }
- xhr.open("GET", "");
- xhr.send();
-
- is(f(), count, "Should get count exceptions from getter");
- for (var h of [f, g]) {
- try { is(h(), count, "Should get count exceptions from getter here too"); } catch (e) {}
- }
- ok(true, "We should get here too");
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=847119">Mozilla Bug 847119</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_exception_messages.html b/dom/bindings/test/test_exception_messages.html
deleted file mode 100644
index a0f0cabe63..0000000000
--- a/dom/bindings/test/test_exception_messages.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=882653
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 882653</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 882653 **/
- // Each test is a string to eval, the expected exception message, and the
- // test description.
- var tests = [
- [ 'document.documentElement.appendChild.call({}, new Image())',
- "'appendChild' called on an object that does not implement interface Node.",
- "bogus method this object" ],
- [ 'Object.getOwnPropertyDescriptor(Document.prototype, "documentElement").get.call({})',
- "'get documentElement' called on an object that does not implement interface Document.",
- "bogus getter this object" ],
- [ 'Object.getOwnPropertyDescriptor(Element.prototype, "innerHTML").set.call({})',
- "'set innerHTML' called on an object that does not implement interface Element.",
- "bogus setter this object" ],
- [ 'document.documentElement.appendChild(5)',
- "Argument 1 of Node.appendChild is not an object.",
- "bogus interface argument" ],
- [ 'document.documentElement.appendChild(null)',
- "Argument 1 of Node.appendChild is not an object.",
- "null interface argument" ],
- [ 'document.createTreeWalker(document).currentNode = 5',
- "Value being assigned to TreeWalker.currentNode is not an object.",
- "interface setter call" ],
- [ 'document.documentElement.appendChild({})',
- "Argument 1 of Node.appendChild does not implement interface Node.",
- "wrong interface argument" ],
- [ 'document.createTreeWalker(document).currentNode = {}',
- "Value being assigned to TreeWalker.currentNode does not implement interface Node.",
- "wrong interface setter call" ],
- [ 'document.createElement("canvas").getContext("2d").fill("bogus")',
- "Argument 1 of CanvasRenderingContext2D.fill 'bogus' is not a valid value for enumeration CanvasWindingRule.",
- "bogus enum value" ],
- [ 'document.createTreeWalker(document, 0xFFFFFFFF, { acceptNode: 5 }).nextNode()',
- "Property 'acceptNode' is not callable.",
- "non-callable callback interface operation property" ],
- [ '(new TextDecoder).decode(new Uint8Array(), new RegExp())',
- "Argument 2 of TextDecoder.decode can't be converted to a dictionary.",
- "regexp passed for a dictionary" ],
- [ 'URL.createObjectURL(null, null)',
- "Argument 1 is not valid for any of the 2-argument overloads of URL.createObjectURL.",
- "overload resolution failure" ],
- [ 'document.createElement("select").add({})',
- "Argument 1 of HTMLSelectElement.add could not be converted to any of: HTMLOptionElement, HTMLOptGroupElement.",
- "invalid value passed for union" ],
- [ 'document.createElement("canvas").getContext("2d").createLinearGradient(0, 1, 0, 1).addColorStop(NaN, "")',
- "Argument 1 of CanvasGradient.addColorStop is not a finite floating-point value.",
- "invalid float" ]
- ];
-
- for (var i = 0; i < tests.length; ++i) {
- msg = "Correct exception should be thrown for " + tests[i][2];
- try {
- eval(tests[i][0]);
- ok(false, msg);
- } catch (e) {
- is(e.message, tests[i][1], msg);
- }
- }
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=882653">Mozilla Bug 882653</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_exception_options_from_jsimplemented.html b/dom/bindings/test/test_exception_options_from_jsimplemented.html
deleted file mode 100644
index 8a98a8fb63..0000000000
--- a/dom/bindings/test/test_exception_options_from_jsimplemented.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1107592
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1107592</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 1107592 **/
-
- SimpleTest.waitForExplicitFinish();
-
- function doTest() {
- var file = location.href;
- var asyncFrame;
- /* Async parent frames from pushPrefEnv don't show up in e10s. */
- var isE10S = !SpecialPowers.isMainProcess();
- if (!isE10S && SpecialPowers.getBoolPref("javascript.options.asyncstack")) {
- asyncFrame = `Async*@${file}:153:3
-`;
- } else {
- asyncFrame = "";
- }
-
- var t = new TestInterfaceJS();
- try {
- t.testThrowError();
- } catch (e) {
- ok(e instanceof Error, "Should have an Error here");
- ok(!(e instanceof DOMException), "Should not have DOMException here");
- ok(!("code" in e), "Should not have a 'code' property");
- is(e.name, "Error", "Should not have an interesting name here");
- is(e.message, "We are an Error", "Should have the right message");
- is(e.stack,
- `doTest@${file}:31:7
-${asyncFrame}`,
- "Exception stack should still only show our code");
- is(e.fileName,
- file,
- "Should have the right file name");
- is(e.lineNumber, 31, "Should have the right line number");
- is(e.columnNumber, 7, "Should have the right column number");
- }
-
- try {
- t.testThrowDOMException();
- } catch (e) {
- ok(e instanceof Error, "Should also have an Error here");
- ok(e instanceof DOMException, "Should have DOMException here");
- is(e.name, "NotSupportedError", "Should have the right name here");
- is(e.message, "We are a DOMException",
- "Should also have the right message");
- is(e.code, DOMException.NOT_SUPPORTED_ERR,
- "Should have the right 'code'");
- is(e.stack,
- `doTest@${file}:50:7
-${asyncFrame}`,
- "Exception stack should still only show our code");
- is(e.filename,
- file,
- "Should still have the right file name");
- is(e.lineNumber, 50, "Should still have the right line number");
- todo_isnot(e.columnNumber, 0,
- "No column number support for DOMException yet");
- }
-
- try {
- t.testThrowTypeError();
- } catch (e) {
- ok(e instanceof TypeError, "Should have a TypeError here");
- ok(!(e instanceof DOMException), "Should not have DOMException here (2)");
- ok(!("code" in e), "Should not have a 'code' property (2)");
- is(e.name, "TypeError", "Should be named TypeError");
- is(e.message, "We are a TypeError",
- "Should also have the right message (2)");
- is(e.stack,
- `doTest@${file}:72:7
-${asyncFrame}`,
- "Exception stack for TypeError should only show our code");
- is(e.fileName,
- file,
- "Should still have the right file name for TypeError");
- is(e.lineNumber, 72, "Should still have the right line number for TypeError");
- is(e.columnNumber, 7, "Should have the right column number for TypeError");
- }
-
- try {
- t.testThrowCallbackError(function() { Array.indexOf() });
- } catch (e) {
- ok(e instanceof TypeError, "Should have a TypeError here (3)");
- ok(!(e instanceof DOMException), "Should not have DOMException here (3)");
- ok(!("code" in e), "Should not have a 'code' property (3)");
- is(e.name, "TypeError", "Should be named TypeError (3)");
- is(e.message, "missing argument 0 when calling function Array.indexOf",
- "Should also have the right message (3)");
- is(e.stack,
- `doTest/<@${file}:92:45
-doTest@${file}:92:7
-${asyncFrame}`,
- "Exception stack for TypeError should only show our code (3)");
- is(e.fileName,
- file,
- "Should still have the right file name for TypeError (3)");
- is(e.lineNumber, 92, "Should still have the right line number for TypeError (3)");
- is(e.columnNumber, 45, "Should have the right column number for TypeError (3)");
- }
-
- try {
- t.testThrowXraySelfHosted();
- } catch (e) {
- ok(!(e instanceof Error), "Should have an Exception here (4)");
- ok(!(e instanceof DOMException), "Should not have DOMException here (4)");
- ok(!("code" in e), "Should not have a 'code' property (4)");
- is(e.name, "NS_ERROR_UNEXPECTED", "Name should be sanitized (4)");
- is(e.message, "", "Message should be sanitized (5)");
- is(e.stack,
- `doTest@${file}:113:7
-${asyncFrame}`,
- "Exception stack for sanitized exception should only show our code (4)");
- is(e.filename,
- file,
- "Should still have the right file name for sanitized exception (4)");
- is(e.lineNumber, 113, "Should still have the right line number for sanitized exception (4)");
- todo_isnot(e.columnNumber, 0, "Should have the right column number for sanitized exception (4)");
- }
-
- try {
- t.testThrowSelfHosted();
- } catch (e) {
- ok(!(e instanceof Error), "Should have an Exception here (5)");
- ok(!(e instanceof DOMException), "Should not have DOMException here (5)");
- ok(!("code" in e), "Should not have a 'code' property (5)");
- is(e.name, "NS_ERROR_UNEXPECTED", "Name should be sanitized (5)");
- is(e.message, "", "Message should be sanitized (5)");
- is(e.stack,
- `doTest@${file}:132:7
-${asyncFrame}`,
- "Exception stack for sanitized exception should only show our code (5)");
- is(e.filename,
- file,
- "Should still have the right file name for sanitized exception (5)");
- is(e.lineNumber, 132, "Should still have the right line number for sanitized exception (5)");
- todo_isnot(e.columnNumber, 0, "Should have the right column number for sanitized exception (5)");
- }
-
- SimpleTest.finish();
- }
-
- SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]},
- doTest);
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1107592">Mozilla Bug 1107592</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_exceptions_from_jsimplemented.html b/dom/bindings/test/test_exceptions_from_jsimplemented.html
deleted file mode 100644
index d0f599353a..0000000000
--- a/dom/bindings/test/test_exceptions_from_jsimplemented.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=923010
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 923010</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
- /** Test for Bug 923010 **/
- try {
- var conn = new RTCPeerConnection();
-
- var candidate = new RTCIceCandidate({candidate: null });
- conn.addIceCandidate(candidate)
- .then(function() {
- ok(false, "addIceCandidate succeeded when it should have failed");
- }, function(reason) {
- is(reason.lineNumber, 17, "Rejection should have been on line 17");
- is(reason.message,
- "Invalid candidate passed to addIceCandidate!",
- "Should have the rejection we expect");
- })
- .catch(function(reason) {
- ok(false, "unexpected error: " + reason);
- });
- } catch (e) {
- // b2g has no WebRTC, apparently
- todo(false, "No WebRTC on b2g yet");
- }
-
- conn.close();
- try {
- conn.setIdentityProvider("example.com", "foo");
- ok(false, "That call to setIdentityProvider should have thrown");
- } catch (e) {
- is(e.lineNumber, 36, "Exception should have been on line 36");
- is(e.message,
- "Peer connection is closed",
- "Should have the exception we expect");
- }
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=923010">Mozilla Bug 923010</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_forOf.html b/dom/bindings/test/test_forOf.html
deleted file mode 100644
index 53969a23e7..0000000000
--- a/dom/bindings/test/test_forOf.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=725907
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 725907</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=725907">Mozilla Bug 725907</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<div id="basket">
- <span id="egg0"></span>
- <span id="egg1"><span id="duckling1"></span></span>
- <span id="egg2"></span>
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 725907 **/
-
-function runTestsForDocument(document, msgSuffix) {
- function is(a, b, msg) { SimpleTest.is(a, b, msg + msgSuffix); }
- function isnot(a, b, msg) { SimpleTest.isnot(a, b, msg + msgSuffix); }
-
- var basket = document.getElementById("basket");
- var egg3 = document.createElement("span");
- egg3.id = "egg3";
-
- var log = '';
- for (var x of basket.childNodes) {
- if (x.nodeType != x.TEXT_NODE)
- log += x.id + ";";
- }
- is(log, "egg0;egg1;egg2;", "'for (x of div.childNodes)' should iterate over child nodes");
-
- log = '';
- for (var x of basket.childNodes) {
- if (x.nodeType != x.TEXT_NODE) {
- log += x.id + ";";
- if (x.id == "egg1")
- basket.appendChild(egg3);
- }
- }
- is(log, "egg0;egg1;egg2;egg3;", "'for (x of div.childNodes)' should see elements added during iteration");
-
- log = '';
- basket.appendChild(document.createTextNode("some text"));
- for (var x of basket.children)
- log += x.id + ";";
- is(log, "egg0;egg1;egg2;egg3;", "'for (x of div.children)' should iterate over child elements");
-
- var count = 0;
- for (var x of document.getElementsByClassName("hazardous-materials"))
- count++;
- is(count, 0, "'for (x of emptyNodeList)' loop should run zero times");
-
- var log = '';
- for (var x of document.querySelectorAll("span"))
- log += x.id + ";";
- is(log, "egg0;egg1;duckling1;egg2;egg3;", "for-of loop should work with a querySelectorAll() NodeList");
-}
-
-/* All the tests run twice. First, in this document, so without any wrappers. */
-runTestsForDocument(document, "");
-
-/* And once using the document of an iframe, so working with cross-compartment wrappers. */
-SimpleTest.waitForExplicitFinish();
-function iframeLoaded(iframe) {
- runTestsForDocument(iframe.contentWindow.document, " (in iframe)");
- SimpleTest.finish();
-}
-
-</script>
-
-<iframe src="forOf_iframe.html" onload="iframeLoaded(this)"></iframe>
-
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_integers.html b/dom/bindings/test/test_integers.html
deleted file mode 100644
index c74b68216c..0000000000
--- a/dom/bindings/test/test_integers.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <meta charset="utf-8">
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<p id="display"></p>
-<div id="content" style="display: none">
- <canvas id="c" width="1" height="1"></canvas>
-</div>
-<pre id="test">
-<script type="application/javascript">
-
- function testInt64NonFinite(arg) {
- // We can use a WebGLRenderingContext to test conversion to 64-bit signed
- // ints edge cases.
- var gl = $("c").getContext("experimental-webgl");
- if (!gl) {
- // No WebGL support on MacOS 10.5. Just skip this test
- todo(false, "WebGL not supported");
- return;
- }
- var error = gl.getError()
-
- // on the b2g emulator we get GL_INVALID_FRAMEBUFFER_OPERATION
- if (error == 0x0506) // GL_INVALID_FRAMEBUFFER_OPERATION
- return;
-
- is(error, 0, "Should not start in an error state");
-
- var b = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, b);
-
- var a = new Float32Array(1);
- gl.bufferData(gl.ARRAY_BUFFER, a, gl.STATIC_DRAW);
-
- gl.bufferSubData(gl.ARRAY_BUFFER, arg, a);
-
- is(gl.getError(), 0, "Should have treated non-finite double as 0");
- }
-
- testInt64NonFinite(NaN);
- testInt64NonFinite(Infinity);
- testInt64NonFinite(-Infinity);
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_interfaceName.html b/dom/bindings/test/test_interfaceName.html
deleted file mode 100644
index 59828a2cf2..0000000000
--- a/dom/bindings/test/test_interfaceName.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1084001
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1084001</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 1084001 **/
- is(Image.name, "Image", "Image name");
- is(Promise.name, "Promise", "Promise name");
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1084001">Mozilla Bug 1084001</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_interfaceToString.html b/dom/bindings/test/test_interfaceToString.html
deleted file mode 100644
index c97b2f63b5..0000000000
--- a/dom/bindings/test/test_interfaceToString.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=742156
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 742156</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=742156">Mozilla Bug 742156</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 742156 **/
-
-var nativeToString = ("" + String.replace).replace("replace", "EventTarget");
-try {
- var eventTargetToString = "" + EventTarget;
- is(eventTargetToString, nativeToString,
- "Stringifying a DOM interface object should return the same string" +
- "as stringifying a native function.");
-}
-catch (e) {
- ok(false, "Stringifying a DOM interface object shouldn't throw.");
-}
-
-try {
- eventTargetToString = Function.prototype.toString.call(EventTarget);
- is(eventTargetToString, nativeToString,
- "Stringifying a DOM interface object via Function.prototype.toString " +
- "should return the same string as stringifying a native function.");
-}
-catch (e) {
- ok(false, "Stringifying a DOM interface object shouldn't throw.");
-}
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_iterable.html b/dom/bindings/test/test_iterable.html
deleted file mode 100644
index 8ce818e764..0000000000
--- a/dom/bindings/test/test_iterable.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<!-- Any copyright is dedicated to the Public Domain.
-- http://creativecommons.org/publicdomain/zero/1.0/ -->
-<!DOCTYPE HTML>
-<html>
- <head>
- <title>Test Iterable Interface</title>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
- </head>
- <body>
- <script class="testbody" type="application/javascript">
- SimpleTest.waitForExplicitFinish();
- SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]}, function() {
-
- base_properties = [["entries", "function", 0],
- ["keys", "function", 0],
- ["values", "function", 0],
- ["forEach", "function", 1]]
- var testExistence = function testExistence(prefix, obj, properties) {
- for (var [name, type, args] of properties) {
- // Properties are somewhere up the proto chain, hasOwnProperty won't work
- isnot(obj[name], undefined,
- `${prefix} object has property ${name}`);
-
- is(typeof obj[name], type,
- `${prefix} object property ${name} is a ${type}`);
- // Check function length
- if (type == "function") {
- is(obj[name].length, args,
- `${prefix} object property ${name} is length ${args}`);
- is(obj[name].name, name,
- `${prefix} object method name is ${name}`);
- }
-
- // Find where property is on proto chain, check for enumerablility there.
- var owner = obj;
- while (owner) {
- var propDesc = Object.getOwnPropertyDescriptor(owner, name);
- if (propDesc) {
- ok(propDesc.enumerable,
- `${prefix} object property ${name} is enumerable`);
- break;
- }
- owner = Object.getPrototypeOf(owner);
- }
- }
- }
-
- var itr;
- // Simple single type iterable creation and functionality test
- info("IterableSingle: Testing simple iterable creation and functionality");
- itr = new TestInterfaceIterableSingle();
- testExistence("IterableSingle: ", itr, base_properties);
- is(itr[Symbol.iterator], Array.prototype[Symbol.iterator],
- "IterableSingle: Should be using %ArrayIterator% for @@iterator");
- is(itr.keys, Array.prototype.keys,
- "IterableSingle: Should be using %ArrayIterator% for 'keys'");
- is(itr.entries, Array.prototype.entries,
- "IterableSingle: Should be using %ArrayIterator% for 'entries'");
- is(itr.values, itr[Symbol.iterator],
- "IterableSingle: Should be using @@iterator for 'values'");
- is(itr.forEach, Array.prototype.forEach,
- "IterableSingle: Should be using %ArrayIterator% for 'forEach'");
- var keys = [...itr.keys()];
- var values = [...itr.values()];
- var entries = [...itr.entries()];
- var key_itr = itr.keys();
- var value_itr = itr.values();
- var entries_itr = itr.entries();
- for (var i = 0; i < 3; ++i) {
- var key = key_itr.next();
- var value = value_itr.next();
- var entry = entries_itr.next();
- is(key.value, i, "IterableSingle: Key iterator value should be " + i);
- is(key.value, keys[i],
- "IterableSingle: Key iterator value should match destructuring " + i);
- is(value.value, key.value, "IterableSingle: Value iterator value should be " + key.value);
- is(value.value, values[i],
- "IterableSingle: Value iterator value should match destructuring " + i);
- is(entry.value[0], i, "IterableSingle: Entry iterator value 0 should be " + i);
- is(entry.value[1], i, "IterableSingle: Entry iterator value 1 should be " + i);
- is(entry.value[0], entries[i][0],
- "IterableSingle: Entry iterator value 0 should match destructuring " + i);
- is(entry.value[1], entries[i][1],
- "IterableSingle: Entry iterator value 1 should match destructuring " + i);
- }
-
- var callsToForEachCallback = 0;
- var thisArg = {};
- itr.forEach(function(value, index, obj) {
- is(index, callsToForEachCallback,
- `IterableSingle: Should have the right index at ${callsToForEachCallback} calls to forEach callback`);
- is(value, values[index],
- `IterableSingle: Should have the right value at ${callsToForEachCallback} calls to forEach callback`);
- is(this, thisArg,
- "IterableSingle: Should have the right this value for forEach callback");
- is(obj, itr,
- "IterableSingle: Should have the right third arg for forEach callback");
- ++callsToForEachCallback;
- }, thisArg);
- is(callsToForEachCallback, 3,
- "IterableSingle: Should have right total number of calls to forEach callback");
-
- var key = key_itr.next();
- var value = value_itr.next();
- var entry = entries_itr.next();
- is(key.value, undefined, "IterableSingle: Key iterator value should be undefined");
- is(key.done, true, "IterableSingle: Key iterator done should be true");
- is(value.value, undefined, "IterableSingle: Value iterator value should be undefined");
- is(value.done, true, "IterableSingle: Value iterator done should be true");
- is(entry.value, undefined, "IterableDouble: Entry iterator value should be undefined");
- is(entry.done, true, "IterableSingle: Entry iterator done should be true");
- is(Object.prototype.toString.call(Object.getPrototypeOf(key_itr)),
- "[object Array Iterator]",
- "iterator prototype should have the right brand");
-
- // Simple dual type iterable creation and functionality test
- info("IterableDouble: Testing simple iterable creation and functionality");
- itr = new TestInterfaceIterableDouble();
- testExistence("IterableDouble: ", itr, base_properties);
- is(itr.entries, itr[Symbol.iterator],
- "IterableDouble: Should be using @@iterator for 'entries'");
- var elements = [["a", "b"], ["c", "d"], ["e", "f"]]
- var keys = [...itr.keys()];
- var values = [...itr.values()];
- var entries = [...itr.entries()];
- var key_itr = itr.keys();
- var value_itr = itr.values();
- var entries_itr = itr.entries();
- for (var i = 0; i < 3; ++i) {
- var key = key_itr.next();
- var value = value_itr.next();
- var entry = entries_itr.next();
- is(key.value, elements[i][0], "IterableDouble: Key iterator value should be " + elements[i][0]);
- is(key.value, keys[i],
- "IterableDouble: Key iterator value should match destructuring " + i);
- is(value.value, elements[i][1], "IterableDouble: Value iterator value should be " + elements[i][1]);
- is(value.value, values[i],
- "IterableDouble: Value iterator value should match destructuring " + i);
- is(entry.value[0], elements[i][0], "IterableDouble: Entry iterator value 0 should be " + elements[i][0]);
- is(entry.value[1], elements[i][1], "IterableDouble: Entry iterator value 1 should be " + elements[i][1]);
- is(entry.value[0], entries[i][0],
- "IterableDouble: Entry iterator value 0 should match destructuring " + i);
- is(entry.value[1], entries[i][1],
- "IterableDouble: Entry iterator value 1 should match destructuring " + i);
- }
-
- callsToForEachCallback = 0;
- thisArg = {};
- itr.forEach(function(value, key, obj) {
- is(key, keys[callsToForEachCallback],
- `IterableDouble: Should have the right key at ${callsToForEachCallback} calls to forEach callback`);
- is(value, values[callsToForEachCallback],
- `IterableDouble: Should have the right value at ${callsToForEachCallback} calls to forEach callback`);
- is(this, thisArg,
- "IterableDouble: Should have the right this value for forEach callback");
- is(obj, itr,
- "IterableSingle: Should have the right third arg for forEach callback");
- ++callsToForEachCallback;
- }, thisArg);
- is(callsToForEachCallback, 3,
- "IterableDouble: Should have right total number of calls to forEach callback");
-
- var key = key_itr.next();
- var value = value_itr.next();
- var entry = entries_itr.next()
- is(key.value, undefined, "IterableDouble: Key iterator value should be undefined");
- is(key.done, true, "IterableDouble: Key iterator done should be true");
- is(value.value, undefined, "IterableDouble: Value iterator value should be undefined");
- is(value.done, true, "IterableDouble: Value iterator done should be true");
- is(entry.value, undefined, "IterableDouble: Entry iterator value should be undefined");
- is(entry.done, true, "IterableDouble: Entry iterator done should be true");
- is(Object.prototype.toString.call(Object.getPrototypeOf(key_itr)),
- "[object TestInterfaceIterableDoubleIteratorPrototype]",
- "iterator prototype should have the right brand");
-
- // Simple dual type iterable creation and functionality test
- info("IterableDoubleUnion: Testing simple iterable creation and functionality");
- itr = new TestInterfaceIterableDoubleUnion();
- testExistence("IterableDoubleUnion: ", itr, base_properties);
- is(itr.entries, itr[Symbol.iterator],
- "IterableDoubleUnion: Should be using @@iterator for 'entries'");
- var elements = [["long", 1], ["string", "a"]]
- var keys = [...itr.keys()];
- var values = [...itr.values()];
- var entries = [...itr.entries()];
- var key_itr = itr.keys();
- var value_itr = itr.values();
- var entries_itr = itr.entries();
- for (var i = 0; i < elements.length; ++i) {
- var key = key_itr.next();
- var value = value_itr.next();
- var entry = entries_itr.next();
- is(key.value, elements[i][0], "IterableDoubleUnion: Key iterator value should be " + elements[i][0]);
- is(key.value, keys[i],
- "IterableDoubleUnion: Key iterator value should match destructuring " + i);
- is(value.value, elements[i][1], "IterableDoubleUnion: Value iterator value should be " + elements[i][1]);
- is(value.value, values[i],
- "IterableDoubleUnion: Value iterator value should match destructuring " + i);
- is(entry.value[0], elements[i][0], "IterableDoubleUnion: Entry iterator value 0 should be " + elements[i][0]);
- is(entry.value[1], elements[i][1], "IterableDoubleUnion: Entry iterator value 1 should be " + elements[i][1]);
- is(entry.value[0], entries[i][0],
- "IterableDoubleUnion: Entry iterator value 0 should match destructuring " + i);
- is(entry.value[1], entries[i][1],
- "IterableDoubleUnion: Entry iterator value 1 should match destructuring " + i);
- }
-
- callsToForEachCallback = 0;
- thisArg = {};
- itr.forEach(function(value, key, obj) {
- is(key, keys[callsToForEachCallback],
- `IterableDoubleUnion: Should have the right key at ${callsToForEachCallback} calls to forEach callback`);
- is(value, values[callsToForEachCallback],
- `IterableDoubleUnion: Should have the right value at ${callsToForEachCallback} calls to forEach callback`);
- is(this, thisArg,
- "IterableDoubleUnion: Should have the right this value for forEach callback");
- is(obj, itr,
- "IterableSingle: Should have the right third arg for forEach callback");
- ++callsToForEachCallback;
- }, thisArg);
- is(callsToForEachCallback, 2,
- "IterableDoubleUnion: Should have right total number of calls to forEach callback");
-
- var key = key_itr.next();
- var value = value_itr.next();
- var entry = entries_itr.next()
- is(key.value, undefined, "IterableDoubleUnion: Key iterator value should be undefined");
- is(key.done, true, "IterableDoubleUnion: Key iterator done should be true");
- is(value.value, undefined, "IterableDoubleUnion: Value iterator value should be undefined");
- is(value.done, true, "IterableDoubleUnion: Value iterator done should be true");
- is(entry.value, undefined, "IterableDoubleUnion: Entry iterator value should be undefined");
- is(entry.done, true, "IterableDoubleUnion: Entry iterator done should be true");
- is(Object.prototype.toString.call(Object.getPrototypeOf(key_itr)),
- "[object TestInterfaceIterableDoubleUnionIteratorPrototype]",
- "iterator prototype should have the right brand");
-
- SimpleTest.finish();
- });
- </script>
- </body>
-</html>
diff --git a/dom/bindings/test/test_jsimplemented_eventhandler.html b/dom/bindings/test/test_jsimplemented_eventhandler.html
deleted file mode 100644
index 2854a31125..0000000000
--- a/dom/bindings/test/test_jsimplemented_eventhandler.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1186696
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1186696</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 1186696 **/
- SimpleTest.waitForExplicitFinish();
-
- function doTest() {
- var values = [ function() {}, 5, null, undefined, "some string", {} ];
-
- while (values.length != 0) {
- var value = values.pop();
- var t = new TestInterfaceJS();
- t.onsomething = value;
- var gottenValue = t.onsomething;
- if (typeof value == "object" || typeof value == "function") {
- is(gottenValue, value, "Should get back the object-or-null we put in");
- } else {
- is(gottenValue, null, "Should get back null");
- }
- }
-
- SimpleTest.finish();
- }
-
- SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]},
- doTest);
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1186696">Mozilla Bug 1186696</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_kill_longrunning_prerendered_content.xul b/dom/bindings/test/test_kill_longrunning_prerendered_content.xul
deleted file mode 100644
index d86b15ad9f..0000000000
--- a/dom/bindings/test/test_kill_longrunning_prerendered_content.xul
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- xmlns:html="http://www.w3.org/1999/xhtml"
- onload="runTest();">
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
-
-<script class="testbody" type="application/javascript">
-<![CDATA[
-
- SimpleTest.waitForExplicitFinish();
-
- function Listener(aBrowser, aPrerendered, aCallback) {
- this.init(aBrowser, aPrerendered, aCallback);
- }
-
- Listener.prototype = {
- init: function(aBrowser, aCallback) {
- this.mBrowser = aBrowser;
- this.mCallback = aCallback;
- },
- QueryInterface: function(aIID) {
- if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
- aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
- aIID.equals(Components.interfaces.nsISupports))
- return this;
- throw Components.results.NS_NOINTERFACE;
- },
- onStateChange : function(aWebProgress, aRequest, aStateFlags, aStatus) {
- if ((aStateFlags & Components.interfaces.nsIWebProgressListener.STATE_STOP) &&
- (aStateFlags & Components.interfaces.nsIWebProgressListener.STATE_IS_DOCUMENT)) {
- setTimeout(this.mCallback, 0);
- }
- },
- onProgressChange : function(aWebProgress, aRequest,
- aCurSelfProgress, aMaxSelfProgress,
- aCurTotalProgress, aMaxTotalProgress) {},
- onLocationChange : function(aWebProgress, aRequest, aLocation, aFlags) {},
- onStatusChange : function(aWebProgress, aRequest, aStatus, aMessage) {},
- onSecurityChange : function(aWebProgress, aRequest, aState) {},
- mBrowser: null,
- mPrerendered: false,
- mCallback: null
- };
-
- var progress, progressListener;
-
- function runTest() {
- SpecialPowers.pushPrefEnv({
- "set": [
- ["dom.max_script_run_time", 1]
- ]
- }, function() {
- test(function() {
- ok("The page is successfully interrupted.");
- SimpleTest.finish();
- });
- });
- }
-
- function test(aCallback) {
- var browser = document.getElementById("prerendered");;
- progressListener = new Listener(browser, aCallback);
- var docShell = browser.docShell;
- progress = docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
- .getInterface(Components.interfaces.nsIWebProgress);
- progress.addProgressListener(progressListener,
- Components.interfaces.nsIWebProgress.NOTIFY_ALL);
- browser.loadURI("data:text/html,<script>;for(;;);</script" + ">");
- }
-
-]]>
-</script>
-
-<body id="html_body" xmlns="http://www.w3.org/1999/xhtml">
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1050456">Mozilla Bug 1050456</a>
-<p id="display"></p>
-
-<pre id="test">
-</pre>
-</body>
-<browser prerendered="true" id="prerendered"/>
-</window>
diff --git a/dom/bindings/test/test_lenientThis.html b/dom/bindings/test/test_lenientThis.html
deleted file mode 100644
index cfbdcebcda..0000000000
--- a/dom/bindings/test/test_lenientThis.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!doctype html>
-<meta charset=utf-8>
-<title>[LenientThis]</title>
-<script src=/resources/testharness.js></script>
-<script src=/resources/testharnessreport.js></script>
-<div id=log></div>
-<script>
-function noop1() { }
-function noop2() { }
-
-test(function() {
- var desc = Object.getOwnPropertyDescriptor(Document.prototype, "onreadystatechange");
-
- document.onreadystatechange = noop1;
- assert_equals(document.onreadystatechange, noop1, "document.onreadystatechange == noop1");
- assert_equals(desc.get.call({ }), undefined, "document.onreadystatechange getter.call({}) == undefined");
-}, "invoking Document.onreadystatechange's getter with an invalid this object returns undefined");
-
-test(function() {
- var desc = Object.getOwnPropertyDescriptor(Document.prototype, "onreadystatechange");
-
- document.onreadystatechange = noop1;
- assert_equals(document.onreadystatechange, noop1, "document.onreadystatechange == noop1");
- assert_equals(desc.set.call({ }, noop2), undefined, "document.onreadystatechange setter.call({}) == undefined");
- assert_equals(document.onreadystatechange, noop1, "document.onreadystatechange == noop1 (still)");
-}, "invoking Document.onreadystatechange's setter with an invalid this object does nothing and returns undefined");
-</script>
diff --git a/dom/bindings/test/test_lookupGetter.html b/dom/bindings/test/test_lookupGetter.html
deleted file mode 100644
index 306ee4f643..0000000000
--- a/dom/bindings/test/test_lookupGetter.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=462428
--->
-<head>
- <title>Test for Bug 462428</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=462428">Mozilla Bug 462428</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 462428 **/
-var x = new XMLHttpRequest;
-x.open("GET", "");
-var getter = x.__lookupGetter__('readyState');
-ok(getter !== undefined, "But able to look it up the normal way");
-ok(!x.hasOwnProperty('readyState'), "property should still be on the prototype");
-
-var sawProp = false;
-for (var i in x) {
- if (i === "readyState") {
- sawProp = true;
- }
-}
-
-ok(sawProp, "property should be enumerable");
-
-is(getter.call(x), 1, "the getter actually works");
-
-Object.getPrototypeOf(x).__defineSetter__('readyState', function() {});
-is(getter.call(x), 1, "the getter works after defineSetter");
-
-is(x.responseType, "", "Should have correct responseType up front");
-var setter = x.__lookupSetter__('responseType');
-setter.call(x, "document");
-is(x.responseType, "document", "the setter is bound correctly");
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_namedNoIndexed.html b/dom/bindings/test/test_namedNoIndexed.html
deleted file mode 100644
index 205ec89f95..0000000000
--- a/dom/bindings/test/test_namedNoIndexed.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=808991
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 808991</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=808991">Mozilla Bug 808991</a>
-<p id="display"></p>
-<div id="content" style="display: none" data-1="foo" data-bar="baz">
-
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 808991 **/
-is($("content").dataset[1], "foo",
- "Indexed props should work like named on dataset");
-is($("content").dataset["1"], "foo",
- "Indexed props as strings should work like named on dataset");
-is($("content").dataset.bar, "baz",
- "Named props should work on dataset");
-is($("content").dataset['bar'], "baz",
- "Named props as strings should work on dataset");
-
-
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_named_getter_enumerability.html b/dom/bindings/test/test_named_getter_enumerability.html
deleted file mode 100644
index 641f78ab29..0000000000
--- a/dom/bindings/test/test_named_getter_enumerability.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>Test for named getter enumerability</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<div id="log"></div>
-<script>
-test(function() {
- var list = document.getElementsByTagName("div");
- var desc = Object.getOwnPropertyDescriptor(list, "0");
- assert_equals(typeof desc, "object", "Should have a '0' property");
- assert_true(desc.enumerable, "'0' property should be enumerable");
- desc = Object.getOwnPropertyDescriptor(list, "log");
- assert_equals(typeof desc, "object", "Should have a 'log' property");
- assert_false(desc.enumerable, "'log' property should not be enumerable");
-}, "Correct getOwnPropertyDescriptor behavior");
-test(function() {
- var list = document.getElementsByTagName("div");
- props = [];
- for (var prop in list) {
- props.push(prop);
- }
- assert_not_equals(props.indexOf("0"), -1, "Should enumerate '0'");
- assert_equals(props.indexOf("log"), -1, "Should not enumerate 'log'");
-}, "Correct enumeration behavior");
-test(function() {
- var list = document.getElementsByTagName("div");
- props = Object.keys(list)
- assert_not_equals(props.indexOf("0"), -1, "Keys should contain '0'");
- assert_equals(props.indexOf("log"), -1, "Keys should not contain 'log'");
-}, "Correct keys() behavior");
-test(function() {
- var list = document.getElementsByTagName("div");
- props = Object.getOwnPropertyNames(list)
- assert_not_equals(props.indexOf("0"), -1,
- "own prop names should contain '0'");
- assert_not_equals(props.indexOf("log"), -1,
- "own prop names should contain 'log'");
-}, "Correct getOwnPropertyNames() behavior");
-</script>
diff --git a/dom/bindings/test/test_oom_reporting.html b/dom/bindings/test/test_oom_reporting.html
deleted file mode 100644
index 7323736e50..0000000000
--- a/dom/bindings/test/test_oom_reporting.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug </title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug **/
- SimpleTest.waitForExplicitFinish();
-
- SimpleTest.expectUncaughtException();
- setTimeout(function() {
- SpecialPowers.Cu.getJSTestingFunctions().throwOutOfMemory();
- }, 0);
-
- addEventListener("error", function(e) {
- is(e.type, "error", "Should have an error event");
- is(e.message, "uncaught exception: out of memory",
- "Should have the right error message");
- // Make sure we finish async, in case the expectUncaughtException assertion
- // about having seen the exception runs after our listener
- SimpleTest.executeSoon(SimpleTest.finish);
- });
-
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=">Mozilla Bug </a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_primitive_this.html b/dom/bindings/test/test_primitive_this.html
deleted file mode 100644
index d2b733dffe..0000000000
--- a/dom/bindings/test/test_primitive_this.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=603201
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 603201</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 603201 **/
-
- SimpleTest.waitForExplicitFinish();
- function runTest()
- {
- var nodes = document.body.childNodes;
-
- Object.setPrototypeOf(Number.prototype, nodes);
-
- Object.defineProperty(nodes, "getter", {get: function() {
- "use strict";
- is(this, 1);
- return "getter";
- }});
- Object.defineProperty(Object.getPrototypeOf(nodes), "getter2", {get: function() {
- "use strict";
- is(this, 1);
- return "getter2";
- }});
-
- var number = 1;
- is(number.getter, "getter");
- is(number.getter2, "getter2");
-
- SimpleTest.finish();
- }
-
- </script>
-</head>
-<body onload="runTest();">
-<pre>Test</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_promise_rejections_from_jsimplemented.html b/dom/bindings/test/test_promise_rejections_from_jsimplemented.html
deleted file mode 100644
index 68de079ed6..0000000000
--- a/dom/bindings/test/test_promise_rejections_from_jsimplemented.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1107592
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1107592</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 1107592 **/
-
- SimpleTest.waitForExplicitFinish();
-
- function checkExn(lineNumber, name, message, code, filename, testNumber, stack, exn) {
- is(exn.lineNumber, lineNumber,
- "Should have the right line number in test " + testNumber);
- is(exn.name, name,
- "Should have the right exception name in test " + testNumber);
- is("filename" in exn ? exn.filename : exn.fileName, filename,
- "Should have the right file name in test " + testNumber);
- is(exn.message, message,
- "Should have the right message in test " + testNumber);
- is(exn.code, code, "Should have the right .code in test " + testNumber);
- if (message === "") {
- is(exn.name, "InternalError",
- "Should have one of our synthetic exceptions in test " + testNumber);
- }
- is(exn.stack, stack, "Should have the right stack in test " + testNumber);
- }
-
- function ensurePromiseFail(testNumber, value) {
- ok(false, "Test " + testNumber + " should not have a fulfilled promise");
- }
-
- function doTest() {
- var t = new TestInterfaceJS();
- /* Async parent frames from pushPrefEnv don't show up in e10s. */
- var isE10S = !SpecialPowers.isMainProcess();
- var asyncStack = SpecialPowers.getBoolPref("javascript.options.asyncstack");
- var ourFile = location.href;
- var unwrapError = "Promise rejection value is a non-unwrappable cross-compartment wrapper.";
- var parentFrame = (asyncStack && !isE10S) ? `Async*@${ourFile}:130:3
-` : "";
-
- Promise.all([
- t.testPromiseWithThrowingChromePromiseInit().then(
- ensurePromiseFail.bind(null, 1),
- checkExn.bind(null, 49, "InternalError", unwrapError,
- undefined, ourFile, 1,
- `doTest@${ourFile}:49:7
-` +
- parentFrame)),
- t.testPromiseWithThrowingContentPromiseInit(function() {
- thereIsNoSuchContentFunction1();
- }).then(
- ensurePromiseFail.bind(null, 2),
- checkExn.bind(null, 57, "ReferenceError",
- "thereIsNoSuchContentFunction1 is not defined",
- undefined, ourFile, 2,
- `doTest/<@${ourFile}:57:11
-doTest@${ourFile}:56:7
-` +
- parentFrame)),
- t.testPromiseWithThrowingChromeThenFunction().then(
- ensurePromiseFail.bind(null, 3),
- checkExn.bind(null, 0, "InternalError", unwrapError, undefined, "", 3, asyncStack ? (`Async*doTest@${ourFile}:67:7
-` +
- parentFrame) : "")),
- t.testPromiseWithThrowingContentThenFunction(function() {
- thereIsNoSuchContentFunction2();
- }).then(
- ensurePromiseFail.bind(null, 4),
- checkExn.bind(null, 73, "ReferenceError",
- "thereIsNoSuchContentFunction2 is not defined",
- undefined, ourFile, 4,
- `doTest/<@${ourFile}:73:11
-` +
- (asyncStack ? `Async*doTest@${ourFile}:72:7
-` : "") +
- parentFrame)),
- t.testPromiseWithThrowingChromeThenable().then(
- ensurePromiseFail.bind(null, 5),
- checkExn.bind(null, 0, "InternalError", unwrapError, undefined, "", 5, asyncStack ? (`Async*doTest@${ourFile}:84:7
-` +
- parentFrame) : "")),
- t.testPromiseWithThrowingContentThenable({
- then: function() { thereIsNoSuchContentFunction3(); }
- }).then(
- ensurePromiseFail.bind(null, 6),
- checkExn.bind(null, 90, "ReferenceError",
- "thereIsNoSuchContentFunction3 is not defined",
- undefined, ourFile, 6,
- `then@${ourFile}:90:32
-` + (asyncStack ? `Async*doTest@${ourFile}:89:7\n` + parentFrame : ""))),
- t.testPromiseWithDOMExceptionThrowingPromiseInit().then(
- ensurePromiseFail.bind(null, 7),
- checkExn.bind(null, 98, "NotFoundError",
- "We are a second DOMException",
- DOMException.NOT_FOUND_ERR, ourFile, 7,
- `doTest@${ourFile}:98:7
-` +
- parentFrame)),
- t.testPromiseWithDOMExceptionThrowingThenFunction().then(
- ensurePromiseFail.bind(null, 8),
- checkExn.bind(null, asyncStack ? 106 : 0, "NetworkError",
- "We are a third DOMException",
- DOMException.NETWORK_ERR, asyncStack ? ourFile : "", 8,
- (asyncStack ? `Async*doTest@${ourFile}:106:7
-` +
- parentFrame : ""))),
- t.testPromiseWithDOMExceptionThrowingThenable().then(
- ensurePromiseFail.bind(null, 9),
- checkExn.bind(null, asyncStack ? 114 : 0, "TypeMismatchError",
- "We are a fourth DOMException",
- DOMException.TYPE_MISMATCH_ERR,
- asyncStack ? ourFile : "", 9,
- (asyncStack ? `Async*doTest@${ourFile}:114:7
-` +
- parentFrame : ""))),
- ]).then(SimpleTest.finish,
- function(err) {
- ok(false, "One of our catch statements totally failed with err" + err + ', stack: ' + (err ? err.stack : ''));
- SimpleTest.finish();
- });
- }
-
- SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]},
- doTest);
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1107592">Mozilla Bug 1107592</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_proxies_via_xray.html b/dom/bindings/test/test_proxies_via_xray.html
deleted file mode 100644
index 59affe6c05..0000000000
--- a/dom/bindings/test/test_proxies_via_xray.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1021066
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1021066</title>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1021066">Mozilla Bug 1021066</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-<iframe id="t" src="http://example.org/tests/dom/bindings/test/file_proxies_via_xray.html"></iframe>
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 1021066 **/
-
-function test()
-{
- "use strict"; // So we'll get exceptions on sets
- var doc = document.getElementById("t").contentWindow.document;
- ok(!("x" in doc), "Should have an Xray here");
- is(doc.x, undefined, "Really should have an Xray here");
- is(doc.wrappedJSObject.x, 5, "And wrapping the right thing");
-
- // Test overridebuiltins binding without named setter
- is(doc.y, doc.getElementById("y"),
- "Named getter should work on Document");
- try {
- doc.z = 5;
- ok(false, "Should have thrown on set of readonly property on Document");
- } catch (e) {
- ok(/read-only/.test(e.message),
- "Threw the right exception on set of readonly property on Document");
- }
-
- doc.w = 5;
- is(doc.w, 5, "Should be able to set things that are not named props");
-
- // Test non-overridebuiltins binding without named setter
- var l = doc.getElementsByTagName("img");
- is(l.y, doc.getElementById("y"),
- "Named getter should work on HTMLCollection");
- try {
- l.z = 5;
- ok(false, "Should have thrown on set of readonly property on HTMLCollection");
- } catch (e) {
- ok(/read-only/.test(e.message),
- "Should throw the right exception on set of readonly property on HTMLCollection");
- }
- try {
- l[10] = 5;
- ok(false, "Should have thrown on set of indexed property on HTMLCollection");
- } catch (e) {
- ok(/doesn't have an indexed property setter/.test(e.message),
- "Should throw the right exception on set of indexed property on HTMLCollection");
- }
-
- // Test overridebuiltins binding with named setter
- var d = doc.documentElement.dataset;
- d.foo = "bar";
- // Check that this actually got passed on to the underlying object.
- is(d.wrappedJSObject.foo, "bar",
- "Set should get forwarded to the underlying object");
- is(doc.documentElement.getAttribute("data-foo"), "bar",
- "Attribute setter should have been called");
- d.foo = "baz";
- // Check that this actually got passed on to the underlying object.
- is(d.wrappedJSObject.foo, "baz",
- "Set should get forwarded to the underlying object again");
- is(doc.documentElement.getAttribute("data-foo"), "baz",
- "Attribute setter should have been called again");
-
- // Test non-overridebuiltins binding with named setter
- var s = doc.defaultView.localStorage;
- s["test_proxies_via_xray"] = "bar";
- // Check that this actually got passed on to the underlying object.
- is(s.wrappedJSObject["test_proxies_via_xray"], "bar",
- "Set should get forwarded to the underlying object without overridebuiltins");
- s["test_proxies_via_xray"] = "baz";
- // Check that this actually got passed on to the underlying object.
- is(s.wrappedJSObject["test_proxies_via_xray"], "baz",
- "Set should get forwarded to the underlying object again without overridebuiltins");
-
- SimpleTest.finish();
-}
-
-SimpleTest.waitForExplicitFinish();
-addLoadEvent(test);
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_queryInterface.html b/dom/bindings/test/test_queryInterface.html
deleted file mode 100644
index 076bf9e7db..0000000000
--- a/dom/bindings/test/test_queryInterface.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=827546
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 827546</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 827546 **/
-
- var notEditable = document.createElement("div");
- var thrown;
- try {
- thrown = false;
- SpecialPowers.do_QueryInterface(notEditable, "nsIDOMNSEditableElement");
- } catch (e) {
- thrown = true;
- }
- ok(thrown,
- "QI to nsIDOMNSEditableElement on a non-editable element should fail");
-
- var editable = document.createElement("input");
- ok(SpecialPowers.do_QueryInterface(editable, "nsIDOMNSEditableElement"),
- "Editable element needs to support QI to nsIDOMNSEditableElement");
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=827546">Mozilla Bug 827546</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_returnUnion.html b/dom/bindings/test/test_returnUnion.html
deleted file mode 100644
index 5be10ba3c6..0000000000
--- a/dom/bindings/test/test_returnUnion.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1048659
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1048659</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for returning unions from JS-implemented WebIDL. **/
- SimpleTest.waitForExplicitFinish();
- SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]}, go);
-
- function go() {
- var t = new TestInterfaceJS();
- var t2 = new TestInterfaceJS();
-
- is(t.pingPongUnion(t2), t2, "ping pong union for left case should be identity");
- is(t.pingPongUnion(12), 12, "ping pong union for right case should be identity");
-
- is(t.pingPongUnionContainingNull("this is not a string"), "this is not a string",
- "ping pong union containing union for left case should be identity");
- is(t.pingPongUnionContainingNull(null), null,
- "ping pong union containing null for right case null should be identity");
- is(t.pingPongUnionContainingNull(t2), t2,
- "ping pong union containing null for right case should be identity");
-
- is(t.pingPongNullableUnion(t2), t2, "ping pong nullable union for left case should be identity");
- is(t.pingPongNullableUnion(12), 12, "ping pong nullable union for right case should be identity");
- is(t.pingPongNullableUnion(null), null, "ping pong nullable union for null case should be identity");
-
- var rejectedBadUnion = false;
- var result = null;
- try {
- result = t.returnBadUnion();
- } catch (e) {
- rejectedBadUnion = true;
- }
- is(result, null, "bad union should not set a value for result");
- ok(rejectedBadUnion, "bad union should throw an exception");
-
- SimpleTest.finish();
- }
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1048659">Mozilla Bug 1048659</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_sequence_detection.html b/dom/bindings/test/test_sequence_detection.html
deleted file mode 100644
index 80dfac4db9..0000000000
--- a/dom/bindings/test/test_sequence_detection.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1066432
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1066432</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 1066432 **/
- SimpleTest.waitForExplicitFinish();
- SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]}, function() {
- var testInterfaceJS = new TestInterfaceJS();
- ok(testInterfaceJS, "got a TestInterfaceJS object");
-
- var nonIterableObject = {[Symbol.iterator]: 5};
-
- try {
- testInterfaceJS.testSequenceOverload(nonIterableObject);
- ok(false, "Should have thrown in the overload case"); // see long comment above!
- } catch (e) {
- is(e.name, "TypeError", "Should get a TypeError for the overload case");
- ok(e.message.includes("not iterable"),
- "Should have a message about being non-iterable in the overload case");
- }
-
- try {
- testInterfaceJS.testSequenceUnion(nonIterableObject);
- ok(false, "Should have thrown in the union case");
- } catch (e) {
- is(e.name, "TypeError", "Should get a TypeError for the union case");
- ok(e.message.includes("not iterable"),
- "Should have a message about being non-iterable in the union case");
- }
-
- SimpleTest.finish();
- });
-
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1066432">Mozilla Bug 1066432</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_sequence_wrapping.html b/dom/bindings/test/test_sequence_wrapping.html
deleted file mode 100644
index 7132e56019..0000000000
--- a/dom/bindings/test/test_sequence_wrapping.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=775852
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 775852</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=775852">Mozilla Bug 775852</a>
-<p id="display"></p>
-<div id="content" style="display: none">
- <canvas width="1" height="1" id="c"></canvas>
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 775852 **/
-function doTest() {
- var gl = $("c").getContext("experimental-webgl");
- if (!gl) {
- // No WebGL support on MacOS 10.5. Just skip this test
- todo(false, "WebGL not supported");
- return;
- }
- var setterCalled = false;
-
- extLength = gl.getSupportedExtensions().length;
- ok(extLength > 0,
- "This test won't work right if we have no supported extensions");
-
- Object.defineProperty(Array.prototype, "0",
- {
- set: function(val) {
- setterCalled = true;
- }
- });
-
- // Test that our property got defined correctly
- var arr = []
- arr[0] = 5;
- is(setterCalled, true, "Setter should be called when setting prop on array");
-
- setterCalled = false;
-
- is(gl.getSupportedExtensions().length, extLength,
- "We should still have the same number of extensions");
-
- is(setterCalled, false,
- "Setter should not be called when getting supported extensions");
-}
-doTest();
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_setWithNamedGetterNoNamedSetter.html b/dom/bindings/test/test_setWithNamedGetterNoNamedSetter.html
deleted file mode 100644
index 52f56151d4..0000000000
--- a/dom/bindings/test/test_setWithNamedGetterNoNamedSetter.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1043690
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1043690</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1043690">Mozilla Bug 1043690</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-<form>
- <input name="action">
-</form>
-</div>
- <script type="application/javascript">
-
- /** Test for Bug 1043690 **/
- var f = document.querySelector("form");
- var i = document.querySelector("input");
- is(f.getAttribute("action"), null, "Should have no action attribute");
- is(f.action, i, "form.action should be the input");
- f.action = "http://example.org";
- is(f.getAttribute("action"), "http://example.org",
- "Should have an action attribute now");
- is(f.action, i, "form.action should still be the input");
- i.remove();
- is(f.action, "http://example.org/",
- "form.action should no longer be shadowed");
-
-
- </script>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_stringBindings.html b/dom/bindings/test/test_stringBindings.html
deleted file mode 100644
index 1895b0342d..0000000000
--- a/dom/bindings/test/test_stringBindings.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1334537
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1334537</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 1334537 **/
- SimpleTest.waitForExplicitFinish();
-
- function go() {
- // Need a new global that will pick up our pref.
- var ifr = document.createElement("iframe");
- document.body.appendChild(ifr);
-
- var t = new ifr.contentWindow.TestFunctions();
- var testString = "abcdefghijklmnopqrstuvwxyz";
- const substringLength = 10;
- var shortTestString = testString.substring(0, substringLength);
-
- t.setStringData(testString);
- // Note: we want to do all our gets before we start running code we don't
- // control inside the test harness, if we really want to exercise the string
- // cache in controlled ways.
-
- var asShortDOMString = t.getStringDataAsDOMString(substringLength);
- var asFullDOMString = t.getStringDataAsDOMString();
- var asShortAString = t.getStringDataAsAString(substringLength);
- var asAString = t.getStringDataAsAString();
-
- is(asShortAString, shortTestString, "Short DOMString should be short");
- is(asFullDOMString, testString, "Full DOMString should be test string");
- is(asShortAString, shortTestString, "Short AString should be short");
- is(asAString, testString, "Full AString should be test string");
-
- SimpleTest.finish();
- }
-
- addLoadEvent(function() {
- SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]},
- go);
- });
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1334537">Mozilla Bug 1334537</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_throwing_method_noDCE.html b/dom/bindings/test/test_throwing_method_noDCE.html
deleted file mode 100644
index e952819a8b..0000000000
--- a/dom/bindings/test/test_throwing_method_noDCE.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>Test that we don't DCE functions that can throw</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<div id="log"></div>
-<script>
-test(function() {
- function test(root) {
- var threw = false;
- try {
- root.querySelectorAll("");
- } catch(e){ threw = true; };
- // Hot loop to make sure the JIT heuristics ion-compile this function even
- // though it's throwing exceptions (which would normally make us back off
- // of ion compilation).
- for (var i=0; i<1500; i++) {}
- return threw;
- }
-
- var threw = false;
- var el = document.createElement("div");
- for (var i=0; i<200; i++)
- threw = test(el);
- assert_true(threw);
-}, "Shouldn't optimize away throwing functions");
-</script>
diff --git a/dom/bindings/test/test_traceProtos.html b/dom/bindings/test/test_traceProtos.html
deleted file mode 100644
index 17a5cb96d4..0000000000
--- a/dom/bindings/test/test_traceProtos.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=744772
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 744772</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=744772">Mozilla Bug 744772</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="application/javascript">
-
-/** Test for Bug 744772 **/
-
-SimpleTest.waitForExplicitFinish();
-
-function callback() {
- new XMLHttpRequest().upload;
- ok(true, "Accessing unreferenced DOM interface objects shouldn't crash");
- SimpleTest.finish();
-}
-
-delete window.XMLHttpRequestUpload;
-SpecialPowers.exactGC(callback);
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_treat_non_object_as_null.html b/dom/bindings/test/test_treat_non_object_as_null.html
deleted file mode 100644
index fbb6ceb66b..0000000000
--- a/dom/bindings/test/test_treat_non_object_as_null.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=952365
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 952365</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 952365 **/
-
- var onvolumechange;
- var x = {};
-
- (function() {
- onvolumechange = x;
- is(onvolumechange, x,
- "Should preserve an object value when assigning to event handler");
- // Test that we don't try to actually call the non-callable object
- window.dispatchEvent(new Event("volumechange"));
- onvolumechange = 5;
- is(onvolumechange, null,
- "Non-object values should become null when assigning to event handler");
- })();
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=952365">Mozilla Bug 952365</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/bindings/test/test_unforgeablesonexpando.html b/dom/bindings/test/test_unforgeablesonexpando.html
deleted file mode 100644
index 419e6ac7d5..0000000000
--- a/dom/bindings/test/test_unforgeablesonexpando.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>Test for making sure named getters don't override the unforgeable location on HTMLDocument</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<div id="log"></div>
-<img name="location">
-<script>
-test(function() {
- assert_equals(document.location, window.location,
- 'The <img name="location"> should not override the location getter');
-}, "document.location is the right thing");
-test(function() {
- var doc = new DOMParser().parseFromString("<img name='location'>", "text/html");
- assert_equals(doc.location, null,
- 'The <img name="location"> should not override the location getter on a data document');
-}, "document.location is the right thing on non-rendered document");
-</script>
diff --git a/dom/bindings/test/test_usvstring.html b/dom/bindings/test/test_usvstring.html
deleted file mode 100644
index cbb1e7971d..0000000000
--- a/dom/bindings/test/test_usvstring.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!-- Any copyright is dedicated to the Public Domain.
- - http://creativecommons.org/publicdomain/zero/1.0/ -->
-<!DOCTYPE HTML>
-<html>
-<head>
- <title>Test USVString</title>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
-</head>
-<body>
-<script class="testbody" type="application/javascript">
-SimpleTest.waitForExplicitFinish();
-SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]}, function() {
- var testInterfaceJS = new TestInterfaceJS();
- ok(testInterfaceJS, "got a TestInterfaceJS object");
- // For expected values, see algorithm definition here:
- // http://heycam.github.io/webidl/#dfn-obtain-unicode
- var testList = [
- { string: "foo",
- expected: "foo" },
- { string: "This is U+2070E: \ud841\udf0e",
- expected: "This is U+2070E: \ud841\udf0e" },
- { string: "Missing low surrogate: \ud841",
- expected: "Missing low surrogate: \ufffd" },
- { string: "Missing low surrogate with trailer: \ud841!!",
- expected: "Missing low surrogate with trailer: \ufffd!!" },
- { string: "Missing high surrogate: \udf0e",
- expected: "Missing high surrogate: \ufffd" },
- { string: "Missing high surrogate with trailer: \udf0e!!",
- expected: "Missing high surrogate with trailer: \ufffd!!" },
- { string: "U+2070E after malformed: \udf0e\ud841\udf0e",
- expected: "U+2070E after malformed: \ufffd\ud841\udf0e" }
- ];
- testList.forEach(function(test) {
- is(testInterfaceJS.convertSVS(test.string), test.expected, "Convert '" + test.string + "'");
- });
- SimpleTest.finish();
-});
-</script>
-</body>
-</html>
diff --git a/dom/bindings/test/test_worker_UnwrapArg.html b/dom/bindings/test/test_worker_UnwrapArg.html
deleted file mode 100644
index 1331a83f41..0000000000
--- a/dom/bindings/test/test_worker_UnwrapArg.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=1127206
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 1127206</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript">
-
- /** Test for Bug 1127206 **/
- SimpleTest.waitForExplicitFinish();
- var blob = new Blob([
- `try { new File({}); }
- catch (e) {
- postMessage("throwing on random object");
- }
- try { new File(new Blob(["abc"])); }
- catch (e) {
- postMessage("throwing on Blob");
- }
- try { new File("abc"); }
- catch (e) {
- postMessage("throwing on string");
- }
- postMessage('finishTest')`]);
- var url = URL.createObjectURL(blob);
- var w = new Worker(url);
- var expectedResults = [
- "throwing on random object",
- "throwing on Blob",
- "throwing on string",
- ];
- var curIndex = 0;
- w.onmessage = function(e) {
- if (curIndex == expectedResults.length) {
- is(e.data, "finishTest", "What message is this?");
- SimpleTest.finish();
- } else {
- is(e.data, expectedResults[curIndex],
- "Message " + (curIndex+1) + " should be correct");
- ++curIndex;
- }
- }
- </script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1127206">Mozilla Bug 1127206</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-</pre>
-</body>
-</html>
diff --git a/dom/media/gtest/moz.build b/dom/media/gtest/moz.build
index ae059962c8..a7ea738073 100644
--- a/dom/media/gtest/moz.build
+++ b/dom/media/gtest/moz.build
@@ -28,11 +28,6 @@ UNIFIED_SOURCES += [
'TestWebMBuffered.cpp',
]
-if CONFIG['MOZ_EME']:
- UNIFIED_SOURCES += [
- 'TestEME.cpp',
- ]
-
if CONFIG['MOZ_WEBM_ENCODER']:
UNIFIED_SOURCES += [
'TestVideoTrackEncoder.cpp',
diff --git a/dom/media/webaudio/gtest/TestAudioEventTimeline.cpp b/dom/media/webaudio/gtest/TestAudioEventTimeline.cpp
index cc731d3e2b..661b6cbd26 100644
--- a/dom/media/webaudio/gtest/TestAudioEventTimeline.cpp
+++ b/dom/media/webaudio/gtest/TestAudioEventTimeline.cpp
@@ -9,17 +9,6 @@
#include <limits>
#include "gtest/gtest.h"
-// Mock the MediaStream class
-namespace mozilla {
-class MediaStream
-{
- NS_INLINE_DECL_THREADSAFE_REFCOUNTING(MediaStream)
-private:
- ~MediaStream() {
- };
-};
-}
-
using namespace mozilla;
using namespace mozilla::dom;
using std::numeric_limits;
diff --git a/dom/plugins/test/mochitest/mochitest.ini b/dom/plugins/test/mochitest/mochitest.ini
index 0e8587f34d..64aefcd12a 100644
--- a/dom/plugins/test/mochitest/mochitest.ini
+++ b/dom/plugins/test/mochitest/mochitest.ini
@@ -23,7 +23,6 @@ support-files =
pluginstream.js
post.sjs
plugin-utils.js
- !/toolkit/components/passwordmgr/test/authenticate.sjs
[test_bug406541.html]
[test_bug532208.html]
diff --git a/dom/tests/mochitest/webcomponents/mochitest.ini b/dom/tests/mochitest/webcomponents/mochitest.ini
index 84322d21d0..428cc0e73f 100644
--- a/dom/tests/mochitest/webcomponents/mochitest.ini
+++ b/dom/tests/mochitest/webcomponents/mochitest.ini
@@ -22,19 +22,14 @@ skip-if = true || stylo # disabled - See bug 1390396 and 1293844
[test_custom_element_when_defined.html]
[test_custom_element_uncatchable_exception.html]
skip-if = !debug # TestFunctions only applied in debug builds
-[test_custom_element_define.html]
-[test_custom_element_define_parser.html]
-[test_custom_element_template.html]
[test_detached_style.html]
[test_document_adoptnode.html]
[test_document_importnode.html]
[test_document_register.html]
[test_document_register_lifecycle.html]
skip-if = true # disabled - See bug 1390396
-[test_document_register_parser.html]
[test_document_register_stack.html]
skip-if = true # disabled - See bug 1390396
-[test_document_shared_registry.html]
[test_event_retarget.html]
[test_event_stopping.html]
[test_template.html]