aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2014-10-23 11:48:01 +0200
committerMs2ger <ms2ger@gmail.com>2014-10-23 18:20:11 +0200
commitd643ade7e844f33a26dbcc2a3fcb8fc126aba7d7 (patch)
tree859b34a8047e01b857e27d6fe5358ae7d3741062
parent32bcc192b005f1e98371f6633e1b0ed0b105b5d8 (diff)
downloadservo-d643ade7e844f33a26dbcc2a3fcb8fc126aba7d7.tar.gz
servo-d643ade7e844f33a26dbcc2a3fcb8fc126aba7d7.zip
Introduce LayoutDocumentHelpers::is_html_document_for_layout for LayoutElementHelpers::html_element_in_html_document_for_layout.
-rw-r--r--components/script/dom/document.rs12
-rw-r--r--components/script/dom/element.rs5
2 files changed, 14 insertions, 3 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index 7bc0345b279..94263523bf1 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -311,6 +311,18 @@ pub enum DocumentSource {
NotFromParser,
}
+pub trait LayoutDocumentHelpers {
+ unsafe fn is_html_document_for_layout(&self) -> bool;
+}
+
+impl LayoutDocumentHelpers for JS<Document> {
+ #[allow(unrooted_must_root)]
+ #[inline]
+ unsafe fn is_html_document_for_layout(&self) -> bool {
+ (*self.unsafe_get()).is_html_document
+ }
+}
+
impl Document {
fn new_inherited(window: JSRef<Window>,
url: Option<Url>,
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index f71e9626b29..08ad02287fa 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -21,7 +21,7 @@ use dom::bindings::error::{ErrorResult, Fallible, NamespaceError, InvalidCharact
use dom::bindings::utils::{QName, Name, InvalidXMLName, xml_name_type};
use dom::domrect::DOMRect;
use dom::domrectlist::DOMRectList;
-use dom::document::{Document, DocumentHelpers};
+use dom::document::{Document, DocumentHelpers, LayoutDocumentHelpers};
use dom::domtokenlist::DOMTokenList;
use dom::eventtarget::{EventTarget, NodeTargetTypeId};
use dom::htmlcollection::HTMLCollection;
@@ -335,8 +335,7 @@ impl LayoutElementHelpers for JS<Element> {
return false
}
let node: JS<Node> = self.transmute_copy();
- let owner_doc = node.owner_doc_for_layout().unsafe_get();
- (*owner_doc).is_html_document()
+ node.owner_doc_for_layout().is_html_document_for_layout()
}
}