diff options
author | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2019-01-31 16:10:26 +0100 |
---|---|---|
committer | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2019-04-26 10:17:46 +0200 |
commit | 7c9e8aa4cc3131c42a9412e1fa3e4f99b4324763 (patch) | |
tree | d1efcca0aef19a5dd3c00d717e8e7ac8cecf4442 /components/script/dom/shadowroot.rs | |
parent | be06f1e9b346d16538ddac5dea468f346cb1f18c (diff) | |
download | servo-7c9e8aa4cc3131c42a9412e1fa3e4f99b4324763.tar.gz servo-7c9e8aa4cc3131c42a9412e1fa3e4f99b4324763.zip |
First bits of shadow dom layout
Diffstat (limited to 'components/script/dom/shadowroot.rs')
-rw-r--r-- | components/script/dom/shadowroot.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/components/script/dom/shadowroot.rs b/components/script/dom/shadowroot.rs index e64401ab494..55470a9935d 100644 --- a/components/script/dom/shadowroot.rs +++ b/components/script/dom/shadowroot.rs @@ -7,7 +7,7 @@ use crate::dom::bindings::codegen::Bindings::ShadowRootBinding::{self, ShadowRoo use crate::dom::bindings::inheritance::Castable; use crate::dom::bindings::num::Finite; use crate::dom::bindings::reflector::reflect_dom_object; -use crate::dom::bindings::root::{Dom, DomRoot, MutNullableDom}; +use crate::dom::bindings::root::{Dom, DomRoot, LayoutDom, MutNullableDom}; use crate::dom::cssstylesheet::CSSStyleSheet; use crate::dom::document::Document; use crate::dom::documentfragment::DocumentFragment; @@ -121,3 +121,16 @@ impl ShadowRootMethods for ShadowRoot { }) } } + +#[allow(unsafe_code)] +pub trait LayoutShadowRootHelpers { + unsafe fn get_host_for_layout(&self) -> LayoutDom<Element>; +} + +impl LayoutShadowRootHelpers for LayoutDom<ShadowRoot> { + #[inline] + #[allow(unsafe_code)] + unsafe fn get_host_for_layout(&self) -> LayoutDom<Element> { + (*self.unsafe_get()).host.to_layout() + } +} |