From e34bcaaa5fbb3637ebdd4ff79af2322997455efa Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sun, 27 Jul 2014 22:05:30 +0200 Subject: [PATCH] Pass a non-nullable string to NamedGetter. There is no actual reason to use a nullable string here; all callers have a string they want to pass. The issue dates back to the time that DOMString was inherently nullable (before #1215); this API was not converted back to the non-nullable DOMString type after that landed. --- .../script/dom/bindings/codegen/CodegenRust.py | 10 +++++----- src/components/script/dom/htmlcollection.rs | 18 +++++------------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index 525c77b6419..3d88b2ea442 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -3612,7 +3612,7 @@ class CGDOMJSProxyHandler_getOwnPropertyDescriptor(CGAbstractExternMethod): # properties that shadow prototype properties. namedGet = ("\n" + "if set == 0 && RUST_JSID_IS_STRING(id) != 0 && !HasPropertyOnPrototype(cx, proxy, id) {\n" + - " let name = Some(jsid_to_str(cx, id));\n" + + " let name = jsid_to_str(cx, id);\n" + " let this = UnwrapProxy(proxy);\n" + " let this = JS::from_raw(this);\n" + " let this = this.root();\n" + @@ -3675,7 +3675,7 @@ class CGDOMJSProxyHandler_defineProperty(CGAbstractExternMethod): if not self.descriptor.operations['NamedCreator'] is namedSetter: raise TypeError("Can't handle creator that's different from the setter") set += ("if RUST_JSID_IS_STRING(id) != 0 {\n" + - " let name = Some(jsid_to_str(cx, id));\n" + + " let name = jsid_to_str(cx, id);\n" + " let this = UnwrapProxy(proxy);\n" + " let this = JS::from_raw(this);\n" + " let this = this.root();\n" + @@ -3683,7 +3683,7 @@ class CGDOMJSProxyHandler_defineProperty(CGAbstractExternMethod): "}\n") elif self.descriptor.operations['NamedGetter']: set += ("if RUST_JSID_IS_STRING(id) {\n" + - " let name = Some(jsid_to_str(cx, id));\n" + + " let name = jsid_to_str(cx, id);\n" + " let this = UnwrapProxy(proxy);\n" + " let this = JS::from_raw(this);\n" + " let this = this.root();\n" + @@ -3724,7 +3724,7 @@ class CGDOMJSProxyHandler_hasOwn(CGAbstractExternMethod): namedGetter = self.descriptor.operations['NamedGetter'] if namedGetter: named = ("if RUST_JSID_IS_STRING(id) != 0 && !HasPropertyOnPrototype(cx, proxy, id) {\n" + - " let name = Some(jsid_to_str(cx, id));\n" + + " let name = jsid_to_str(cx, id);\n" + " let this = UnwrapProxy(proxy);\n" + " let this = JS::from_raw(this);\n" + " let this = this.root();\n" + @@ -3796,7 +3796,7 @@ if expando.is_not_null() { namedGetter = self.descriptor.operations['NamedGetter'] if namedGetter and False: #XXXjdm unfinished getNamed = ("if (JSID_IS_STRING(id)) {\n" + - " let name = Some(jsid_to_str(cx, id));\n" + + " let name = jsid_to_str(cx, id);\n" + " let this = UnwrapProxy(proxy);\n" + " let this = JS::from_raw(this);\n" + " let this = this.root();\n" + diff --git a/src/components/script/dom/htmlcollection.rs b/src/components/script/dom/htmlcollection.rs index a1d37700af6..65a617a10f6 100644 --- a/src/components/script/dom/htmlcollection.rs +++ b/src/components/script/dom/htmlcollection.rs @@ -124,7 +124,7 @@ pub trait HTMLCollectionMethods { fn Item(&self, index: u32) -> Option>; fn NamedItem(&self, key: DOMString) -> Option>; fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option>; - fn NamedGetter(&self, maybe_name: Option, found: &mut bool) -> Option>; + fn NamedGetter(&self, name: DOMString, found: &mut bool) -> Option>; } impl<'a> HTMLCollectionMethods for JSRef<'a, HTMLCollection> { @@ -202,18 +202,10 @@ impl<'a> HTMLCollectionMethods for JSRef<'a, HTMLCollection> { maybe_elem } - fn NamedGetter(&self, maybe_name: Option, found: &mut bool) -> Option> { - match maybe_name { - Some(name) => { - let maybe_elem = self.NamedItem(name); - *found = maybe_elem.is_some(); - maybe_elem - }, - None => { - *found = false; - None - } - } + fn NamedGetter(&self, name: DOMString, found: &mut bool) -> Option> { + let maybe_elem = self.NamedItem(name); + *found = maybe_elem.is_some(); + maybe_elem } }