/* 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/. */ // check-tidy: no specs after this line use dom::bindings::codegen::Bindings::EventListenerBinding::EventListener; use dom::bindings::codegen::Bindings::FunctionBinding::Function; use dom::bindings::codegen::Bindings::TestBindingBinding::{self, TestBindingMethods, TestEnum}; use dom::bindings::codegen::UnionTypes::{BlobOrString, EventOrString}; use dom::bindings::codegen::UnionTypes::{EventOrUSVString, HTMLElementOrLong}; use dom::bindings::error::Fallible; use dom::bindings::global::{GlobalRef, global_root_from_reflector}; use dom::bindings::js::Root; use dom::bindings::num::Finite; use dom::bindings::reflector::{Reflector, reflect_dom_object}; use dom::bindings::str::{ByteString, USVString}; use dom::bindings::weakref::MutableWeakRef; use dom::blob::Blob; use dom::url::URL; use js::jsapi::{HandleValue, JSContext, JSObject}; use js::jsval::{JSVal, NullValue}; use std::borrow::ToOwned; use std::ptr; use std::rc::Rc; use util::str::DOMString; #[dom_struct] pub struct TestBinding { reflector_: Reflector, url: MutableWeakRef, } impl TestBinding { fn new_inherited() -> TestBinding { TestBinding { reflector_: Reflector::new(), url: MutableWeakRef::new(None), } } pub fn new(global: GlobalRef) -> Root { reflect_dom_object(box TestBinding::new_inherited(), global, TestBindingBinding::Wrap) } pub fn Constructor(global: GlobalRef) -> Fallible> { Ok(TestBinding::new(global)) } } impl TestBindingMethods for TestBinding { fn BooleanAttribute(&self) -> bool { false } fn SetBooleanAttribute(&self, _: bool) {} fn ByteAttribute(&self) -> i8 { 0 } fn SetByteAttribute(&self, _: i8) {} fn OctetAttribute(&self) -> u8 { 0 } fn SetOctetAttribute(&self, _: u8) {} fn ShortAttribute(&self) -> i16 { 0 } fn SetShortAttribute(&self, _: i16) {} fn UnsignedShortAttribute(&self) -> u16 { 0 } fn SetUnsignedShortAttribute(&self, _: u16) {} fn LongAttribute(&self) -> i32 { 0 } fn SetLongAttribute(&self, _: i32) {} fn UnsignedLongAttribute(&self) -> u32 { 0 } fn SetUnsignedLongAttribute(&self, _: u32) {} fn LongLongAttribute(&self) -> i64 { 0 } fn SetLongLongAttribute(&self, _: i64) {} fn UnsignedLongLongAttribute(&self) -> u64 { 0 } fn SetUnsignedLongLongAttribute(&self, _: u64) {} fn UnrestrictedFloatAttribute(&self) -> f32 { 0. } fn SetUnrestrictedFloatAttribute(&self, _: f32) {} fn FloatAttribute(&self) -> Finite { Finite::wrap(0.) } fn SetFloatAttribute(&self, _: Finite) {} fn UnrestrictedDoubleAttribute(&self) -> f64 { 0. } fn SetUnrestrictedDoubleAttribute(&self, _: f64) {} fn DoubleAttribute(&self) -> Finite { Finite::wrap(0.) } fn SetDoubleAttribute(&self, _: Finite) {} fn StringAttribute(&self) -> DOMString { DOMString::new() } fn SetStringAttribute(&self, _: DOMString) {} fn UsvstringAttribute(&self) -> USVString { USVString("".to_owned()) } fn SetUsvstringAttribute(&self, _: USVString) {} fn ByteStringAttribute(&self) -> ByteString { ByteString::new(vec!()) } fn SetByteStringAttribute(&self, _: ByteString) {} fn EnumAttribute(&self) -> TestEnum { TestEnum::_empty } fn SetEnumAttribute(&self, _: TestEnum) {} fn InterfaceAttribute(&self) -> Root { Blob::new(global_root_from_reflector(self).r(), None, "") } fn SetInterfaceAttribute(&self, _: &Blob) {} fn UnionAttribute(&self) -> HTMLElementOrLong { HTMLElementOrLong::eLong(0) } fn SetUnionAttribute(&self, _: HTMLElementOrLong) {} fn Union2Attribute(&self) -> EventOrString { EventOrString::eString(DOMString::new()) } fn SetUnion2Attribute(&self, _: EventOrString) {} fn Union3Attribute(&self) -> EventOrUSVString { EventOrUSVString::eUSVString(USVString("".to_owned())) } fn SetUnion3Attribute(&self, _: EventOrUSVString) {} fn ArrayAttribute(&self, _: *mut JSContext) -> *mut JSObject { NullValue().to_object_or_null() } fn AnyAttribute(&self, _: *mut JSContext) -> JSVal { NullValue() } fn SetAnyAttribute(&self, _: *mut JSContext, _: HandleValue) {} fn ObjectAttribute(&self, _: *mut JSContext) -> *mut JSObject { panic!() } fn SetObjectAttribute(&self, _: *mut JSContext, _: *mut JSObject) {} fn GetBooleanAttributeNullable(&self) -> Option { Some(false) } fn SetBooleanAttributeNullable(&self, _: Option) {} fn GetByteAttributeNullable(&self) -> Option { Some(0) } fn SetByteAttributeNullable(&self, _: Option) {} fn GetOctetAttributeNullable(&self) -> Option { Some(0) } fn SetOctetAttributeNullable(&self, _: Option) {} fn GetShortAttributeNullable(&self) -> Option { Some(0) } fn SetShortAttributeNullable(&self, _: Option) {} fn GetUnsignedShortAttributeNullable(&self) -> Option { Some(0) } fn SetUnsignedShortAttributeNullable(&self, _: Option) {} fn GetLongAttributeNullable(&self) -> Option { Some(0) } fn SetLongAttributeNullable(&self, _: Option) {} fn GetUnsignedLongAttributeNullable(&self) -> Option { Some(0) } fn SetUnsignedLongAttributeNullable(&self, _: Option) {} fn GetLongLongAttributeNullable(&self) -> Option { Some(0) } fn SetLongLongAttributeNullable(&self, _: Option) {} fn GetUnsignedLongLongAttributeNullable(&self) -> Option { Some(0) } fn SetUnsignedLongLongAttributeNullable(&self, _: Option) {} fn GetUnrestrictedFloatAttributeNullable(&self) -> Option { Some(0.) } fn SetUnrestrictedFloatAttributeNullable(&self, _: Option) {} fn GetFloatAttributeNullable(&self) -> Option> { Some(Finite::wrap(0.)) } fn SetFloatAttributeNullable(&self, _: Option>) {} fn GetUnrestrictedDoubleAttributeNullable(&self) -> Option { Some(0.) } fn SetUnrestrictedDoubleAttributeNullable(&self, _: Option) {} fn GetDoubleAttributeNullable(&self) -> Option> { Some(Finite::wrap(0.)) } fn SetDoubleAttributeNullable(&self, _: Option>) {} fn GetByteStringAttributeNullable(&self) -> Option { Some(ByteString::new(vec!())) } fn SetByteStringAttributeNullable(&self, _: Option) {} fn GetStringAttributeNullable(&self) -> Option { Some(DOMString::new()) } fn SetStringAttributeNullable(&self, _: Option) {} fn GetUsvstringAttributeNullable(&self) -> Option { Some(USVString("".to_owned())) } fn SetUsvstringAttributeNullable(&self, _: Option) {} fn SetBinaryRenamedAttribute(&self, _: DOMString) {} fn ForwardedAttribute(&self) -> Root { Root::from_ref(self) } fn BinaryRenamedAttribute(&self) -> DOMString { DOMString::new() } fn SetBinaryRenamedAttribute2(&self, _: DOMString) {} fn BinaryRenamedAttribute2(&self) -> DOMString { DOMString::new() } fn Attr_to_automatically_rename(&self) -> DOMString { DOMString::new() } fn SetAttr_to_automatically_rename(&self, _: DOMString) {} fn GetEnumAttributeNullable(&self) -> Option { Some(TestEnum::_empty) } fn GetInterfaceAttributeNullable(&self) -> Option> { Some(Blob::new(global_root_from_reflector(self).r(), None, "")) } fn SetInterfaceAttributeNullable(&self, _: Option<&Blob>) {} fn GetInterfaceAttributeWeak(&self) -> Option> { self.url.root() } fn SetInterfaceAttributeWeak(&self, url: Option<&URL>) { self.url.set(url); } fn GetObjectAttributeNullable(&self, _: *mut JSContext) -> *mut JSObject { ptr::null_mut() } fn SetObjectAttributeNullable(&self, _: *mut JSContext, _: *mut JSObject) {} fn GetUnionAttributeNullable(&self) -> Option { Some(HTMLElementOrLong::eLong(0)) } fn SetUnionAttributeNullable(&self, _: Option) {} fn GetUnion2AttributeNullable(&self) -> Option { Some(EventOrString::eString(DOMString::new())) } fn SetUnion2AttributeNullable(&self, _: Option) {} fn BinaryRenamedMethod(&self) -> () {} fn ReceiveVoid(&self) -> () {} fn ReceiveBoolean(&self) -> bool { false } fn ReceiveByte(&self) -> i8 { 0 } fn ReceiveOctet(&self) -> u8 { 0 } fn ReceiveShort(&self) -> i16 { 0 } fn ReceiveUnsignedShort(&self) -> u16 { 0 } fn ReceiveLong(&self) -> i32 { 0 } fn ReceiveUnsignedLong(&self) -> u32 { 0 } fn ReceiveLongLong(&self) -> i64 { 0 } fn ReceiveUnsignedLongLong(&self) -> u64 { 0 } fn ReceiveUnrestrictedFloat(&self) -> f32 { 0. } fn ReceiveFloat(&self) -> Finite { Finite::wrap(0.) } fn ReceiveUnrestrictedDouble(&self) -> f64 { 0. } fn ReceiveDouble(&self) -> Finite { Finite::wrap(0.) } fn ReceiveString(&self) -> DOMString { DOMString::new() } fn ReceiveUsvstring(&self) -> USVString { USVString("".to_owned()) } fn ReceiveByteString(&self) -> ByteString { ByteString::new(vec!()) } fn ReceiveEnum(&self) -> TestEnum { TestEnum::_empty } fn ReceiveInterface(&self) -> Root { Blob::new(global_root_from_reflector(self).r(), None, "") } fn ReceiveAny(&self, _: *mut JSContext) -> JSVal { NullValue() } fn ReceiveObject(&self, _: *mut JSContext) -> *mut JSObject { panic!() } fn ReceiveUnion(&self) -> HTMLElementOrLong { HTMLElementOrLong::eLong(0) } fn ReceiveUnion2(&self) -> EventOrString { EventOrString::eString(DOMString::new()) } fn ReceiveNullableBoolean(&self) -> Option { Some(false) } fn ReceiveNullableByte(&self) -> Option { Some(0) } fn ReceiveNullableOctet(&self) -> Option { Some(0) } fn ReceiveNullableShort(&self) -> Option { Some(0) } fn ReceiveNullableUnsignedShort(&self) -> Option { Some(0) } fn ReceiveNullableLong(&self) -> Option { Some(0) } fn ReceiveNullableUnsignedLong(&self) -> Option { Some(0) } fn ReceiveNullableLongLong(&self) -> Option { Some(0) } fn ReceiveNullableUnsignedLongLong(&self) -> Option { Some(0) } fn ReceiveNullableUnrestrictedFloat(&self) -> Option { Some(0.) } fn ReceiveNullableFloat(&self) -> Option> { Some(Finite::wrap(0.)) } fn ReceiveNullableUnrestrictedDouble(&self) -> Option { Some(0.) } fn ReceiveNullableDouble(&self) -> Option> { Some(Finite::wrap(0.)) } fn ReceiveNullableString(&self) -> Option { Some(DOMString::new()) } fn ReceiveNullableUsvstring(&self) -> Option { Some(USVString("".to_owned())) } fn ReceiveNullableByteString(&self) -> Option { Some(ByteString::new(vec!())) } fn ReceiveNullableEnum(&self) -> Option { Some(TestEnum::_empty) } fn ReceiveNullableInterface(&self) -> Option> { Some(Blob::new(global_root_from_reflector(self).r(), None, "")) } fn ReceiveNullableObject(&self, _: *mut JSContext) -> *mut JSObject { ptr::null_mut() } fn ReceiveNullableUnion(&self) -> Option { Some(HTMLElementOrLong::eLong(0)) } fn ReceiveNullableUnion2(&self) -> Option { Some(EventOrString::eString(DOMString::new())) } fn PassBoolean(&self, _: bool) {} fn PassByte(&self, _: i8) {} fn PassOctet(&self, _: u8) {} fn PassShort(&self, _: i16) {} fn PassUnsignedShort(&self, _: u16) {} fn PassLong(&self, _: i32) {} fn PassUnsignedLong(&self, _: u32) {} fn PassLongLong(&self, _: i64) {} fn PassUnsignedLongLong(&self, _: u64) {} fn PassUnrestrictedFloat(&self, _: f32) {} fn PassFloat(&self, _: Finite) {} fn PassUnrestrictedDouble(&self, _: f64) {} fn PassDouble(&self, _: Finite) {} fn PassString(&self, _: DOMString) {} fn PassUsvstring(&self, _: USVString) {} fn PassByteString(&self, _: ByteString) {} fn PassEnum(&self, _: TestEnum) {} fn PassInterface(&self, _: &Blob) {} fn PassUnion(&self, _: HTMLElementOrLong) {} fn PassUnion2(&self, _: EventOrString) {} fn PassUnion3(&self, _: BlobOrString) {} fn PassAny(&self, _: *mut JSContext, _: HandleValue) {} fn PassObject(&self, _: *mut JSContext, _: *mut JSObject) {} fn PassCallbackFunction(&self, _: Rc) {} fn PassCallbackInterface(&self, _: Rc) {} fn PassNullableBoolean(&self, _: Option) {} fn PassNullableByte(&self, _: Option) {} fn PassNullableOctet(&self, _: Option) {} fn PassNullableShort(&self, _: Option) {} fn PassNullableUnsignedShort(&self, _: Option) {} fn PassNullableLong(&self, _: Option) {} fn PassNullableUnsignedLong(&self, _: Option) {} fn PassNullableLongLong(&self, _: Option) {} fn PassNullableUnsignedLongLong(&self, _: Option) {} fn PassNullableUnrestrictedFloat(&self, _: Option) {} fn PassNullableFloat(&self, _: Option>) {} fn PassNullableUnrestrictedDouble(&self, _: Option) {} fn PassNullableDouble(&self, _: Option>) {} fn PassNullableString(&self, _: Option) {} fn PassNullableUsvstring(&self, _: Option) {} fn PassNullableByteString(&self, _: Option) {} // fn PassNullableEnum(self, _: Option) {} fn PassNullableInterface(&self, _: Option<&Blob>) {} fn PassNullableObject(&self, _: *mut JSContext, _: *mut JSObject) {} fn PassNullableUnion(&self, _: Option) {} fn PassNullableUnion2(&self, _: Option) {} fn PassNullableCallbackFunction(&self, _: Option>) {} fn PassNullableCallbackInterface(&self, _: Option>) {} fn PassOptionalBoolean(&self, _: Option) {} fn PassOptionalByte(&self, _: Option) {} fn PassOptionalOctet(&self, _: Option) {} fn PassOptionalShort(&self, _: Option) {} fn PassOptionalUnsignedShort(&self, _: Option) {} fn PassOptionalLong(&self, _: Option) {} fn PassOptionalUnsignedLong(&self, _: Option) {} fn PassOptionalLongLong(&self, _: Option) {} fn PassOptionalUnsignedLongLong(&self, _: Option) {} fn PassOptionalUnrestrictedFloat(&self, _: Option) {} fn PassOptionalFloat(&self, _: Option>) {} fn PassOptionalUnrestrictedDouble(&self, _: Option) {} fn PassOptionalDouble(&self, _: Option>) {} fn PassOptionalString(&self, _: Option) {} fn PassOptionalUsvstring(&self, _: Option) {} fn PassOptionalByteString(&self, _: Option) {} fn PassOptionalEnum(&self, _: Option) {} fn PassOptionalInterface(&self, _: Option<&Blob>) {} fn PassOptionalUnion(&self, _: Option) {} fn PassOptionalUnion2(&self, _: Option) {} fn PassOptionalAny(&self, _: *mut JSContext, _: HandleValue) {} fn PassOptionalObject(&self, _: *mut JSContext, _: Option<*mut JSObject>) {} fn PassOptionalCallbackFunction(&self, _: Option>) {} fn PassOptionalCallbackInterface(&self, _: Option>) {} fn PassOptionalNullableBoolean(&self, _: Option>) {} fn PassOptionalNullableByte(&self, _: Option>) {} fn PassOptionalNullableOctet(&self, _: Option>) {} fn PassOptionalNullableShort(&self, _: Option>) {} fn PassOptionalNullableUnsignedShort(&self, _: Option>) {} fn PassOptionalNullableLong(&self, _: Option>) {} fn PassOptionalNullableUnsignedLong(&self, _: Option>) {} fn PassOptionalNullableLongLong(&self, _: Option>) {} fn PassOptionalNullableUnsignedLongLong(&self, _: Option>) {} fn PassOptionalNullableUnrestrictedFloat(&self, _: Option>) {} fn PassOptionalNullableFloat(&self, _: Option>>) {} fn PassOptionalNullableUnrestrictedDouble(&self, _: Option>) {} fn PassOptionalNullableDouble(&self, _: Option>>) {} fn PassOptionalNullableString(&self, _: Option>) {} fn PassOptionalNullableUsvstring(&self, _: Option>) {} fn PassOptionalNullableByteString(&self, _: Option>) {} // fn PassOptionalNullableEnum(self, _: Option>) {} fn PassOptionalNullableInterface(&self, _: Option>) {} fn PassOptionalNullableObject(&self, _: *mut JSContext, _: Option<*mut JSObject>) {} fn PassOptionalNullableUnion(&self, _: Option>) {} fn PassOptionalNullableUnion2(&self, _: Option>) {} fn PassOptionalNullableCallbackFunction(&self, _: Option>>) {} fn PassOptionalNullableCallbackInterface(&self, _: Option>>) {} fn PassOptionalBooleanWithDefault(&self, _: bool) {} fn PassOptionalByteWithDefault(&self, _: i8) {} fn PassOptionalOctetWithDefault(&self, _: u8) {} fn PassOptionalShortWithDefault(&self, _: i16) {} fn PassOptionalUnsignedShortWithDefault(&self, _: u16) {} fn PassOptionalLongWithDefault(&self, _: i32) {} fn PassOptionalUnsignedLongWithDefault(&self, _: u32) {} fn PassOptionalLongLongWithDefault(&self, _: i64) {} fn PassOptionalUnsignedLongLongWithDefault(&self, _: u64) {} fn PassOptionalStringWithDefault(&self, _: DOMString) {} fn PassOptionalUsvstringWithDefault(&self, _: USVString) {} fn PassOptionalEnumWithDefault(&self, _: TestEnum) {} fn PassOptionalNullableBooleanWithDefault(&self, _: Option) {} fn PassOptionalNullableByteWithDefault(&self, _: Option) {} fn PassOptionalNullableOctetWithDefault(&self, _: Option) {} fn PassOptionalNullableShortWithDefault(&self, _: Option) {} fn PassOptionalNullableUnsignedShortWithDefault(&self, _: Option) {} fn PassOptionalNullableLongWithDefault(&self, _: Option) {} fn PassOptionalNullableUnsignedLongWithDefault(&self, _: Option) {} fn PassOptionalNullableLongLongWithDefault(&self, _: Option) {} fn PassOptionalNullableUnsignedLongLongWithDefault(&self, _: Option) {} // fn PassOptionalNullableUnrestrictedFloatWithDefault(self, _: Option) {} // fn PassOptionalNullableFloatWithDefault(self, _: Option>) {} // fn PassOptionalNullableUnrestrictedDoubleWithDefault(self, _: Option) {} // fn PassOptionalNullableDoubleWithDefault(self, _: Option>) {} fn PassOptionalNullableStringWithDefault(&self, _: Option) {} fn PassOptionalNullableUsvstringWithDefault(&self, _: Option) {} fn PassOptionalNullableByteStringWithDefault(&self, _: Option) {} // fn PassOptionalNullableEnumWithDefault(self, _: Option) {} fn PassOptionalNullableInterfaceWithDefault(&self, _: Option<&Blob>) {} fn PassOptionalNullableObjectWithDefault(&self, _: *mut JSContext, _: *mut JSObject) {} fn PassOptionalNullableUnionWithDefault(&self, _: Option) {} fn PassOptionalNullableUnion2WithDefault(&self, _: Option) {} // fn PassOptionalNullableCallbackFunctionWithDefault(self, _: Option) {} fn PassOptionalNullableCallbackInterfaceWithDefault(&self, _: Option>) {} fn PassOptionalAnyWithDefault(&self, _: *mut JSContext, _: HandleValue) {} fn PassOptionalNullableBooleanWithNonNullDefault(&self, _: Option) {} fn PassOptionalNullableByteWithNonNullDefault(&self, _: Option) {} fn PassOptionalNullableOctetWithNonNullDefault(&self, _: Option) {} fn PassOptionalNullableShortWithNonNullDefault(&self, _: Option) {} fn PassOptionalNullableUnsignedShortWithNonNullDefault(&self, _: Option) {} fn PassOptionalNullableLongWithNonNullDefault(&self, _: Option) {} fn PassOptionalNullableUnsignedLongWithNonNullDefault(&self, _: Option) {} fn PassOptionalNullableLongLongWithNonNullDefault(&self, _: Option) {} fn PassOptionalNullableUnsignedLongLongWithNonNullDefault(&self, _: Option) {} // fn PassOptionalNullableUnrestrictedFloatWithNonNullDefault(self, _: Option) {} // fn PassOptionalNullableFloatWithNonNullDefault(self, _: Option>) {} // fn PassOptionalNullableUnrestrictedDoubleWithNonNullDefault(self, _: Option) {} // fn PassOptionalNullableDoubleWithNonNullDefault(self, _: Option>) {} fn PassOptionalNullableStringWithNonNullDefault(&self, _: Option) {} fn PassOptionalNullableUsvstringWithNonNullDefault(&self, _: Option) {} // fn PassOptionalNullableEnumWithNonNullDefault(self, _: Option) {} fn PassVariadicBoolean(&self, _: Vec) {} fn PassVariadicBooleanAndDefault(&self, _: bool, _: Vec) {} fn PassVariadicByte(&self, _: Vec) {} fn PassVariadicOctet(&self, _: Vec) {} fn PassVariadicShort(&self, _: Vec) {} fn PassVariadicUnsignedShort(&self, _: Vec) {} fn PassVariadicLong(&self, _: Vec) {} fn PassVariadicUnsignedLong(&self, _: Vec) {} fn PassVariadicLongLong(&self, _: Vec) {} fn PassVariadicUnsignedLongLong(&self, _: Vec) {} fn PassVariadicUnrestrictedFloat(&self, _: Vec) {} fn PassVariadicFloat(&self, _: Vec>) {} fn PassVariadicUnrestrictedDouble(&self, _: Vec) {} fn PassVariadicDouble(&self, _: Vec>) {} fn PassVariadicString(&self, _: Vec) {} fn PassVariadicUsvstring(&self, _: Vec) {} fn PassVariadicByteString(&self, _: Vec) {} fn PassVariadicEnum(&self, _: Vec) {} fn PassVariadicInterface(&self, _: &[&Blob]) {} fn PassVariadicUnion(&self, _: Vec) {} fn PassVariadicUnion2(&self, _: Vec) {} fn PassVariadicUnion3(&self, _: Vec) {} fn PassVariadicAny(&self, _: *mut JSContext, _: Vec) {} fn PassVariadicObject(&self, _: *mut JSContext, _: Vec<*mut JSObject>) {} } impl TestBinding { pub fn BooleanAttributeStatic(_: GlobalRef) -> bool { false } pub fn SetBooleanAttributeStatic(_: GlobalRef, _: bool) {} pub fn ReceiveVoidStatic(_: GlobalRef) {} }