aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/domimplementation.rs
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2015-04-07 23:20:56 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2015-04-08 10:22:28 +0200
commitabc01d598afca71f419053b3e886769d874003b0 (patch)
tree2f2a21c0eacc8a430f9796f173c8c3c108661847 /components/script/dom/domimplementation.rs
parent7e07dcc7ee964e89cbb263ebca6db71fac22cf05 (diff)
downloadservo-abc01d598afca71f419053b3e886769d874003b0.tar.gz
servo-abc01d598afca71f419053b3e886769d874003b0.zip
Add script::dom::utils::validate_qualified_name()
Diffstat (limited to 'components/script/dom/domimplementation.rs')
-rw-r--r--components/script/dom/domimplementation.rs21
1 files changed, 6 insertions, 15 deletions
diff --git a/components/script/dom/domimplementation.rs b/components/script/dom/domimplementation.rs
index 7e2a3dba03a..e5cac62f4e7 100644
--- a/components/script/dom/domimplementation.rs
+++ b/components/script/dom/domimplementation.rs
@@ -8,12 +8,10 @@ use dom::bindings::codegen::Bindings::DOMImplementationBinding::DOMImplementatio
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::InheritTypes::NodeCast;
use dom::bindings::error::Fallible;
-use dom::bindings::error::Error::{InvalidCharacter, Namespace};
use dom::bindings::global::GlobalRef;
use dom::bindings::js::{JS, JSRef, Root, Temporary, OptionalRootable};
use dom::bindings::utils::{Reflector, reflect_dom_object};
-use dom::bindings::utils::xml_name_type;
-use dom::bindings::utils::XMLName::{QName, Name, InvalidXMLName};
+use dom::bindings::utils::validate_qualified_name;
use dom::document::{Document, DocumentHelpers, IsHTMLDocument};
use dom::document::DocumentSource;
use dom::documenttype::DocumentType;
@@ -52,18 +50,11 @@ impl DOMImplementation {
// http://dom.spec.whatwg.org/#domimplementation
impl<'a> DOMImplementationMethods for JSRef<'a, DOMImplementation> {
// http://dom.spec.whatwg.org/#dom-domimplementation-createdocumenttype
- fn CreateDocumentType(self, qname: DOMString, pubid: DOMString, sysid: DOMString) -> Fallible<Temporary<DocumentType>> {
- match xml_name_type(&qname) {
- // Step 1.
- InvalidXMLName => Err(InvalidCharacter),
- // Step 2.
- Name => Err(Namespace),
- // Step 3.
- QName => {
- let document = self.document.root();
- Ok(DocumentType::new(qname, Some(pubid), Some(sysid), document.r()))
- }
- }
+ fn CreateDocumentType(self, qualified_name: DOMString, pubid: DOMString, sysid: DOMString)
+ -> Fallible<Temporary<DocumentType>> {
+ try!(validate_qualified_name(&qualified_name));
+ let document = self.document.root();
+ Ok(DocumentType::new(qualified_name, Some(pubid), Some(sysid), document.r()))
}
// http://dom.spec.whatwg.org/#dom-domimplementation-createdocument