From 295f1204257a804a866e48efcc95c226fd7ea3ed Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Wed, 1 Apr 2020 11:25:39 +0200 Subject: Make LayoutShadowRootHelpers::get_style_data_for_layout return a &CascadeData That return type is Sync, which thus means that the method can be safe. --- components/script/dom/shadowroot.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'components/script/dom') diff --git a/components/script/dom/shadowroot.rs b/components/script/dom/shadowroot.rs index df9337eabcc..7e375c4fbba 100644 --- a/components/script/dom/shadowroot.rs +++ b/components/script/dom/shadowroot.rs @@ -27,6 +27,7 @@ use style::dom::TElement; use style::media_queries::Device; use style::shared_lock::SharedRwLockReadGuard; use style::stylesheets::Stylesheet; +use style::stylist::CascadeData; /// Whether a shadow root hosts an User Agent widget. #[derive(JSTraceable, MallocSizeOf, PartialEq)] @@ -241,7 +242,7 @@ impl ShadowRootMethods for ShadowRoot { #[allow(unsafe_code)] pub trait LayoutShadowRootHelpers<'dom> { fn get_host_for_layout(self) -> LayoutDom<'dom, Element>; - unsafe fn get_style_data_for_layout(self) -> &'dom AuthorStyles; + fn get_style_data_for_layout(self) -> &'dom CascadeData; unsafe fn flush_stylesheets( self, device: &Device, @@ -264,8 +265,10 @@ impl<'dom> LayoutShadowRootHelpers<'dom> for LayoutDom<'dom, ShadowRoot> { #[inline] #[allow(unsafe_code)] - unsafe fn get_style_data_for_layout(self) -> &'dom AuthorStyles { - (*self.unsafe_get()).author_styles.borrow_for_layout() + fn get_style_data_for_layout(self) -> &'dom CascadeData { + fn is_sync() {} + let _ = is_sync::; + unsafe { &self.unsafe_get().author_styles.borrow_for_layout().data } } #[inline] -- cgit v1.2.3