Expand description
Calculate specified and computed values from a tree of DOM nodes and a set of stylesheets.
In particular, this crate contains the definitions of supported properties, the code to parse them into specified values and calculate the computed values based on the specified values, as well as the code to serialize both specified and computed values.
The main entry point is recalc_style_at
.
Re-exports§
pub use servo_arc;
Modules§
- CSS transitions and animations.
- Applicable declarations management.
- Parsed representations of DOM attributes.
- A set of author stylesheets and their computed representation, such as the ones used for ShadowRoot.
- Parametric Bézier curves.
- The style bloom filter is used as an optimization when matching deep descendant selectors.
- Color support functions.
- Misc information about a given computed style.
- Types for computed values.
- The context within which style is calculated.
- The
@counter-style
at-rule. - Support for custom properties for cascading variables.
- The structure that contains the custom properties of a given element.
- Per-node data used in style calculation.
- Types and traits used to access the DOM from style calculation.
- Generic implementations of some DOM APIs so they can be shared between Servo and Gecko.
- Implements traversal over the DOM tree. The traversal starts in sequential mode, and optionally parallelizes as it discovers work.
- Parsing stylesheets from bytes (not
&str
). - Types used to report parsing errors.
- The
@font-face
at-rule. - Access to font metrics from the style system.
- Global style data
- Different bits of code related to invalidating style.
- Geometry in flow-relative space.
- macros 🔒Various macro helpers.
- High-level interface to CSS selector matching.
- Implements parallel traversal over the DOM tree.
- The context within which CSS code is parsed.
- A piecewise linear function, following CSS linear easing
- Supported CSS properties and the cascade.
- Properties and Values
- Code shared between media queries and container queries.
- A cache from rule node to computed values, in order to cache reset properties.
- Collects a series of applicable rules for a given element.
- The rule tree.
- Stack-scoped thread-local storage for rayon thread pools.
- A data structure to efficiently index structs containing selectors by local name, ids and hash.
- The pseudo-classes and pseudo-elements supported by the style system.
- Servo-specific bits of the style system.
- Different objects protected by the same lock
- Code related to the style sharing cache, an optimization that allows similar nodes to share style without having to run selector matching twice.
- String utils for attributes and similar stuff.
- A struct to encapsulate all the style fixups and flags propagations a computed style needs in order for it to adhere to the CSS spec.
- Style resolution for a given element or pseudo-element.
- A centralized set of stylesheets for a document.
- Style sheets and their CSS rules.
- Selector matching.
- Supports dynamic assertions in about what sort of thread is running and what state it’s in.
- Traversing the DOM tree; the bloom filter.
- Flags that control the traversal process.
- Various stuff for CSS property use counters.
- Common values used in CSS.
Macros§
- Call the given macro with tokens like this for each longhand and shorthand properties that is enabled in content:
- Call the given macro with tokens like this for each longhand properties:
Structs§
- An allocation error.
- A wrapper type for a refcounted slice using ThinArc.
- A struct that basically replaces a
Box<[T]>
, but which cbindgen can understand. - A struct that basically replaces a Box
, but with a defined layout, suitable for FFI.
Traits§
- Extension methods for selectors::attr::CaseSensitivity
- A trait pretty much similar to num_traits::One, but without the need of implementing
Mul
. - Shrink the capacity of the collection if needed.
- A trait pretty much similar to num_traits::Zero, but without the need of implementing
Add
. - A trait implementing a function to tell if the number is zero without a percent
Functions§
- We shrink the capacity of a collection if we’re wasting more than a 25% of its capacity, and if the collection is arbitrarily big enough (>= CAPACITY_THRESHOLD entries).