From 4d20d1716d2068c5594b8184e2839238958a66e4 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Fri, 18 Apr 2014 10:21:50 +0200 Subject: [PATCH] Implement support for default values for enumeration arguments. --- .../script/dom/bindings/codegen/CodegenRust.py | 10 +++++----- src/components/script/dom/testbinding.rs | 2 +- src/components/script/dom/webidls/TestBinding.webidl | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index 2110ab7ebd9..9df2e31649a 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -751,11 +751,11 @@ def getJSToNativeConversionTemplate(type, descriptorProvider, failureCode=None, if defaultValue is not None: assert(defaultValue.type.tag() == IDLType.Tags.domstring) - template = "" #XXXjdm unfinished - #template = handleDefault(template, - # ("${declName} = %sValues::%s;" % - # (enum, - # getEnumValueName(defaultValue.value)))) + template = handleDefault(template, + ("${declName} = %sValues::%s;" % + (enum, + getEnumValueName(defaultValue.value)))) + return (template, CGGeneric(enum), None, isOptional, None) if type.isCallback(): diff --git a/src/components/script/dom/testbinding.rs b/src/components/script/dom/testbinding.rs index 53dbced8c36..363db6e0ee0 100644 --- a/src/components/script/dom/testbinding.rs +++ b/src/components/script/dom/testbinding.rs @@ -120,7 +120,7 @@ impl TestBinding { pub fn PassOptionalLongLongWithDefault(&self, _: i64) {} pub fn PassOptionalUnsignedLongLongWithDefault(&self, _: u64) {} pub fn PassOptionalStringWithDefault(&self, _: DOMString) {} - // pub fn PassOptionalEnumWithDefault(&self, _: TestEnum) {} + pub fn PassOptionalEnumWithDefault(&self, _: TestEnum) {} pub fn PassOptionalNullableBooleanWithDefault(&self, _: Option) {} pub fn PassOptionalNullableByteWithDefault(&self, _: Option) {} diff --git a/src/components/script/dom/webidls/TestBinding.webidl b/src/components/script/dom/webidls/TestBinding.webidl index 93196cf8e3c..56f54bb461b 100644 --- a/src/components/script/dom/webidls/TestBinding.webidl +++ b/src/components/script/dom/webidls/TestBinding.webidl @@ -77,7 +77,7 @@ interface TestBinding { void passOptionalLongLongWithDefault(optional long long arg = -12); void passOptionalUnsignedLongLongWithDefault(optional unsigned long long arg = 17); void passOptionalStringWithDefault(optional DOMString arg = ""); - // void passOptionalEnumWithDefault(optional TestEnum arg = "foo"); + void passOptionalEnumWithDefault(optional TestEnum arg = "foo"); void passOptionalNullableBooleanWithDefault(optional boolean? arg = null); void passOptionalNullableByteWithDefault(optional byte? arg = null);