diff --git a/components/style/gecko/wrapper.rs b/components/style/gecko/wrapper.rs index d399109fee8..5aa09092492 100644 --- a/components/style/gecko/wrapper.rs +++ b/components/style/gecko/wrapper.rs @@ -536,8 +536,9 @@ impl<'le> GeckoElement<'le> { fn get_extended_slots( &self, ) -> Option<&structs::FragmentOrElement_nsExtendedDOMSlots> { - self.get_dom_slots() - .and_then(|s| unsafe { s.mExtendedSlots.mPtr.as_ref() }) + self.get_dom_slots().and_then(|s| unsafe { + (s._base.mExtendedSlots.mPtr as *const structs::FragmentOrElement_nsExtendedDOMSlots).as_ref() + }) } #[inline] @@ -592,7 +593,7 @@ impl<'le> GeckoElement<'le> { fn get_non_xul_xbl_binding_parent_raw_content(&self) -> *mut nsIContent { debug_assert!(!self.is_xul_element()); self.get_extended_slots() - .map_or(ptr::null_mut(), |slots| slots.mBindingParent) + .map_or(ptr::null_mut(), |slots| slots._base.mBindingParent) } fn has_xbl_binding_parent(&self) -> bool {