diff --git a/src/components/script/dom/bindings/codegen/Document.webidl b/src/components/script/dom/bindings/codegen/Document.webidl index 78983ae1253..1a0cab2cda6 100644 --- a/src/components/script/dom/bindings/codegen/Document.webidl +++ b/src/components/script/dom/bindings/codegen/Document.webidl @@ -33,7 +33,7 @@ interface Document : Node { // readonly attribute DOMString characterSet; // readonly attribute DOMString contentType; - //readonly attribute DocumentType? doctype; + readonly attribute DocumentType? doctype; readonly attribute Element? documentElement; HTMLCollection getElementsByTagName(DOMString localName); HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName); diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs index 7e051d2a24a..214fd7363f6 100644 --- a/src/components/script/dom/document.rs +++ b/src/components/script/dom/document.rs @@ -156,6 +156,10 @@ impl Reflectable for Document { } impl Document { + pub fn GetDoctype(&self) -> Option { + self.node.children().find(|child| child.is_doctype()) + } + pub fn GetDocumentElement(&self) -> Option { self.node.child_elements().next() } diff --git a/src/test/html/content/test_document_doctype.html b/src/test/html/content/test_document_doctype.html new file mode 100644 index 00000000000..0f16cccbff7 --- /dev/null +++ b/src/test/html/content/test_document_doctype.html @@ -0,0 +1,24 @@ + + + + + + + +