diff options
-rw-r--r-- | components/script/dom/document.rs | 12 | ||||
-rw-r--r-- | components/script/dom/element.rs | 5 |
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() } } |