animation.rs |
CSS transitions and animations. |
53688 |
applicable_declarations.rs |
Applicable declarations management. |
9642 |
attr.rs |
Parsed representations of [DOM attributes][attr].
[attr]: https://dom.spec.whatwg.org/#interface-attr |
19046 |
author_styles.rs |
A set of author stylesheets and their computed representation, such as the
ones used for ShadowRoot. |
2275 |
bezier.rs |
Parametric Bézier curves.
This is based on `WebCore/platform/graphics/UnitBezier.h` in WebKit. |
4876 |
bloom.rs |
The style bloom filter is used as an optimization when matching deep
descendant selectors. |
14443 |
build.rs |
|
2399 |
build_gecko.rs |
|
13132 |
Cargo.toml |
|
3206 |
color |
|
|
context.rs |
The context within which style is calculated. |
25767 |
counter_style |
|
|
custom_properties.rs |
Support for [custom properties for cascading variables][custom].
[custom]: https://drafts.csswg.org/css-variables/ |
84479 |
custom_properties_map.rs |
The structure that contains the custom properties of a given element. |
7222 |
data.rs |
Per-node data used in style calculation. |
20900 |
dom.rs |
Types and traits used to access the DOM from style calculation. |
33363 |
dom_apis.rs |
Generic implementations of some DOM APIs so they can be shared between Servo
and Gecko. |
26295 |
driver.rs |
Implements traversal over the DOM tree. The traversal starts in sequential
mode, and optionally parallelizes as it discovers work. |
6516 |
encoding_support.rs |
Parsing stylesheets from bytes (not `&str`). |
3454 |
error_reporting.rs |
Types used to report parsing errors. |
18153 |
font_face.rs |
The [`@font-face`][ff] at-rule.
[ff]: https://drafts.csswg.org/css-fonts/#at-font-face-rule |
25572 |
font_metrics.rs |
Access to font metrics from the style system. |
2146 |
gecko |
|
|
gecko_bindings |
|
|
gecko_string_cache |
|
|
global_style_data.rs |
Global style data |
7323 |
invalidation |
|
|
lib.rs |
Calculate [specified][specified] and [computed values][computed] from a
tree of DOM nodes and a set of stylesheets.
[computed]: https://drafts.csswg.org/css-cascade/#computed
[specified]: https://drafts.csswg.org/css-cascade/#specified
In particular, this crate contains the definitions of supported properties,
the code to parse them into specified values and calculate the computed
values based on the specified values, as well as the code to serialize both
specified and computed values.
The main entry point is [`recalc_style_at`][recalc_style_at].
[recalc_style_at]: traversal/fn.recalc_style_at.html
Major dependencies are the [cssparser][cssparser] and [selectors][selectors]
crates.
[cssparser]: ../cssparser/index.html
[selectors]: ../selectors/index.html |
8972 |
logical_geometry.rs |
Geometry in flow-relative space. |
50942 |
macros.rs |
Various macro helpers. |
2045 |
matching.rs |
High-level interface to CSS selector matching. |
45048 |
media_queries |
|
|
parallel.rs |
Implements parallel traversal over the DOM tree.
This traversal is based on Rayon, and therefore its safety is largely
verified by the type system.
The primary trickiness and fine print for the above relates to the
thread safety of the DOM nodes themselves. Accessing a DOM element
concurrently on multiple threads is actually mostly "safe", since all
the mutable state is protected by an AtomicRefCell, and so we'll
generally panic if something goes wrong. Still, we try to to enforce our
thread invariants at compile time whenever possible. As such, TNode and
TElement are not Send, so ordinary style system code cannot accidentally
share them with other threads. In the parallel traversal, we explicitly
invoke |unsafe { SendNode::new(n) }| to put nodes in containers that may
be sent to other threads. This occurs in only a handful of places and is
easy to grep for. At the time of this writing, there is no other unsafe
code in the parallel traversal. |
7531 |
parser.rs |
The context within which CSS code is parsed. |
8054 |
piecewise_linear.rs |
A piecewise linear function, following CSS linear easing |
10151 |
properties |
|
|
properties_and_values |
|
|
queries |
|
|
README.md |
servo-style |
216 |
rule_cache.rs |
A cache from rule node to computed values, in order to cache reset
properties. |
8150 |
rule_collector.rs |
Collects a series of applicable rules for a given element. |
17981 |
rule_tree |
|
|
scoped_tls.rs |
Stack-scoped thread-local storage for rayon thread pools. |
2961 |
selector_map.rs |
A data structure to efficiently index structs containing selectors by local
name, ids and hash. |
29488 |
selector_parser.rs |
The pseudo-classes and pseudo-elements supported by the style system. |
7951 |
servo |
|
|
shared_lock.rs |
Different objects protected by the same lock |
12000 |
sharing |
|
|
simple_buckets_map.rs |
|
1760 |
str.rs |
String utils for attributes and similar stuff. |
5282 |
style_adjuster.rs |
A struct to encapsulate all the style fixups and flags propagations
a computed style needs in order for it to adhere to the CSS spec. |
38151 |
style_resolver.rs |
Style resolution for a given element or pseudo-element. |
24018 |
stylesheet_set.rs |
A centralized set of stylesheets for a document. |
22703 |
stylesheets |
|
|
stylist.rs |
Selector matching. |
155611 |
thread_state.rs |
Supports dynamic assertions in about what sort of thread is running and
what state it's in. |
2705 |
traversal.rs |
Traversing the DOM tree; the bloom filter. |
31192 |
traversal_flags.rs |
Flags that control the traversal process.
We CamelCase rather than UPPER_CASING so that we can grep for the same
strings across gecko and servo. |
2827 |
use_counters |
|
|
values |
|
|