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. 5188
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. 7888
media_features.rs Gecko's media feature list and evaluator. 31789
media_queries.rs Gecko's media-query device and expression representation. 21896
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. 5934
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. 9825
pseudo_element_definition.mako.rs 13056
regen_atoms.py File-like object that buffers output and only writes if content changed. 6539
restyle_damage.rs Gecko's restyle damage computation (aka change hints, aka `nsChangeHint`). 3830
selector_parser.rs Gecko-specific bits for selector-parsing. 20017
snapshot.rs A gecko snapshot, that stores the element attributes and state before they change in order to properly calculate restyle hints. 6327
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. 11424
values.rs Different kind of helpers to interact with Gecko values. 1263
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. 77883