diff options
Diffstat (limited to 'dom')
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] |