aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/document.rs
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno.d@partner.samsung.com>2014-01-30 19:10:42 -0400
committerBruno de Oliveira Abinader <bruno.d@partner.samsung.com>2014-01-30 19:12:19 -0400
commit56572a28142978c4e6e620c21c0b3e5497e3e477 (patch)
tree2df47248265d15c8a01b93423d8757e918cd4329 /src/components/script/dom/document.rs
parent0dd37d9cd32eb08e68288d1b6c5349625bfab7d2 (diff)
downloadservo-56572a28142978c4e6e620c21c0b3e5497e3e477.tar.gz
servo-56572a28142978c4e6e620c21c0b3e5497e3e477.zip
Implement document.compatMode
Spec: http://dom.spec.whatwg.org/#dom-document-compatmode This is a sub-task for #1428.
Diffstat (limited to 'src/components/script/dom/document.rs')
-rw-r--r--src/components/script/dom/document.rs20
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()