aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2014-03-06 22:26:12 +0100
committerMs2ger <ms2ger@gmail.com>2014-03-06 22:26:12 +0100
commit716e1ce144b3af75ec4ceb72a51f9f5b89a6545d (patch)
tree0beee2db506fb09df3539e8e70ed130a02255a1d /src/components/script
parent8b5778993ab7500ad109e77b899698cdef771a60 (diff)
downloadservo-716e1ce144b3af75ec4ceb72a51f9f5b89a6545d.tar.gz
servo-716e1ce144b3af75ec4ceb72a51f9f5b89a6545d.zip
Avoid a type error with a non-null default value for an optional nullable primitive argument.
Diffstat (limited to 'src/components/script')
-rw-r--r--src/components/script/dom/bindings/codegen/CodegenRust.py4
-rw-r--r--src/components/script/dom/testbinding.rs18
-rw-r--r--src/components/script/dom/webidls/TestBinding.webidl18
3 files changed, 22 insertions, 18 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py
index 70fa8e6515c..af9a39313da 100644
--- a/src/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/src/components/script/dom/bindings/codegen/CodegenRust.py
@@ -1274,6 +1274,10 @@ for (uint32_t i = 0; i < length; ++i) {
else:
assert(tag == IDLType.Tags.bool)
defaultStr = toStringBool(defaultValue.value)
+
+ if type.nullable():
+ defaultStr = "Some(%s)" % defaultStr
+
template = CGWrapper(CGIndenter(CGGeneric(template)),
pre="if ${haveValue} {\n",
post=("\n"
diff --git a/src/components/script/dom/testbinding.rs b/src/components/script/dom/testbinding.rs
index 35dc025cdae..1df1f97e606 100644
--- a/src/components/script/dom/testbinding.rs
+++ b/src/components/script/dom/testbinding.rs
@@ -123,15 +123,15 @@ impl TestBinding {
// pub fn PassOptionalNullableStringWithDefault(&self, _: Option<DOMString>) {}
pub fn PassOptionalNullableInterfaceWithDefault(&self, _: Option<JS<Blob>>) {}
- // 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 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>) {}
diff --git a/src/components/script/dom/webidls/TestBinding.webidl b/src/components/script/dom/webidls/TestBinding.webidl
index c9d1a6745c4..5c0420d5160 100644
--- a/src/components/script/dom/webidls/TestBinding.webidl
+++ b/src/components/script/dom/webidls/TestBinding.webidl
@@ -83,15 +83,15 @@ interface TestBinding {
// void passOptionalNullableStringWithDefault(optional DOMString? arg = null);
void passOptionalNullableInterfaceWithDefault(optional Blob? arg = null);
- // void passOptionalNullableBooleanWithNonNullDefault(optional boolean? arg = false);
- // void passOptionalNullableByteWithNonNullDefault(optional byte? arg = 7);
- // void passOptionalNullableOctetWithNonNullDefault(optional octet? arg = 7);
- // void passOptionalNullableShortWithNonNullDefault(optional short? arg = 7);
- // void passOptionalNullableUnsignedShortWithNonNullDefault(optional unsigned short? arg = 7);
- // void passOptionalNullableLongWithNonNullDefault(optional long? arg = 7);
- // void passOptionalNullableUnsignedLongWithNonNullDefault(optional unsigned long? arg = 7);
- // void passOptionalNullableLongLongWithNonNullDefault(optional long long? arg = 7);
- // void passOptionalNullableUnsignedLongLongWithNonNullDefault(optional unsigned long long? arg = 7);
+ void passOptionalNullableBooleanWithNonNullDefault(optional boolean? arg = false);
+ void passOptionalNullableByteWithNonNullDefault(optional byte? arg = 7);
+ void passOptionalNullableOctetWithNonNullDefault(optional octet? arg = 7);
+ void passOptionalNullableShortWithNonNullDefault(optional short? arg = 7);
+ void passOptionalNullableUnsignedShortWithNonNullDefault(optional unsigned short? arg = 7);
+ void passOptionalNullableLongWithNonNullDefault(optional long? arg = 7);
+ void passOptionalNullableUnsignedLongWithNonNullDefault(optional unsigned long? arg = 7);
+ void passOptionalNullableLongLongWithNonNullDefault(optional long long? arg = 7);
+ void passOptionalNullableUnsignedLongLongWithNonNullDefault(optional unsigned long long? arg = 7);
// void passOptionalNullableFloatWithNonNullDefault(optional float? arg = 0.0);
// void passOptionalNullableDoubleWithNonNullDefault(optional double? arg = 0.0);
// void passOptionalNullableStringWithNonNullDefault(optional DOMString? arg = "");