diff --git a/components/style/properties/gecko.mako.rs b/components/style/properties/gecko.mako.rs index 97321fcbd38..7783c7eebd3 100644 --- a/components/style/properties/gecko.mako.rs +++ b/components/style/properties/gecko.mako.rs @@ -276,11 +276,6 @@ impl ComputedValuesInner { pub fn get_raw_visited_style(&self) -> &Option> { &self.visited_style } - - #[allow(non_snake_case)] - pub fn has_moz_binding(&self) -> bool { - !self.get_box().gecko.mBinding.is_none() - } } <%def name="declare_style_struct(style_struct)"> diff --git a/components/style/properties/longhands/box.mako.rs b/components/style/properties/longhands/box.mako.rs index 01c718fad41..aafb87e3b2b 100644 --- a/components/style/properties/longhands/box.mako.rs +++ b/components/style/properties/longhands/box.mako.rs @@ -630,18 +630,6 @@ ${helpers.predefined_type( gecko_ffi_name="mAppearance", )} -${helpers.predefined_type( - "-moz-binding", - "url::UrlOrNone", - "computed::url::UrlOrNone::none()", - engines="gecko", - animation_value_type="none", - gecko_ffi_name="mBinding", - gecko_pref="layout.css.moz-binding.content.enabled", - enabled_in="chrome", - spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-binding)", -)} - ${helpers.single_keyword( "-moz-orient", "inline block horizontal vertical", diff --git a/components/style/properties/properties.mako.rs b/components/style/properties/properties.mako.rs index a7af2844cae..424a9cf17c4 100644 --- a/components/style/properties/properties.mako.rs +++ b/components/style/properties/properties.mako.rs @@ -3074,10 +3074,6 @@ impl ComputedValuesInner { self.rules.as_ref().unwrap() } - /// Whether this style has a -moz-binding value. This is always false for - /// Servo for obvious reasons. - pub fn has_moz_binding(&self) -> bool { false } - #[inline] /// Returns whether the "content" property for the given style is completely /// ineffective, and would yield an empty `::before` or `::after` diff --git a/components/style/traversal.rs b/components/style/traversal.rs index 1f64e7f22f0..315688ff187 100644 --- a/components/style/traversal.rs +++ b/components/style/traversal.rs @@ -267,7 +267,6 @@ pub trait DomTraversal: Sync { context: &mut StyleContext, parent: E, parent_data: &ElementData, - is_initial_style: bool, ) -> bool { debug_assert!( parent.has_current_styles_for_traversal(parent_data, context.shared.traversal_flags) @@ -279,21 +278,6 @@ pub trait DomTraversal: Sync { return true; } - // Gecko-only XBL handling. - // - // When we apply the XBL binding during frame construction, we restyle - // the whole subtree again if the binding is valid, so assuming it's - // likely to load valid bindings, we avoid wasted work here, which may - // be a very big perf hit when elements with bindings are nested - // heavily. - if cfg!(feature = "gecko") && - is_initial_style && - parent_data.styles.primary().has_moz_binding() - { - debug!("Parent {:?} has XBL binding, deferring traversal", parent); - return true; - } - return false; } @@ -521,7 +505,7 @@ pub fn recalc_style_at( is_servo_nonincremental_layout(); traverse_children = traverse_children && - !traversal.should_cull_subtree(context, element, &data, is_initial_style); + !traversal.should_cull_subtree(context, element, &data); // Examine our children, and enqueue the appropriate ones for traversal. if traverse_children {