implement HTMLDataListElement.options

This commit is contained in:
lpy 2014-03-08 00:32:34 +08:00
parent af616dba58
commit a2189ee066
3 changed files with 27 additions and 7 deletions

View file

@ -138,7 +138,7 @@ addHTMLElement('HTMLBRElement')
addHTMLElement('HTMLCanvasElement')
addHTMLElement('HTMLDataElement')
addHTMLElement('HTMLDivElement')
addHTMLElement('HTMLDataListElement')
addHTMLElement('HTMLDataListElement', needsAbstract=['options'])
addHTMLElement('HTMLDirectoryElement')
addHTMLElement('HTMLDListElement')
addHTMLElement('HTMLElement')

View file

@ -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<HTMLCollection> {
// 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<HTMLDataListElement>) -> JS<HTMLCollection> {
let node: JS<Node> = NodeCast::from(abstract_self);
let doc = &self.htmlelement.element.node.owner_doc();
let window = &doc.get().window;
HTMLCollection::by_tag_name(window, &node, ~"option")
}
}