Struct style::invalidation::element::element_wrapper::ElementWrapper
source · pub struct ElementWrapper<'a, E>where
E: TElement,{
element: E,
cached_snapshot: Cell<Option<&'a Snapshot>>,
snapshot_map: &'a SnapshotMap,
}
Expand description
A simple wrapper over an element and a snapshot, that allows us to selector-match against a past state of the element.
Fields§
§element: E
§cached_snapshot: Cell<Option<&'a Snapshot>>
§snapshot_map: &'a SnapshotMap
Implementations§
source§impl<'a, E> ElementWrapper<'a, E>where
E: TElement,
impl<'a, E> ElementWrapper<'a, E>where
E: TElement,
sourcepub fn new(el: E, snapshot_map: &'a SnapshotMap) -> Self
pub fn new(el: E, snapshot_map: &'a SnapshotMap) -> Self
Trivially constructs an ElementWrapper
.
sourcepub fn snapshot(&self) -> Option<&'a Snapshot>
pub fn snapshot(&self) -> Option<&'a Snapshot>
Gets the snapshot associated with this element, if any.
sourcepub fn state_changes(&self) -> ElementState
pub fn state_changes(&self) -> ElementState
Returns the states that have changed since the element was snapshotted.
Trait Implementations§
source§impl<'a, E> Clone for ElementWrapper<'a, E>
impl<'a, E> Clone for ElementWrapper<'a, E>
source§fn clone(&self) -> ElementWrapper<'a, E>
fn clone(&self) -> ElementWrapper<'a, E>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'a, E> Debug for ElementWrapper<'a, E>where
E: TElement,
impl<'a, E> Debug for ElementWrapper<'a, E>where
E: TElement,
source§impl<'a, E> Element for ElementWrapper<'a, E>where
E: TElement,
impl<'a, E> Element for ElementWrapper<'a, E>where
E: TElement,
type Impl = SelectorImpl
fn match_non_ts_pseudo_class( &self, pseudo_class: &NonTSPseudoClass, context: &mut MatchingContext<'_, Self::Impl>, ) -> bool
source§fn apply_selector_flags(&self, _flags: ElementSelectorFlags)
fn apply_selector_flags(&self, _flags: ElementSelectorFlags)
Sets selector flags on the elemnt itself or the parent, depending on the
flags, which indicate what kind of work may need to be performed when
DOM state changes.
fn match_pseudo_element( &self, pseudo_element: &PseudoElement, context: &mut MatchingContext<'_, Self::Impl>, ) -> bool
source§fn opaque(&self) -> OpaqueElement
fn opaque(&self) -> OpaqueElement
Converts self into an opaque representation.
fn parent_element(&self) -> Option<Self>
source§fn parent_node_is_shadow_root(&self) -> bool
fn parent_node_is_shadow_root(&self) -> bool
Whether the parent node of this element is a shadow root.
source§fn containing_shadow_host(&self) -> Option<Self>
fn containing_shadow_host(&self) -> Option<Self>
The host of the containing shadow root, if any.
source§fn prev_sibling_element(&self) -> Option<Self>
fn prev_sibling_element(&self) -> Option<Self>
Skips non-element nodes
source§fn next_sibling_element(&self) -> Option<Self>
fn next_sibling_element(&self) -> Option<Self>
Skips non-element nodes
source§fn first_element_child(&self) -> Option<Self>
fn first_element_child(&self) -> Option<Self>
Skips non-element nodes
fn is_html_element_in_html_document(&self) -> bool
source§fn is_html_slot_element(&self) -> bool
fn is_html_slot_element(&self) -> bool
Returns whether the element is an HTML element.
fn has_local_name( &self, local_name: &<Self::Impl as SelectorImpl>::BorrowedLocalName, ) -> bool
source§fn has_namespace(
&self,
ns: &<Self::Impl as SelectorImpl>::BorrowedNamespaceUrl,
) -> bool
fn has_namespace( &self, ns: &<Self::Impl as SelectorImpl>::BorrowedNamespaceUrl, ) -> bool
Empty string for no namespace
source§fn is_same_type(&self, other: &Self) -> bool
fn is_same_type(&self, other: &Self) -> bool
Whether this element and the
other
element have the same local name and namespace.fn attr_matches( &self, ns: &NamespaceConstraint<&Namespace>, local_name: &LocalName, operation: &AttrSelectorOperation<&AttrValue>, ) -> bool
fn has_id(&self, id: &AtomIdent, case_sensitivity: CaseSensitivity) -> bool
fn is_part(&self, name: &AtomIdent) -> bool
source§fn imported_part(&self, name: &AtomIdent) -> Option<AtomIdent>
fn imported_part(&self, name: &AtomIdent) -> Option<AtomIdent>
Returns the mapping from the
exportparts
attribute in the reverse
direction, that is, in an outer-tree -> inner-tree direction.fn has_class(&self, name: &AtomIdent, case_sensitivity: CaseSensitivity) -> bool
fn has_custom_state(&self, state: &AtomIdent) -> bool
source§fn is_root(&self) -> bool
fn is_root(&self) -> bool
Returns whether this element matches
:root
,
i.e. whether it is the root element of a document. Read moresource§fn is_pseudo_element(&self) -> bool
fn is_pseudo_element(&self) -> bool
Whether we’re matching on a pseudo-element.
source§fn pseudo_element_originating_element(&self) -> Option<Self>
fn pseudo_element_originating_element(&self) -> Option<Self>
The parent of a given pseudo-element, after matching a pseudo-element
selector. Read more
source§fn assigned_slot(&self) -> Option<Self>
fn assigned_slot(&self) -> Option<Self>
Returns the assigned element this element is assigned to. Read more
source§fn add_element_unique_hashes(&self, _filter: &mut BloomFilter) -> bool
fn add_element_unique_hashes(&self, _filter: &mut BloomFilter) -> bool
Add hashes unique to this element to the given filter, returning true
if any got added.
fn has_attr_in_no_namespace( &self, local_name: &<Self::Impl as SelectorImpl>::LocalName, ) -> bool
source§fn ignores_nth_child_selectors(&self) -> bool
fn ignores_nth_child_selectors(&self) -> bool
Returns whether this element should ignore matching nth child
selector.
Auto Trait Implementations§
impl<'a, E> !Freeze for ElementWrapper<'a, E>
impl<'a, E> !RefUnwindSafe for ElementWrapper<'a, E>
impl<'a, E> Send for ElementWrapper<'a, E>where
E: Send,
impl<'a, E> !Sync for ElementWrapper<'a, E>
impl<'a, E> Unpin for ElementWrapper<'a, E>where
E: Unpin,
impl<'a, E> !UnwindSafe for ElementWrapper<'a, E>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert