Name Description Size
arc_types.rs This file lists all arc FFI types and defines corresponding addref and release functions. This list loosely corresponds to ServoLockedArcTypeList.h file in Gecko. 4489
conversions.rs This module contains conversion helpers between Servo and Gecko types Ideally, it would be in geckolib itself, but coherence forces us to keep the traits and implementations here FIXME(emilio): This file should generally just die. 1979
data.rs Data needed to style a Gecko document. 6786
media_features.rs Gecko's media feature list and evaluator. 32516
media_queries.rs Gecko's media-query device and expression representation. 21945
mod.rs Gecko-specific style-system bits. 573
non_ts_pseudo_class_list.rs This file contains a helper macro includes all supported non-tree-structural pseudo-classes. FIXME: Find a way to autogenerate this file. Expected usage is as follows: ``` macro_rules! pseudo_class_macro{ ([$(($css:expr, $name:ident, $gecko_type:tt, $state:tt, $flags:tt),)*]) => { // do stuff } } apply_non_ts_list!(pseudo_class_macro) ``` $gecko_type can be either "_" or an ident in Gecko's CSSPseudoClassType. $state can be either "_" or an expression of type ElementState. If present, the semantics are that the pseudo-class matches if any of the bits in $state are set on the element. $flags can be either "_" or an expression of type NonTSPseudoClassFlag, see selector_parser.rs for more details. 6011
pseudo_element.rs Gecko's definition of a pseudo-element. Note that a few autogenerated bits of this live in `pseudo_element_definition.mako.rs`. If you touch that file, you probably need to update the checked-in files for Servo. 7726
pseudo_element_definition.mako.rs 10440
regen_atoms.py File-like object that buffers output and only writes if content changed. 6138
restyle_damage.rs Gecko's restyle damage computation (aka change hints, aka `nsChangeHint`). 3830
selector_parser.rs Gecko-specific bits for selector-parsing. 18811
snapshot.rs A gecko snapshot, that stores the element attributes and state before they change in order to properly calculate restyle hints. 5557
snapshot_helpers.rs Element an snapshot common logic. 10380
traversal.rs Gecko-specific bits for the styling DOM traversal. 1740
url.rs Common handling for the specified value CSS url() values. 11430
values.rs Different kind of helpers to interact with Gecko values. 2929
wrapper.rs Wrapper definitions on top of Gecko types in order to be used in the style system. This really follows the Servo pattern in `components/script/layout_wrapper.rs`. This theoretically should live in its own crate, but now it lives in the style system it's kind of pointless in the Stylo case, and only Servo forces the separation between the style system implementation and everything else. 76036