aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2014-06-02 14:46:23 +0200
committerMs2ger <ms2ger@gmail.com>2014-06-02 14:46:23 +0200
commit6d619f484cefb9c73df8ab515a1535d4bc2428cd (patch)
tree8b229530bc41802b8ba9d2c143b0aa1ee2ae7c70
parent7e310d19493f4a708f43dd28ff18e09eb9cff967 (diff)
downloadservo-6d619f484cefb9c73df8ab515a1535d4bc2428cd.tar.gz
servo-6d619f484cefb9c73df8ab515a1535d4bc2428cd.zip
Support enumerations in dictionaries.
-rw-r--r--src/components/script/dom/bindings/codegen/CodegenRust.py4
-rw-r--r--src/components/script/dom/webidls/TestBinding.webidl2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py
index 9d5578b6b58..beb0b46e8e0 100644
--- a/src/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/src/components/script/dom/bindings/codegen/CodegenRust.py
@@ -686,7 +686,7 @@ def getJSToNativeConversionTemplate(type, descriptorProvider, failureCode=None,
"yet")
enum = type.inner.identifier.name
if invalidEnumValueFatal:
- handleInvalidEnumValueCode = "return 0;"
+ handleInvalidEnumValueCode = exceptionCode
else:
handleInvalidEnumValueCode = "return 1;"
@@ -696,7 +696,7 @@ def getJSToNativeConversionTemplate(type, descriptorProvider, failureCode=None,
" Ok(None) => { %(handleInvalidEnumValueCode)s },\n"
" Ok(Some(index)) => {\n"
" //XXXjdm need some range checks up in here.\n"
- " cast::transmute(index)\n"
+ " unsafe { cast::transmute(index) }\n"
" },\n"
"}" % { "values" : enum + "Values::strings",
"exceptionCode" : exceptionCode,
diff --git a/src/components/script/dom/webidls/TestBinding.webidl b/src/components/script/dom/webidls/TestBinding.webidl
index 5736911e504..578a2d3948b 100644
--- a/src/components/script/dom/webidls/TestBinding.webidl
+++ b/src/components/script/dom/webidls/TestBinding.webidl
@@ -35,7 +35,7 @@ dictionary TestDictionaryDefaults {
// float floatValue = 7.0;
// double doubleValue = 7.0;
DOMString stringValue = "";
- // TestEnum enumValue = "bar";
+ TestEnum enumValue = "bar";
any anyValue = null;
boolean? nullableBooleanValue = false;