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. 5920
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. 13425
data.rs Data needed to style a Gecko document. 6702
media_features.rs Gecko's media feature list and evaluator. 24701
media_queries.rs Gecko's media-query device and expression representation. 10998
mod.rs Gecko-specific style-system bits. 647
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. 7898
profiler.rs Gecko profiler support. Use the `profiler_label!` macro from macros.rs. 2468
pseudo_element_definition.mako.rs 9715
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. 7229
regen_atoms.py /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ // Autogenerated file created by components/style/gecko/regen_atoms.py. // DO NOT EDIT DIRECTLY 5694
restyle_damage.rs Gecko's restyle damage computation (aka change hints, aka `nsChangeHint`). 3847
selector_parser.rs Gecko-specific bits for selector-parsing. 18000
snapshot_helpers.rs Element an snapshot common logic. 4100
snapshot.rs A gecko snapshot, that stores the element attributes and state before they change in order to properly calculate restyle hints. 8124
traversal.rs Gecko-specific bits for the styling DOM traversal. 1740
url.rs Common handling for the specified value CSS url() values. 10637
values.rs Different kind of helpers to interact with Gecko values. 4341
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. 79919