Expand description

The context within which style is calculated.


The structure holds various intermediate inputs that are eventually used by by the cascade.

A list of cascade inputs for eagerly-cascaded pseudo-elements. The list is stored inline.

The cascade inputs associated with a node, including those for any pseudo-elements.

Statistics gathered during the traversal. We gather statistics on each thread and then combine them after the threads join via the Add implementation below.

Map from Elements to ElementSelectorFlags. Used to defer applying selector flags until after the traversal.

A list of SequentialTasks that get executed on Drop.

A shared style context.

A helper type for stack limit checking. This assumes that stacks grow down, which is true for all non-ancient CPU architectures.

A StyleContext is just a simple container for a immutable reference to a shared style context, and a mutable reference to a local one.

A global options structure for the style system. We use this instead of opts to abstract across Gecko and Servo.

A thread-local style context.

Statistics gathered during the traversal plus some information from other sources including stylist.


Which quirks mode is this document in.

A task to be run in sequential mode on the parent (non-worker) thread. This is used by the style system to queue up work which is not safe to do during the parallel traversal.



A global variable holding the state of StyleSystemOptions::default().disable_style_sharing_cache. See #22854.

A global variable holding the state of StyleSystemOptions::default().dump_style_statistics. See #22854.


A registered painter

A set of registered painters

Type Definitions

CacheItem 🔒