aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/testbinding.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/dom/testbinding.rs')
-rw-r--r--src/components/script/dom/testbinding.rs544
1 files changed, 365 insertions, 179 deletions
diff --git a/src/components/script/dom/testbinding.rs b/src/components/script/dom/testbinding.rs
index 6283b5a350e..a860d1c3d0f 100644
--- a/src/components/script/dom/testbinding.rs
+++ b/src/components/script/dom/testbinding.rs
@@ -2,7 +2,7 @@
* 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 dom::bindings::js::JS;
+use dom::bindings::js::{JS, JSRef, Temporary};
use dom::bindings::codegen::BindingDeclarations::TestBindingBinding;
use dom::bindings::codegen::UnionTypes::HTMLElementOrLong;
use self::TestBindingBinding::TestEnum;
@@ -22,184 +22,370 @@ pub struct TestBinding {
pub window: JS<Window>,
}
-impl TestBinding {
- pub fn BooleanAttribute(&self) -> bool { false }
- pub fn SetBooleanAttribute(&self, _: bool) {}
- pub fn ByteAttribute(&self) -> i8 { 0 }
- pub fn SetByteAttribute(&self, _: i8) {}
- pub fn OctetAttribute(&self) -> u8 { 0 }
- pub fn SetOctetAttribute(&self, _: u8) {}
- pub fn ShortAttribute(&self) -> i16 { 0 }
- pub fn SetShortAttribute(&self, _: i16) {}
- pub fn UnsignedShortAttribute(&self) -> u16 { 0 }
- pub fn SetUnsignedShortAttribute(&self, _: u16) {}
- pub fn LongAttribute(&self) -> i32 { 0 }
- pub fn SetLongAttribute(&self, _: i32) {}
- pub fn UnsignedLongAttribute(&self) -> u32 { 0 }
- pub fn SetUnsignedLongAttribute(&self, _: u32) {}
- pub fn LongLongAttribute(&self) -> i64 { 0 }
- pub fn SetLongLongAttribute(&self, _: i64) {}
- pub fn UnsignedLongLongAttribute(&self) -> u64 { 0 }
- pub fn SetUnsignedLongLongAttribute(&self, _: u64) {}
- pub fn FloatAttribute(&self) -> f32 { 0. }
- pub fn SetFloatAttribute(&self, _: f32) {}
- pub fn DoubleAttribute(&self) -> f64 { 0. }
- pub fn SetDoubleAttribute(&self, _: f64) {}
- pub fn StringAttribute(&self) -> DOMString { ~"" }
- pub fn SetStringAttribute(&self, _: DOMString) {}
- pub fn ByteStringAttribute(&self) -> ByteString { ByteString::new(vec!()) }
- pub fn SetByteStringAttribute(&self, _: ByteString) {}
- pub fn EnumAttribute(&self) -> TestEnum { _empty }
- pub fn SetEnumAttribute(&self, _: TestEnum) {}
- pub fn InterfaceAttribute(&self) -> JS<Blob> { Blob::new(&self.window) }
- pub fn SetInterfaceAttribute(&self, _: &JS<Blob>) {}
- pub fn AnyAttribute(&self, _: *JSContext) -> JSVal { NullValue() }
- pub fn SetAnyAttribute(&self, _: *JSContext, _: JSVal) {}
-
- pub fn GetBooleanAttributeNullable(&self) -> Option<bool> { Some(false) }
- pub fn SetBooleanAttributeNullable(&self, _: Option<bool>) {}
- pub fn GetByteAttributeNullable(&self) -> Option<i8> { Some(0) }
- pub fn SetByteAttributeNullable(&self, _: Option<i8>) {}
- pub fn GetOctetAttributeNullable(&self) -> Option<u8> { Some(0) }
- pub fn SetOctetAttributeNullable(&self, _: Option<u8>) {}
- pub fn GetShortAttributeNullable(&self) -> Option<i16> { Some(0) }
- pub fn SetShortAttributeNullable(&self, _: Option<i16>) {}
- pub fn GetUnsignedShortAttributeNullable(&self) -> Option<u16> { Some(0) }
- pub fn SetUnsignedShortAttributeNullable(&self, _: Option<u16>) {}
- pub fn GetLongAttributeNullable(&self) -> Option<i32> { Some(0) }
- pub fn SetLongAttributeNullable(&self, _: Option<i32>) {}
- pub fn GetUnsignedLongAttributeNullable(&self) -> Option<u32> { Some(0) }
- pub fn SetUnsignedLongAttributeNullable(&self, _: Option<u32>) {}
- pub fn GetLongLongAttributeNullable(&self) -> Option<i64> { Some(0) }
- pub fn SetLongLongAttributeNullable(&self, _: Option<i64>) {}
- pub fn GetUnsignedLongLongAttributeNullable(&self) -> Option<u64> { Some(0) }
- pub fn SetUnsignedLongLongAttributeNullable(&self, _: Option<u64>) {}
- pub fn GetFloatAttributeNullable(&self) -> Option<f32> { Some(0.) }
- pub fn SetFloatAttributeNullable(&self, _: Option<f32>) {}
- pub fn GetDoubleAttributeNullable(&self) -> Option<f64> { Some(0.) }
- pub fn SetDoubleAttributeNullable(&self, _: Option<f64>) {}
- pub fn GetByteStringAttributeNullable(&self) -> Option<ByteString> { Some(ByteString::new(vec!())) }
- pub fn SetByteStringAttributeNullable(&self, _: Option<ByteString>) {}
- pub fn GetStringAttributeNullable(&self) -> Option<DOMString> { Some(~"") }
- pub fn SetStringAttributeNullable(&self, _: Option<DOMString>) {}
- pub fn GetEnumAttributeNullable(&self) -> Option<TestEnum> { Some(_empty) }
- pub fn GetInterfaceAttributeNullable(&self) -> Option<JS<Blob>> { Some(Blob::new(&self.window)) }
- pub fn SetInterfaceAttributeNullable(&self, _: Option<JS<Blob>>) {}
-
- pub fn PassBoolean(&self, _: bool) {}
- pub fn PassByte(&self, _: i8) {}
- pub fn PassOctet(&self, _: u8) {}
- pub fn PassShort(&self, _: i16) {}
- pub fn PassUnsignedShort(&self, _: u16) {}
- pub fn PassLong(&self, _: i32) {}
- pub fn PassUnsignedLong(&self, _: u32) {}
- pub fn PassLongLong(&self, _: i64) {}
- pub fn PassUnsignedLongLong(&self, _: u64) {}
- pub fn PassFloat(&self, _: f32) {}
- pub fn PassDouble(&self, _: f64) {}
- pub fn PassString(&self, _: DOMString) {}
- pub fn PassByteString(&self, _: ByteString) {}
- pub fn PassEnum(&self, _: TestEnum) {}
- pub fn PassInterface(&self, _: &JS<Blob>) {}
- pub fn PassUnion(&self, _: HTMLElementOrLong) {}
- pub fn PassAny(&self, _: *JSContext, _: JSVal) {}
-
- pub fn PassNullableBoolean(&self, _: Option<bool>) {}
- pub fn PassNullableByte(&self, _: Option<i8>) {}
- pub fn PassNullableOctet(&self, _: Option<u8>) {}
- pub fn PassNullableShort(&self, _: Option<i16>) {}
- pub fn PassNullableUnsignedShort(&self, _: Option<u16>) {}
- pub fn PassNullableLong(&self, _: Option<i32>) {}
- pub fn PassNullableUnsignedLong(&self, _: Option<u32>) {}
- pub fn PassNullableLongLong(&self, _: Option<i64>) {}
- pub fn PassNullableUnsignedLongLong(&self, _: Option<u64>) {}
- pub fn PassNullableFloat(&self, _: Option<f32>) {}
- pub fn PassNullableDouble(&self, _: Option<f64>) {}
- pub fn PassNullableString(&self, _: Option<DOMString>) {}
- pub fn PassNullableByteString(&self, _: Option<ByteString>) {}
- // pub fn PassNullableEnum(&self, _: Option<TestEnum>) {}
- pub fn PassNullableInterface(&self, _: Option<JS<Blob>>) {}
- pub fn PassNullableUnion(&self, _: Option<HTMLElementOrLong>) {}
- pub fn PassNullableAny(&self, _: *JSContext, _: Option<JSVal>) {}
-
- pub fn PassOptionalBoolean(&self, _: Option<bool>) {}
- pub fn PassOptionalByte(&self, _: Option<i8>) {}
- pub fn PassOptionalOctet(&self, _: Option<u8>) {}
- pub fn PassOptionalShort(&self, _: Option<i16>) {}
- pub fn PassOptionalUnsignedShort(&self, _: Option<u16>) {}
- pub fn PassOptionalLong(&self, _: Option<i32>) {}
- pub fn PassOptionalUnsignedLong(&self, _: Option<u32>) {}
- pub fn PassOptionalLongLong(&self, _: Option<i64>) {}
- pub fn PassOptionalUnsignedLongLong(&self, _: Option<u64>) {}
- pub fn PassOptionalFloat(&self, _: Option<f32>) {}
- pub fn PassOptionalDouble(&self, _: Option<f64>) {}
- pub fn PassOptionalString(&self, _: Option<DOMString>) {}
- pub fn PassOptionalByteString(&self, _: Option<ByteString>) {}
- pub fn PassOptionalEnum(&self, _: Option<TestEnum>) {}
- pub fn PassOptionalInterface(&self, _: Option<JS<Blob>>) {}
- pub fn PassOptionalUnion(&self, _: Option<HTMLElementOrLong>) {}
- pub fn PassOptionalAny(&self, _: *JSContext, _: Option<JSVal>) {}
-
- pub fn PassOptionalNullableBoolean(&self, _: Option<Option<bool>>) {}
- pub fn PassOptionalNullableByte(&self, _: Option<Option<i8>>) {}
- pub fn PassOptionalNullableOctet(&self, _: Option<Option<u8>>) {}
- pub fn PassOptionalNullableShort(&self, _: Option<Option<i16>>) {}
- pub fn PassOptionalNullableUnsignedShort(&self, _: Option<Option<u16>>) {}
- pub fn PassOptionalNullableLong(&self, _: Option<Option<i32>>) {}
- pub fn PassOptionalNullableUnsignedLong(&self, _: Option<Option<u32>>) {}
- pub fn PassOptionalNullableLongLong(&self, _: Option<Option<i64>>) {}
- pub fn PassOptionalNullableUnsignedLongLong(&self, _: Option<Option<u64>>) {}
- pub fn PassOptionalNullableFloat(&self, _: Option<Option<f32>>) {}
- pub fn PassOptionalNullableDouble(&self, _: Option<Option<f64>>) {}
- pub fn PassOptionalNullableString(&self, _: Option<Option<DOMString>>) {}
- pub fn PassOptionalNullableByteString(&self, _: Option<Option<ByteString>>) {}
- // pub fn PassOptionalNullableEnum(&self, _: Option<Option<TestEnum>>) {}
- pub fn PassOptionalNullableInterface(&self, _: Option<Option<JS<Blob>>>) {}
- pub fn PassOptionalNullableUnion(&self, _: Option<Option<HTMLElementOrLong>>) {}
-
- pub fn PassOptionalBooleanWithDefault(&self, _: bool) {}
- pub fn PassOptionalByteWithDefault(&self, _: i8) {}
- pub fn PassOptionalOctetWithDefault(&self, _: u8) {}
- pub fn PassOptionalShortWithDefault(&self, _: i16) {}
- pub fn PassOptionalUnsignedShortWithDefault(&self, _: u16) {}
- pub fn PassOptionalLongWithDefault(&self, _: i32) {}
- pub fn PassOptionalUnsignedLongWithDefault(&self, _: u32) {}
- pub fn PassOptionalLongLongWithDefault(&self, _: i64) {}
- pub fn PassOptionalUnsignedLongLongWithDefault(&self, _: u64) {}
- pub fn PassOptionalStringWithDefault(&self, _: DOMString) {}
- pub fn PassOptionalEnumWithDefault(&self, _: TestEnum) {}
-
- pub fn PassOptionalNullableBooleanWithDefault(&self, _: Option<bool>) {}
- pub fn PassOptionalNullableByteWithDefault(&self, _: Option<i8>) {}
- pub fn PassOptionalNullableOctetWithDefault(&self, _: Option<u8>) {}
- pub fn PassOptionalNullableShortWithDefault(&self, _: Option<i16>) {}
- pub fn PassOptionalNullableUnsignedShortWithDefault(&self, _: Option<u16>) {}
- pub fn PassOptionalNullableLongWithDefault(&self, _: Option<i32>) {}
- pub fn PassOptionalNullableUnsignedLongWithDefault(&self, _: Option<u32>) {}
- pub fn PassOptionalNullableLongLongWithDefault(&self, _: Option<i64>) {}
- pub fn PassOptionalNullableUnsignedLongLongWithDefault(&self, _: Option<u64>) {}
- pub fn PassOptionalNullableFloatWithDefault(&self, _: Option<f32>) {}
- pub fn PassOptionalNullableDoubleWithDefault(&self, _: Option<f64>) {}
- pub fn PassOptionalNullableStringWithDefault(&self, _: Option<DOMString>) {}
- pub fn PassOptionalNullableByteStringWithDefault(&self, _: Option<ByteString>) {}
- // pub fn PassOptionalNullableEnumWithDefault(&self, _: Option<TestEnum>) {}
- pub fn PassOptionalNullableInterfaceWithDefault(&self, _: Option<JS<Blob>>) {}
- pub fn PassOptionalNullableUnionWithDefault(&self, _: Option<HTMLElementOrLong>) {}
- pub fn PassOptionalAnyWithDefault(&self, _: *JSContext, _: JSVal) {}
-
- pub fn PassOptionalNullableBooleanWithNonNullDefault(&self, _: Option<bool>) {}
- pub fn PassOptionalNullableByteWithNonNullDefault(&self, _: Option<i8>) {}
- pub fn PassOptionalNullableOctetWithNonNullDefault(&self, _: Option<u8>) {}
- pub fn PassOptionalNullableShortWithNonNullDefault(&self, _: Option<i16>) {}
- pub fn PassOptionalNullableUnsignedShortWithNonNullDefault(&self, _: Option<u16>) {}
- pub fn PassOptionalNullableLongWithNonNullDefault(&self, _: Option<i32>) {}
- pub fn PassOptionalNullableUnsignedLongWithNonNullDefault(&self, _: Option<u32>) {}
- pub fn PassOptionalNullableLongLongWithNonNullDefault(&self, _: Option<i64>) {}
- pub fn PassOptionalNullableUnsignedLongLongWithNonNullDefault(&self, _: Option<u64>) {}
- // pub fn PassOptionalNullableFloatWithNonNullDefault(&self, _: Option<f32>) {}
- // pub fn PassOptionalNullableDoubleWithNonNullDefault(&self, _: Option<f64>) {}
- pub fn PassOptionalNullableStringWithNonNullDefault(&self, _: Option<DOMString>) {}
- // pub fn PassOptionalNullableEnumWithNonNullDefault(&self, _: Option<TestEnum>) {}
+pub trait TestBindingMethods {
+ fn BooleanAttribute(&self) -> bool;
+ fn SetBooleanAttribute(&self, _: bool);
+ fn ByteAttribute(&self) -> i8;
+ fn SetByteAttribute(&self, _: i8);
+ fn OctetAttribute(&self) -> u8;
+ fn SetOctetAttribute(&self, _: u8);
+ fn ShortAttribute(&self) -> i16;
+ fn SetShortAttribute(&self, _: i16);
+ fn UnsignedShortAttribute(&self) -> u16;
+ fn SetUnsignedShortAttribute(&self, _: u16);
+ fn LongAttribute(&self) -> i32;
+ fn SetLongAttribute(&self, _: i32);
+ fn UnsignedLongAttribute(&self) -> u32;
+ fn SetUnsignedLongAttribute(&self, _: u32);
+ fn LongLongAttribute(&self) -> i64;
+ fn SetLongLongAttribute(&self, _: i64);
+ fn UnsignedLongLongAttribute(&self) -> u64;
+ fn SetUnsignedLongLongAttribute(&self, _: u64);
+ fn FloatAttribute(&self) -> f32;
+ fn SetFloatAttribute(&self, _: f32);
+ fn DoubleAttribute(&self) -> f64;
+ fn SetDoubleAttribute(&self, _: f64);
+ fn StringAttribute(&self) -> DOMString;
+ fn SetStringAttribute(&self, _: DOMString);
+ fn ByteStringAttribute(&self) -> ByteString;
+ fn SetByteStringAttribute(&self, _: ByteString);
+ fn EnumAttribute(&self) -> TestEnum;
+ fn SetEnumAttribute(&self, _: TestEnum);
+ fn InterfaceAttribute(&self) -> Temporary<Blob>;
+ fn SetInterfaceAttribute(&self, _: &JSRef<Blob>);
+ fn AnyAttribute(&self, _: *JSContext) -> JSVal;
+ fn SetAnyAttribute(&self, _: *JSContext, _: JSVal);
+
+ fn GetBooleanAttributeNullable(&self) -> Option<bool>;
+ fn SetBooleanAttributeNullable(&self, _: Option<bool>);
+ fn GetByteAttributeNullable(&self) -> Option<i8>;
+ fn SetByteAttributeNullable(&self, _: Option<i8>);
+ fn GetOctetAttributeNullable(&self) -> Option<u8>;
+ fn SetOctetAttributeNullable(&self, _: Option<u8>);
+ fn GetShortAttributeNullable(&self) -> Option<i16>;
+ fn SetShortAttributeNullable(&self, _: Option<i16>);
+ fn GetUnsignedShortAttributeNullable(&self) -> Option<u16>;
+ fn SetUnsignedShortAttributeNullable(&self, _: Option<u16>);
+ fn GetLongAttributeNullable(&self) -> Option<i32>;
+ fn SetLongAttributeNullable(&self, _: Option<i32>);
+ fn GetUnsignedLongAttributeNullable(&self) -> Option<u32>;
+ fn SetUnsignedLongAttributeNullable(&self, _: Option<u32>);
+ fn GetLongLongAttributeNullable(&self) -> Option<i64>;
+ fn SetLongLongAttributeNullable(&self, _: Option<i64>);
+ fn GetUnsignedLongLongAttributeNullable(&self) -> Option<u64>;
+ fn SetUnsignedLongLongAttributeNullable(&self, _: Option<u64>);
+ fn GetFloatAttributeNullable(&self) -> Option<f32>;
+ fn SetFloatAttributeNullable(&self, _: Option<f32>);
+ fn GetDoubleAttributeNullable(&self) -> Option<f64>;
+ fn SetDoubleAttributeNullable(&self, _: Option<f64>);
+ fn GetByteStringAttributeNullable(&self) -> Option<ByteString>;
+ fn SetByteStringAttributeNullable(&self, _: Option<ByteString>);
+ fn GetStringAttributeNullable(&self) -> Option<DOMString>;
+ fn SetStringAttributeNullable(&self, _: Option<DOMString>);
+ fn GetEnumAttributeNullable(&self) -> Option<TestEnum>;
+ fn GetInterfaceAttributeNullable(&self) -> Option<Temporary<Blob>>;
+ fn SetInterfaceAttributeNullable(&self, _: Option<JSRef<Blob>>);
+
+ 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 PassFloat(&self, _: f32);
+ fn PassDouble(&self, _: f64);
+ fn PassString(&self, _: DOMString);
+ fn PassByteString(&self, _: ByteString);
+ fn PassEnum(&self, _: TestEnum);
+ fn PassInterface(&self, _: &JSRef<Blob>);
+ fn PassUnion(&self, _: HTMLElementOrLong);
+ fn PassAny(&self, _: *JSContext, _: JSVal);
+
+ fn PassNullableBoolean(&self, _: Option<bool>);
+ fn PassNullableByte(&self, _: Option<i8>);
+ fn PassNullableOctet(&self, _: Option<u8>);
+ fn PassNullableShort(&self, _: Option<i16>);
+ fn PassNullableUnsignedShort(&self, _: Option<u16>);
+ fn PassNullableLong(&self, _: Option<i32>);
+ fn PassNullableUnsignedLong(&self, _: Option<u32>);
+ fn PassNullableLongLong(&self, _: Option<i64>);
+ fn PassNullableUnsignedLongLong(&self, _: Option<u64>);
+ fn PassNullableFloat(&self, _: Option<f32>);
+ fn PassNullableDouble(&self, _: Option<f64>);
+ fn PassNullableString(&self, _: Option<DOMString>);
+ fn PassNullableByteString(&self, _: Option<ByteString>) {}
+ // fn PassNullableEnum(&self, _: Option<TestEnum>);
+ fn PassNullableInterface(&self, _: Option<JSRef<Blob>>);
+ fn PassNullableUnion(&self, _: Option<HTMLElementOrLong>);
+ fn PassNullableAny(&self, _: *JSContext, _: Option<JSVal>);
+
+ fn PassOptionalBoolean(&self, _: Option<bool>);
+ fn PassOptionalByte(&self, _: Option<i8>);
+ fn PassOptionalOctet(&self, _: Option<u8>);
+ fn PassOptionalShort(&self, _: Option<i16>);
+ fn PassOptionalUnsignedShort(&self, _: Option<u16>);
+ fn PassOptionalLong(&self, _: Option<i32>);
+ fn PassOptionalUnsignedLong(&self, _: Option<u32>);
+ fn PassOptionalLongLong(&self, _: Option<i64>);
+ fn PassOptionalUnsignedLongLong(&self, _: Option<u64>);
+ fn PassOptionalFloat(&self, _: Option<f32>);
+ fn PassOptionalDouble(&self, _: Option<f64>);
+ fn PassOptionalString(&self, _: Option<DOMString>);
+ fn PassOptionalByteString(&self, _: Option<ByteString>) {}
+ fn PassOptionalEnum(&self, _: Option<TestEnum>);
+ fn PassOptionalInterface(&self, _: Option<JSRef<Blob>>);
+ fn PassOptionalUnion(&self, _: Option<HTMLElementOrLong>);
+ fn PassOptionalAny(&self, _: *JSContext, _: Option<JSVal>);
+
+ fn PassOptionalNullableBoolean(&self, _: Option<Option<bool>>);
+ fn PassOptionalNullableByte(&self, _: Option<Option<i8>>);
+ fn PassOptionalNullableOctet(&self, _: Option<Option<u8>>);
+ fn PassOptionalNullableShort(&self, _: Option<Option<i16>>);
+ fn PassOptionalNullableUnsignedShort(&self, _: Option<Option<u16>>);
+ fn PassOptionalNullableLong(&self, _: Option<Option<i32>>);
+ fn PassOptionalNullableUnsignedLong(&self, _: Option<Option<u32>>);
+ fn PassOptionalNullableLongLong(&self, _: Option<Option<i64>>);
+ fn PassOptionalNullableUnsignedLongLong(&self, _: Option<Option<u64>>);
+ fn PassOptionalNullableFloat(&self, _: Option<Option<f32>>);
+ fn PassOptionalNullableDouble(&self, _: Option<Option<f64>>);
+ fn PassOptionalNullableString(&self, _: Option<Option<DOMString>>);
+ fn PassOptionalNullableByteString(&self, _: Option<Option<ByteString>>) {}
+ // fn PassOptionalNullableEnum(&self, _: Option<Option<TestEnum>>);
+ fn PassOptionalNullableInterface(&self, _: Option<Option<JSRef<Blob>>>);
+ fn PassOptionalNullableUnion(&self, _: Option<Option<HTMLElementOrLong>>);
+
+ 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 PassOptionalEnumWithDefault(&self, _: TestEnum);
+
+ fn PassOptionalNullableBooleanWithDefault(&self, _: Option<bool>);
+ fn PassOptionalNullableByteWithDefault(&self, _: Option<i8>);
+ fn PassOptionalNullableOctetWithDefault(&self, _: Option<u8>);
+ fn PassOptionalNullableShortWithDefault(&self, _: Option<i16>);
+ fn PassOptionalNullableUnsignedShortWithDefault(&self, _: Option<u16>);
+ fn PassOptionalNullableLongWithDefault(&self, _: Option<i32>);
+ fn PassOptionalNullableUnsignedLongWithDefault(&self, _: Option<u32>);
+ fn PassOptionalNullableLongLongWithDefault(&self, _: Option<i64>);
+ fn PassOptionalNullableUnsignedLongLongWithDefault(&self, _: Option<u64>);
+ fn PassOptionalNullableFloatWithDefault(&self, _: Option<f32>);
+ fn PassOptionalNullableDoubleWithDefault(&self, _: Option<f64>);
+ fn PassOptionalNullableStringWithDefault(&self, _: Option<DOMString>);
+ fn PassOptionalNullableByteStringWithDefault(&self, _: Option<ByteString>) {}
+ // fn PassOptionalNullableEnumWithDefault(&self, _: Option<TestEnum>);
+ fn PassOptionalNullableInterfaceWithDefault(&self, _: Option<JSRef<Blob>>);
+ fn PassOptionalNullableUnionWithDefault(&self, _: Option<HTMLElementOrLong>);
+ fn PassOptionalAnyWithDefault(&self, _: *JSContext, _: JSVal);
+
+ fn PassOptionalNullableBooleanWithNonNullDefault(&self, _: Option<bool>);
+ fn PassOptionalNullableByteWithNonNullDefault(&self, _: Option<i8>);
+ fn PassOptionalNullableOctetWithNonNullDefault(&self, _: Option<u8>);
+ fn PassOptionalNullableShortWithNonNullDefault(&self, _: Option<i16>);
+ fn PassOptionalNullableUnsignedShortWithNonNullDefault(&self, _: Option<u16>);
+ fn PassOptionalNullableLongWithNonNullDefault(&self, _: Option<i32>);
+ fn PassOptionalNullableUnsignedLongWithNonNullDefault(&self, _: Option<u32>);
+ fn PassOptionalNullableLongLongWithNonNullDefault(&self, _: Option<i64>);
+ fn PassOptionalNullableUnsignedLongLongWithNonNullDefault(&self, _: Option<u64>);
+ // fn PassOptionalNullableFloatWithNonNullDefault(&self, _: Option<f32>);
+ // fn PassOptionalNullableDoubleWithNonNullDefault(&self, _: Option<f64>);
+ fn PassOptionalNullableStringWithNonNullDefault(&self, _: Option<DOMString>);
+ // fn PassOptionalNullableEnumWithNonNullDefault(&self, _: Option<TestEnum>);
+}
+
+impl<'a> TestBindingMethods for JSRef<'a, 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 FloatAttribute(&self) -> f32 { 0. }
+ fn SetFloatAttribute(&self, _: f32) {}
+ fn DoubleAttribute(&self) -> f64 { 0. }
+ fn SetDoubleAttribute(&self, _: f64) {}
+ fn StringAttribute(&self) -> DOMString { ~"" }
+ fn SetStringAttribute(&self, _: DOMString) {}
+ fn ByteStringAttribute(&self) -> ByteString { ByteString::new(vec!()) }
+ fn SetByteStringAttribute(&self, _: ByteString) {}
+ fn EnumAttribute(&self) -> TestEnum { _empty }
+ fn SetEnumAttribute(&self, _: TestEnum) {}
+ fn InterfaceAttribute(&self) -> Temporary<Blob> {
+ let window = self.window.root();
+ Blob::new(&*window)
+ }
+ fn SetInterfaceAttribute(&self, _: &JSRef<Blob>) {}
+ fn AnyAttribute(&self, _: *JSContext) -> JSVal { NullValue() }
+ fn SetAnyAttribute(&self, _: *JSContext, _: JSVal) {}
+
+ fn GetBooleanAttributeNullable(&self) -> Option<bool> { Some(false) }
+ fn SetBooleanAttributeNullable(&self, _: Option<bool>) {}
+ fn GetByteAttributeNullable(&self) -> Option<i8> { Some(0) }
+ fn SetByteAttributeNullable(&self, _: Option<i8>) {}
+ fn GetOctetAttributeNullable(&self) -> Option<u8> { Some(0) }
+ fn SetOctetAttributeNullable(&self, _: Option<u8>) {}
+ fn GetShortAttributeNullable(&self) -> Option<i16> { Some(0) }
+ fn SetShortAttributeNullable(&self, _: Option<i16>) {}
+ fn GetUnsignedShortAttributeNullable(&self) -> Option<u16> { Some(0) }
+ fn SetUnsignedShortAttributeNullable(&self, _: Option<u16>) {}
+ fn GetLongAttributeNullable(&self) -> Option<i32> { Some(0) }
+ fn SetLongAttributeNullable(&self, _: Option<i32>) {}
+ fn GetUnsignedLongAttributeNullable(&self) -> Option<u32> { Some(0) }
+ fn SetUnsignedLongAttributeNullable(&self, _: Option<u32>) {}
+ fn GetLongLongAttributeNullable(&self) -> Option<i64> { Some(0) }
+ fn SetLongLongAttributeNullable(&self, _: Option<i64>) {}
+ fn GetUnsignedLongLongAttributeNullable(&self) -> Option<u64> { Some(0) }
+ fn SetUnsignedLongLongAttributeNullable(&self, _: Option<u64>) {}
+ fn GetFloatAttributeNullable(&self) -> Option<f32> { Some(0.) }
+ fn SetFloatAttributeNullable(&self, _: Option<f32>) {}
+ fn GetDoubleAttributeNullable(&self) -> Option<f64> { Some(0.) }
+ fn SetDoubleAttributeNullable(&self, _: Option<f64>) {}
+ fn GetByteStringAttributeNullable(&self) -> Option<ByteString> { Some(ByteString::new(vec!())) }
+ fn SetByteStringAttributeNullable(&self, _: Option<ByteString>) {}
+ fn GetStringAttributeNullable(&self) -> Option<DOMString> { Some(~"") }
+ fn SetStringAttributeNullable(&self, _: Option<DOMString>) {}
+ fn GetEnumAttributeNullable(&self) -> Option<TestEnum> { Some(_empty) }
+ fn GetInterfaceAttributeNullable(&self) -> Option<Temporary<Blob>> {
+ let window = self.window.root();
+ Some(Blob::new(&*window))
+ }
+ fn SetInterfaceAttributeNullable(&self, _: Option<JSRef<Blob>>) {}
+
+ 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 PassFloat(&self, _: f32) {}
+ fn PassDouble(&self, _: f64) {}
+ fn PassString(&self, _: DOMString) {}
+ fn PassByteString(&self, _: ByteString) {}
+ fn PassEnum(&self, _: TestEnum) {}
+ fn PassInterface(&self, _: &JSRef<Blob>) {}
+ fn PassUnion(&self, _: HTMLElementOrLong) {}
+ fn PassAny(&self, _: *JSContext, _: JSVal) {}
+
+ fn PassNullableBoolean(&self, _: Option<bool>) {}
+ fn PassNullableByte(&self, _: Option<i8>) {}
+ fn PassNullableOctet(&self, _: Option<u8>) {}
+ fn PassNullableShort(&self, _: Option<i16>) {}
+ fn PassNullableUnsignedShort(&self, _: Option<u16>) {}
+ fn PassNullableLong(&self, _: Option<i32>) {}
+ fn PassNullableUnsignedLong(&self, _: Option<u32>) {}
+ fn PassNullableLongLong(&self, _: Option<i64>) {}
+ fn PassNullableUnsignedLongLong(&self, _: Option<u64>) {}
+ fn PassNullableFloat(&self, _: Option<f32>) {}
+ fn PassNullableDouble(&self, _: Option<f64>) {}
+ fn PassNullableString(&self, _: Option<DOMString>) {}
+ fn PassNullableByteString(&self, _: Option<ByteString>) {}
+ // fn PassNullableEnum(&self, _: Option<TestEnum>) {}
+ fn PassNullableInterface(&self, _: Option<JSRef<Blob>>) {}
+ fn PassNullableUnion(&self, _: Option<HTMLElementOrLong>) {}
+ fn PassNullableAny(&self, _: *JSContext, _: Option<JSVal>) {}
+
+ fn PassOptionalBoolean(&self, _: Option<bool>) {}
+ fn PassOptionalByte(&self, _: Option<i8>) {}
+ fn PassOptionalOctet(&self, _: Option<u8>) {}
+ fn PassOptionalShort(&self, _: Option<i16>) {}
+ fn PassOptionalUnsignedShort(&self, _: Option<u16>) {}
+ fn PassOptionalLong(&self, _: Option<i32>) {}
+ fn PassOptionalUnsignedLong(&self, _: Option<u32>) {}
+ fn PassOptionalLongLong(&self, _: Option<i64>) {}
+ fn PassOptionalUnsignedLongLong(&self, _: Option<u64>) {}
+ fn PassOptionalFloat(&self, _: Option<f32>) {}
+ fn PassOptionalDouble(&self, _: Option<f64>) {}
+ fn PassOptionalString(&self, _: Option<DOMString>) {}
+ fn PassOptionalByteString(&self, _: Option<ByteString>) {}
+ fn PassOptionalEnum(&self, _: Option<TestEnum>) {}
+ fn PassOptionalInterface(&self, _: Option<JSRef<Blob>>) {}
+ fn PassOptionalUnion(&self, _: Option<HTMLElementOrLong>) {}
+ fn PassOptionalAny(&self, _: *JSContext, _: Option<JSVal>) {}
+
+ fn PassOptionalNullableBoolean(&self, _: Option<Option<bool>>) {}
+ fn PassOptionalNullableByte(&self, _: Option<Option<i8>>) {}
+ fn PassOptionalNullableOctet(&self, _: Option<Option<u8>>) {}
+ fn PassOptionalNullableShort(&self, _: Option<Option<i16>>) {}
+ fn PassOptionalNullableUnsignedShort(&self, _: Option<Option<u16>>) {}
+ fn PassOptionalNullableLong(&self, _: Option<Option<i32>>) {}
+ fn PassOptionalNullableUnsignedLong(&self, _: Option<Option<u32>>) {}
+ fn PassOptionalNullableLongLong(&self, _: Option<Option<i64>>) {}
+ fn PassOptionalNullableUnsignedLongLong(&self, _: Option<Option<u64>>) {}
+ fn PassOptionalNullableFloat(&self, _: Option<Option<f32>>) {}
+ fn PassOptionalNullableDouble(&self, _: Option<Option<f64>>) {}
+ fn PassOptionalNullableString(&self, _: Option<Option<DOMString>>) {}
+ fn PassOptionalNullableByteString(&self, _: Option<Option<ByteString>>) {}
+ // fn PassOptionalNullableEnum(&self, _: Option<Option<TestEnum>>) {}
+ fn PassOptionalNullableInterface(&self, _: Option<Option<JSRef<Blob>>>) {}
+ fn PassOptionalNullableUnion(&self, _: Option<Option<HTMLElementOrLong>>) {}
+
+ 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 PassOptionalEnumWithDefault(&self, _: TestEnum) {}
+
+ fn PassOptionalNullableBooleanWithDefault(&self, _: Option<bool>) {}
+ fn PassOptionalNullableByteWithDefault(&self, _: Option<i8>) {}
+ fn PassOptionalNullableOctetWithDefault(&self, _: Option<u8>) {}
+ fn PassOptionalNullableShortWithDefault(&self, _: Option<i16>) {}
+ fn PassOptionalNullableUnsignedShortWithDefault(&self, _: Option<u16>) {}
+ fn PassOptionalNullableLongWithDefault(&self, _: Option<i32>) {}
+ fn PassOptionalNullableUnsignedLongWithDefault(&self, _: Option<u32>) {}
+ fn PassOptionalNullableLongLongWithDefault(&self, _: Option<i64>) {}
+ fn PassOptionalNullableUnsignedLongLongWithDefault(&self, _: Option<u64>) {}
+ fn PassOptionalNullableFloatWithDefault(&self, _: Option<f32>) {}
+ fn PassOptionalNullableDoubleWithDefault(&self, _: Option<f64>) {}
+ fn PassOptionalNullableStringWithDefault(&self, _: Option<DOMString>) {}
+ fn PassOptionalNullableByteStringWithDefault(&self, _: Option<ByteString>) {}
+ // fn PassOptionalNullableEnumWithDefault(&self, _: Option<TestEnum>) {}
+ fn PassOptionalNullableInterfaceWithDefault(&self, _: Option<JSRef<Blob>>) {}
+ fn PassOptionalNullableUnionWithDefault(&self, _: Option<HTMLElementOrLong>) {}
+ fn PassOptionalAnyWithDefault(&self, _: *JSContext, _: JSVal) {}
+
+ fn PassOptionalNullableBooleanWithNonNullDefault(&self, _: Option<bool>) {}
+ fn PassOptionalNullableByteWithNonNullDefault(&self, _: Option<i8>) {}
+ fn PassOptionalNullableOctetWithNonNullDefault(&self, _: Option<u8>) {}
+ fn PassOptionalNullableShortWithNonNullDefault(&self, _: Option<i16>) {}
+ fn PassOptionalNullableUnsignedShortWithNonNullDefault(&self, _: Option<u16>) {}
+ fn PassOptionalNullableLongWithNonNullDefault(&self, _: Option<i32>) {}
+ fn PassOptionalNullableUnsignedLongWithNonNullDefault(&self, _: Option<u32>) {}
+ fn PassOptionalNullableLongLongWithNonNullDefault(&self, _: Option<i64>) {}
+ fn PassOptionalNullableUnsignedLongLongWithNonNullDefault(&self, _: Option<u64>) {}
+ // fn PassOptionalNullableFloatWithNonNullDefault(&self, _: Option<f32>) {}
+ // fn PassOptionalNullableDoubleWithNonNullDefault(&self, _: Option<f64>) {}
+ fn PassOptionalNullableStringWithNonNullDefault(&self, _: Option<DOMString>) {}
+ // fn PassOptionalNullableEnumWithNonNullDefault(&self, _: Option<TestEnum>) {}
}
impl Reflectable for TestBinding {