aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/style/gecko/wrapper.rs50
1 files changed, 2 insertions, 48 deletions
diff --git a/components/style/gecko/wrapper.rs b/components/style/gecko/wrapper.rs
index 39e3678eebc..e2ae42fcb66 100644
--- a/components/style/gecko/wrapper.rs
+++ b/components/style/gecko/wrapper.rs
@@ -706,44 +706,6 @@ impl<'le> GeckoElement<'le> {
!self.xbl_binding_with_content().is_none()
}
- /// This duplicates the logic in Gecko's virtual nsINode::GetBindingParent
- /// function, which only has two implementations: one for XUL elements, and
- /// one for other elements.
- ///
- /// We just hard code in our knowledge of those two implementations here.
- fn xbl_binding_parent(&self) -> Option<Self> {
- if self.is_xul_element() {
- // FIXME(heycam): Having trouble with bindgen on nsXULElement,
- // where the binding parent is stored in a member variable
- // rather than in slots. So just get it through FFI for now.
- unsafe {
- bindings::Gecko_GetBindingParent(self.0)
- .as_ref()
- .map(GeckoElement)
- }
- } else {
- let binding_parent =
- unsafe { self.non_xul_xbl_binding_parent().as_ref() }.map(GeckoElement);
-
- debug_assert!(
- binding_parent ==
- unsafe {
- bindings::Gecko_GetBindingParent(self.0)
- .as_ref()
- .map(GeckoElement)
- }
- );
- binding_parent
- }
- }
-
- #[inline]
- fn non_xul_xbl_binding_parent(&self) -> *mut RawGeckoElement {
- debug_assert!(!self.is_xul_element());
- self.extended_slots()
- .map_or(ptr::null_mut(), |slots| slots._base.mBindingParent.mRawPtr)
- }
-
#[inline]
fn namespace_id(&self) -> i32 {
self.as_node().node_info().mInner.mNamespaceID
@@ -865,19 +827,11 @@ impl<'le> GeckoElement<'le> {
return self.flags() & (NODE_IS_NATIVE_ANONYMOUS_ROOT as u32) != 0;
}
- /// This logic is duplicated in Gecko's nsIContent::IsInAnonymousSubtree.
#[inline]
fn is_in_anonymous_subtree(&self) -> bool {
- if self.is_in_native_anonymous_subtree() {
- return true;
+ unsafe {
+ bindings::Gecko_IsInAnonymousSubtree(self.0)
}
-
- let binding_parent = match self.xbl_binding_parent() {
- Some(p) => p,
- None => return false,
- };
-
- binding_parent.shadow_root().is_none()
}
/// Returns true if this node is the shadow root of an use-element shadow tree.