aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/shadowroot.rs
diff options
context:
space:
mode:
authorFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-01-31 16:10:26 +0100
committerFernando Jiménez Moreno <ferjmoreno@gmail.com>2019-04-26 10:17:46 +0200
commit7c9e8aa4cc3131c42a9412e1fa3e4f99b4324763 (patch)
treed1efcca0aef19a5dd3c00d717e8e7ac8cecf4442 /components/script/dom/shadowroot.rs
parentbe06f1e9b346d16538ddac5dea468f346cb1f18c (diff)
downloadservo-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.rs15
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()
+ }
+}