mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +01:00
Add NODE_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO to represent that an element's descendant has animation.
This commit is contained in:
parent
da8387e1ac
commit
661574f9df
4 changed files with 37 additions and 0 deletions
|
@ -309,6 +309,24 @@ pub trait TElement : PartialEq + Debug + Sized + Copy + Clone + ElementExt + Pre
|
||||||
/// Only safe to call with exclusive access to the element.
|
/// Only safe to call with exclusive access to the element.
|
||||||
unsafe fn unset_dirty_descendants(&self);
|
unsafe fn unset_dirty_descendants(&self);
|
||||||
|
|
||||||
|
/// Similar to the dirty_descendants but for representing a descendant of
|
||||||
|
/// the element needs to be updated in animation-only traversal.
|
||||||
|
fn has_animation_only_dirty_descendants(&self) -> bool {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Flag that this element has a descendant for animation-only restyle processing.
|
||||||
|
///
|
||||||
|
/// Only safe to call with exclusive access to the element.
|
||||||
|
unsafe fn set_animation_only_dirty_descendants(&self) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Flag that this element has no descendant for animation-only restyle processing.
|
||||||
|
///
|
||||||
|
/// Only safe to call with exclusive access to the element.
|
||||||
|
unsafe fn unset_animation_only_dirty_descendants(&self) {
|
||||||
|
}
|
||||||
|
|
||||||
/// Atomically stores the number of children of this node that we will
|
/// Atomically stores the number of children of this node that we will
|
||||||
/// need to process during bottom-up traversal.
|
/// need to process during bottom-up traversal.
|
||||||
fn store_children_to_process(&self, n: isize);
|
fn store_children_to_process(&self, n: isize);
|
||||||
|
|
|
@ -42,6 +42,7 @@ use gecko_bindings::structs;
|
||||||
use gecko_bindings::structs::{RawGeckoElement, RawGeckoNode};
|
use gecko_bindings::structs::{RawGeckoElement, RawGeckoNode};
|
||||||
use gecko_bindings::structs::{nsIAtom, nsIContent, nsStyleContext};
|
use gecko_bindings::structs::{nsIAtom, nsIContent, nsStyleContext};
|
||||||
use gecko_bindings::structs::EffectCompositor_CascadeLevel as CascadeLevel;
|
use gecko_bindings::structs::EffectCompositor_CascadeLevel as CascadeLevel;
|
||||||
|
use gecko_bindings::structs::NODE_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO;
|
||||||
use gecko_bindings::structs::NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO;
|
use gecko_bindings::structs::NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO;
|
||||||
use gecko_bindings::structs::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE;
|
use gecko_bindings::structs::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE;
|
||||||
use gecko_bindings::sugar::ownership::HasArcFFI;
|
use gecko_bindings::sugar::ownership::HasArcFFI;
|
||||||
|
@ -510,6 +511,18 @@ impl<'le> TElement for GeckoElement<'le> {
|
||||||
self.unset_flags(NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO as u32)
|
self.unset_flags(NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO as u32)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn has_animation_only_dirty_descendants(&self) -> bool {
|
||||||
|
self.flags() & (NODE_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO as u32) != 0
|
||||||
|
}
|
||||||
|
|
||||||
|
unsafe fn set_animation_only_dirty_descendants(&self) {
|
||||||
|
self.set_flags(NODE_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO as u32)
|
||||||
|
}
|
||||||
|
|
||||||
|
unsafe fn unset_animation_only_dirty_descendants(&self) {
|
||||||
|
self.unset_flags(NODE_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO as u32)
|
||||||
|
}
|
||||||
|
|
||||||
fn store_children_to_process(&self, _: isize) {
|
fn store_children_to_process(&self, _: isize) {
|
||||||
// This is only used for bottom-up traversal, and is thus a no-op for Gecko.
|
// This is only used for bottom-up traversal, and is thus a no-op for Gecko.
|
||||||
}
|
}
|
||||||
|
|
|
@ -15654,6 +15654,9 @@ pub mod root {
|
||||||
_bindgen_ty_118::NODE_SHARED_RESTYLE_BIT_2;
|
_bindgen_ty_118::NODE_SHARED_RESTYLE_BIT_2;
|
||||||
pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_118 =
|
pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_118 =
|
||||||
_bindgen_ty_118::NODE_SHARED_RESTYLE_BIT_1;
|
_bindgen_ty_118::NODE_SHARED_RESTYLE_BIT_1;
|
||||||
|
pub const NODE_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO:
|
||||||
|
root::_bindgen_ty_118 =
|
||||||
|
_bindgen_ty_118::NODE_SHARED_RESTYLE_BIT_2;
|
||||||
pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_118 =
|
pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_118 =
|
||||||
_bindgen_ty_118::NODE_TYPE_SPECIFIC_BITS_OFFSET;
|
_bindgen_ty_118::NODE_TYPE_SPECIFIC_BITS_OFFSET;
|
||||||
#[repr(u32)]
|
#[repr(u32)]
|
||||||
|
|
|
@ -15102,6 +15102,9 @@ pub mod root {
|
||||||
_bindgen_ty_105::NODE_SHARED_RESTYLE_BIT_2;
|
_bindgen_ty_105::NODE_SHARED_RESTYLE_BIT_2;
|
||||||
pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_105 =
|
pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_105 =
|
||||||
_bindgen_ty_105::NODE_SHARED_RESTYLE_BIT_1;
|
_bindgen_ty_105::NODE_SHARED_RESTYLE_BIT_1;
|
||||||
|
pub const NODE_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO:
|
||||||
|
root::_bindgen_ty_105 =
|
||||||
|
_bindgen_ty_105::NODE_SHARED_RESTYLE_BIT_2;
|
||||||
pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_105 =
|
pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_105 =
|
||||||
_bindgen_ty_105::NODE_TYPE_SPECIFIC_BITS_OFFSET;
|
_bindgen_ty_105::NODE_TYPE_SPECIFIC_BITS_OFFSET;
|
||||||
#[repr(u32)]
|
#[repr(u32)]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue