Name Description Size
arc_types.rs This file lists all arc FFI types and defines corresponding addref and release functions. This list corresponds to ServoArcTypeList.h file in Gecko. 6054
boxed_types.rs FFI implementations for types listed in ServoBoxedTypeList.h. 1301
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. 6602
media_features.rs Gecko's media feature list and evaluator. 31760
media_queries.rs Gecko's media-query device and expression representation. 20611
mod.rs Gecko-specific style-system bits. 594
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. 5619
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. 7898
pseudo_element_definition.mako.rs 10140
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. 17916
snapshot.rs A gecko snapshot, that stores the element attributes and state before they change in order to properly calculate restyle hints. 8513
snapshot_helpers.rs Element an snapshot common logic. 6426
traversal.rs Gecko-specific bits for the styling DOM traversal. 1740
url.rs Common handling for the specified value CSS url() values. 11409
values.rs Different kind of helpers to interact with Gecko values. 3242
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. 76954