pub struct SubstitutionReplacementContext<'a, 'b, 'c, 't> {
pub property_id: Option<PropertyIdRef<'b>>,
pub substitution_functions: &'a ComputedSubstitutionFunctions,
pub stylist: &'b Stylist,
pub computed_context: &'b Context<'c>,
pub attribute_tracker: &'b mut AttributeTracker<'t>,
pub seen: SmallVec<[Name; 8]>,
}Expand description
Context for replacing an arbitrary substitution function with its value.
Fields§
§property_id: Option<PropertyIdRef<'b>>The property the value is being substituted for, if any.
substitution_functions: &'a ComputedSubstitutionFunctionsThe custom properties and attributes to substitute from.
stylist: &'b StylistThe stylist.
computed_context: &'b Context<'c>The computed context.
attribute_tracker: &'b mut AttributeTracker<'t>Tracks the attributes queried by attr().
seen: SmallVec<[Name; 8]>The custom properties currently being resolved, for cycle detection.
Implementations§
Source§impl<'a, 'b, 'c, 't> SubstitutionReplacementContext<'a, 'b, 'c, 't>
impl<'a, 'b, 'c, 't> SubstitutionReplacementContext<'a, 'b, 'c, 't>
Sourcepub fn new(
property_id: Option<PropertyIdRef<'b>>,
substitution_functions: &'a ComputedSubstitutionFunctions,
stylist: &'b Stylist,
computed_context: &'b Context<'c>,
attribute_tracker: &'b mut AttributeTracker<'t>,
) -> Self
pub fn new( property_id: Option<PropertyIdRef<'b>>, substitution_functions: &'a ComputedSubstitutionFunctions, stylist: &'b Stylist, computed_context: &'b Context<'c>, attribute_tracker: &'b mut AttributeTracker<'t>, ) -> Self
Creates a new context for substitution function replacement.
Sourcepub fn substitute_variable_value(
&mut self,
variable_value: &'a VariableValue,
attr_taint: Option<&mut AttrTaint>,
) -> Result<Substitution<'a>, ()>
pub fn substitute_variable_value( &mut self, variable_value: &'a VariableValue, attr_taint: Option<&mut AttrTaint>, ) -> Result<Substitution<'a>, ()>
Substitutes the references in a variable value. Returns Err(..) for invalid at computed
time.
Sourcepub fn substitute_declaration_value(
&mut self,
value: &'a ArbitraryDeclarationValue,
source: &'a VariableValue,
) -> Result<Substitution<'a>, ()>
pub fn substitute_declaration_value( &mut self, value: &'a ArbitraryDeclarationValue, source: &'a VariableValue, ) -> Result<Substitution<'a>, ()>
Substitutes one of a function’s nested values, which is part of source.
fn substitute_chunk( &mut self, source: &'a VariableValue, start: usize, end: usize, first_token_type: TokenSerializationType, last_token_type: TokenSerializationType, references: &'a [SubstitutionFunctionReference], attr_taint: Option<&mut AttrTaint>, ) -> Result<Substitution<'a>, ()>
Sourcepub fn parser_context(&self, url_data: &'b UrlExtraData) -> ParserContext<'b>
pub fn parser_context(&self, url_data: &'b UrlExtraData) -> ParserContext<'b>
Build the context to use when parsing values during substitution.
Auto Trait Implementations§
impl<'a, 'b, 'c, 't> !RefUnwindSafe for SubstitutionReplacementContext<'a, 'b, 'c, 't>
impl<'a, 'b, 'c, 't> !Send for SubstitutionReplacementContext<'a, 'b, 'c, 't>
impl<'a, 'b, 'c, 't> !Sync for SubstitutionReplacementContext<'a, 'b, 'c, 't>
impl<'a, 'b, 'c, 't> !UnwindSafe for SubstitutionReplacementContext<'a, 'b, 'c, 't>
impl<'a, 'b, 'c, 't> Freeze for SubstitutionReplacementContext<'a, 'b, 'c, 't>
impl<'a, 'b, 'c, 't> Unpin for SubstitutionReplacementContext<'a, 'b, 'c, 't>
impl<'a, 'b, 'c, 't> UnsafeUnpin for SubstitutionReplacementContext<'a, 'b, 'c, 't>
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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