diff --git a/src/components/script/dom/testbinding.rs b/src/components/script/dom/testbinding.rs index b26fc90fb47..8173a9829aa 100644 --- a/src/components/script/dom/testbinding.rs +++ b/src/components/script/dom/testbinding.rs @@ -2,11 +2,16 @@ * 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::utils::{Reflector, Reflectable}; +use dom::blob::Blob; +use dom::window::Window; +use servo_util::str::DOMString; #[deriving(Encodable)] pub struct TestBinding { reflector: Reflector, + window: JS, } impl TestBinding { @@ -32,6 +37,10 @@ impl TestBinding { 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 InterfaceAttribute(&self) -> JS { Blob::new(&self.window) } + pub fn SetInterfaceAttribute(&self, _: &JS) {} pub fn GetBooleanAttributeNullable(&self) -> Option { Some(false) } pub fn SetBooleanAttributeNullable(&self, _: Option) {} @@ -55,6 +64,10 @@ impl TestBinding { pub fn SetFloatAttributeNullable(&self, _: Option) {} pub fn GetDoubleAttributeNullable(&self) -> Option { Some(0.) } pub fn SetDoubleAttributeNullable(&self, _: Option) {} + pub fn GetStringAttributeNullable(&self) -> Option { Some(~"") } + pub fn SetStringAttributeNullable(&self, _: Option) {} + pub fn GetInterfaceAttributeNullable(&self) -> Option> { Some(Blob::new(&self.window)) } + pub fn SetInterfaceAttributeNullable(&self, _: Option>) {} // FIXME (issue #1813) Doesn't currently compile. // pub fn PassOptionalBoolean(&self, _: Option) {} @@ -68,6 +81,22 @@ impl TestBinding { // pub fn PassOptionalUnsignedLongLong(&self, _: Option) {} // pub fn PassOptionalFloat(&self, _: Option) {} // pub fn PassOptionalDouble(&self, _: Option) {} + pub fn PassOptionalString(&self, _: Option) {} + pub fn PassOptionalInterface(&self, _: Option>) {} + + // pub fn PassOptionalNullableBoolean(&self, _: Option>) {} + // pub fn PassOptionalNullableByte(&self, _: Option>) {} + // pub fn PassOptionalNullableOctet(&self, _: Option>) {} + // pub fn PassOptionalNullableShort(&self, _: Option>) {} + // pub fn PassOptionalNullableUnsignedShort(&self, _: Option>) {} + // pub fn PassOptionalNullableLong(&self, _: Option>) {} + // pub fn PassOptionalNullableUnsignedLong(&self, _: Option>) {} + // pub fn PassOptionalNullableLongLong(&self, _: Option>) {} + // pub fn PassOptionalNullableUnsignedLongLong(&self, _: Option>) {} + // pub fn PassOptionalNullableFloat(&self, _: Option>) {} + // pub fn PassOptionalNullableDouble(&self, _: Option>) {} + pub fn PassOptionalNullableString(&self, _: Option>) {} + // pub fn PassOptionalNullableInterface(&self, _: Option>>) {} pub fn PassOptionalBooleanWithDefault(&self, _: bool) {} pub fn PassOptionalByteWithDefault(&self, _: i8) {} @@ -78,6 +107,7 @@ impl TestBinding { pub fn PassOptionalUnsignedLongWithDefault(&self, _: u32) {} pub fn PassOptionalLongLongWithDefault(&self, _: i64) {} pub fn PassOptionalUnsignedLongLongWithDefault(&self, _: u64) {} + pub fn PassOptionalStringWithDefault(&self, _: DOMString) {} pub fn PassOptionalNullableBooleanWithDefault(&self, _: Option) {} pub fn PassOptionalNullableByteWithDefault(&self, _: Option) {} @@ -90,6 +120,8 @@ impl TestBinding { pub fn PassOptionalNullableUnsignedLongLongWithDefault(&self, _: Option) {} pub fn PassOptionalNullableFloatWithDefault(&self, _: Option) {} pub fn PassOptionalNullableDoubleWithDefault(&self, _: Option) {} + // pub fn PassOptionalNullableStringWithDefault(&self, _: Option) {} + pub fn PassOptionalNullableInterfaceWithDefault(&self, _: Option>) {} } impl Reflectable for TestBinding { diff --git a/src/components/script/dom/webidls/TestBinding.webidl b/src/components/script/dom/webidls/TestBinding.webidl index 94530b6cf1d..5cb5a20a02e 100644 --- a/src/components/script/dom/webidls/TestBinding.webidl +++ b/src/components/script/dom/webidls/TestBinding.webidl @@ -14,6 +14,8 @@ interface TestBinding { attribute unsigned long long unsignedLongLongAttribute; attribute float floatAttribute; attribute double doubleAttribute; + attribute DOMString stringAttribute; + attribute Blob interfaceAttribute; attribute boolean? booleanAttributeNullable; attribute byte? byteAttributeNullable; @@ -26,6 +28,8 @@ interface TestBinding { attribute unsigned long long? unsignedLongLongAttributeNullable; attribute float? floatAttributeNullable; attribute double? doubleAttributeNullable; + attribute DOMString? stringAttributeNullable; + attribute Blob? interfaceAttributeNullable; // FIXME (issue #1813) Doesn't currently compile. // void passOptionalBoolean(optional boolean arg); @@ -39,6 +43,22 @@ interface TestBinding { // void passOptionalUnsignedLongLong(optional unsigned long long arg); // void passOptionalFloat(optional float arg); // void passOptionalDouble(optional double arg); + void passOptionalString(optional DOMString arg); + void passOptionalInterface(optional Blob arg); + + // void passOptionalNullableBoolean(optional boolean? arg); + // void passOptionalNullableByte(optional byte? arg); + // void passOptionalNullableOctet(optional octet? arg); + // void passOptionalNullableShort(optional short? arg); + // void passOptionalNullableUnsignedShort(optional unsigned short? arg); + // void passOptionalNullableLong(optional long? arg); + // void passOptionalNullableUnsignedLong(optional unsigned long? arg); + // void passOptionalNullableLongLong(optional long long? arg); + // void passOptionalNullableUnsignedLongLong(optional unsigned long long? arg); + // void passOptionalNullableFloat(optional float? arg); + // void passOptionalNullableDouble(optional double? arg); + void passOptionalNullableString(optional DOMString? arg); + // void passOptionalNullableInterface(optional Blob? arg); void passOptionalBooleanWithDefault(optional boolean arg = false); void passOptionalByteWithDefault(optional byte arg = 0); @@ -49,6 +69,7 @@ interface TestBinding { void passOptionalUnsignedLongWithDefault(optional unsigned long arg = 6); void passOptionalLongLongWithDefault(optional long long arg = -12); void passOptionalUnsignedLongLongWithDefault(optional unsigned long long arg = 17); + void passOptionalStringWithDefault(optional DOMString arg = ""); void passOptionalNullableBooleanWithDefault(optional boolean? arg = null); void passOptionalNullableByteWithDefault(optional byte? arg = null); @@ -59,4 +80,6 @@ interface TestBinding { void passOptionalNullableUnsignedLongWithDefault(optional unsigned long? arg = null); void passOptionalNullableLongLongWithDefault(optional long long? arg = null); void passOptionalNullableUnsignedLongLongWithDefault(optional unsigned long long? arg = null); + // void passOptionalNullableStringWithDefault(optional DOMString? arg = null); + void passOptionalNullableInterfaceWithDefault(optional Blob? arg = null); };