From 6d619f484cefb9c73df8ab515a1535d4bc2428cd Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Mon, 2 Jun 2014 14:46:23 +0200 Subject: [PATCH] Support enumerations in dictionaries. --- src/components/script/dom/bindings/codegen/CodegenRust.py | 4 ++-- src/components/script/dom/webidls/TestBinding.webidl | 2 +- 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;