diff --git a/src/components/script/dom/bindings/codegen/Bindings.conf b/src/components/script/dom/bindings/codegen/Bindings.conf index 369d08bfdf0..6718071ac7d 100644 --- a/src/components/script/dom/bindings/codegen/Bindings.conf +++ b/src/components/script/dom/bindings/codegen/Bindings.conf @@ -138,7 +138,7 @@ addHTMLElement('HTMLBRElement') addHTMLElement('HTMLCanvasElement') addHTMLElement('HTMLDataElement') addHTMLElement('HTMLDivElement') -addHTMLElement('HTMLDataListElement') +addHTMLElement('HTMLDataListElement', needsAbstract=['options']) addHTMLElement('HTMLDirectoryElement') addHTMLElement('HTMLDListElement') addHTMLElement('HTMLElement') diff --git a/src/components/script/dom/htmldatalistelement.rs b/src/components/script/dom/htmldatalistelement.rs index ef3f91f1702..2a81cce1994 100644 --- a/src/components/script/dom/htmldatalistelement.rs +++ b/src/components/script/dom/htmldatalistelement.rs @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::bindings::codegen::HTMLDataListElementBinding; -use dom::bindings::codegen::InheritTypes::HTMLDataListElementDerived; +use dom::bindings::codegen::InheritTypes::{HTMLDataListElementDerived, NodeCast}; use dom::bindings::js::JS; use dom::document::Document; use dom::element::HTMLDataListElementTypeId; @@ -41,10 +41,10 @@ impl HTMLDataListElement { } impl HTMLDataListElement { - pub fn Options(&self) -> JS { - // FIXME: https://github.com/mozilla/servo/issues/1842 - let doc = self.htmlelement.element.node.owner_doc(); - let doc = doc.get(); - HTMLCollection::new(&doc.window, ~[]) + pub fn Options(&self, abstract_self: &JS) -> JS { + let node: JS = NodeCast::from(abstract_self); + let doc = &self.htmlelement.element.node.owner_doc(); + let window = &doc.get().window; + HTMLCollection::by_tag_name(window, &node, ~"option") } } diff --git a/src/test/content/test_document_datalist_options.html b/src/test/content/test_document_datalist_options.html new file mode 100644 index 00000000000..770c67a23e4 --- /dev/null +++ b/src/test/content/test_document_datalist_options.html @@ -0,0 +1,20 @@ + + + + + + + +