diff options
Diffstat (limited to 'src/components/script/dom/document.rs')
-rw-r--r-- | src/components/script/dom/document.rs | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs index db6302e34d9..b5d404ca1c2 100644 --- a/src/components/script/dom/document.rs +++ b/src/components/script/dom/document.rs @@ -22,6 +22,7 @@ use dom::uievent::UIEvent; use dom::window::Window; use dom::htmltitleelement::HTMLTitleElement; use html::hubbub_html_parser::build_element_from_tag; +use hubbub::hubbub::{QuirksMode, NoQuirks, LimitedQuirks, FullQuirks}; use layout_interface::{DocumentDamageLevel, ContentChangedDocumentDamage}; use servo_util::namespace::Null; @@ -91,7 +92,8 @@ pub struct Document { idmap: HashMap<DOMString, AbstractNode>, implementation: Option<@mut DOMImplementation>, content_type: DOMString, - url: Url + url: Url, + quirks_mode: QuirksMode } impl Document { @@ -136,7 +138,9 @@ impl Document { url: match url { None => from_str("about:blank").unwrap(), Some(_url) => _url - } + }, + // http://dom.spec.whatwg.org/#concept-document-quirks + quirks_mode: NoQuirks } } @@ -191,6 +195,18 @@ impl Document { self.URL() } + // http://dom.spec.whatwg.org/#dom-document-compatmode + pub fn CompatMode(&self) -> DOMString { + match self.quirks_mode { + NoQuirks => ~"CSS1Compat", + LimitedQuirks | FullQuirks => ~"BackCompat" + } + } + + pub fn set_quirks_mode(&mut self, mode: QuirksMode) { + self.quirks_mode = mode; + } + // http://dom.spec.whatwg.org/#dom-document-content_type pub fn ContentType(&self) -> DOMString { self.content_type.clone() |