servo/components/style
Emilio Cobos Álvarez bb5de5833c style: Improve LookAndFeel color caching
To be honest, I'm a bit baffled that bug 1773795 caused a performance
regression, but I think it's because the standins codepath is not really
cached, so system colors that are "spoofed" always go through the
massive switch, which could potentially be expensive.

To fix, this, rejigger a bit the caches so that we key on both
color-scheme and use-standins. Also, while at it, make the set of colors
we spoof a single bitflag check, rather than relying on the compiler to
do something potentially smart with it.

I had to shuffle the order of colors around so that the expression to
initialize the bitfield is constexpr (doesn't go over 1 << 64), but
other than that this patch should be relatively straight-forward.

Differential Revision: https://phabricator.services.mozilla.com/D150100
2023-10-02 14:37:19 +00:00
..
counter_style style: Run rustfmt on servo/components/style and servo/ports/geckolib 2023-06-09 10:22:19 +02:00
gecko style: Add simple parsing and matching support for :has 2023-10-02 14:37:19 +00:00
gecko_bindings style: Unify font-family storage 2023-05-24 18:32:35 +02:00
gecko_string_cache Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
invalidation style: Add simple parsing and matching support for :has 2023-10-02 14:37:19 +00:00
media_queries style: Add support for parsing container-query-specific features 2023-08-16 17:46:41 +02:00
properties style: Implement CSS 'contain: style' 2023-10-02 14:37:19 +00:00
queries style: More container queries plumbing 2023-08-16 17:46:41 +02:00
rule_tree style: Move size of tests to compile-time tests in the style crate 2023-08-16 17:46:41 +02:00
servo Further changes required by Servo 2023-10-02 14:37:19 +00:00
sharing style: Simplify selector flags setup even more 2023-08-16 17:46:41 +02:00
stylesheets style: Rust side plumbing work for linear easing function 2023-10-02 14:37:19 +00:00
use_counters style: Support css use counters for unimplemented properties. 2019-09-12 22:34:16 +02:00
values style: Improve LookAndFeel color caching 2023-10-02 14:37:19 +00:00
animation.rs style: Hook up linear easing calculation for servo and expose it to C++ 2023-10-02 14:37:19 +00:00
applicable_declarations.rs style: More container queries plumbing 2023-08-16 17:46:41 +02:00
attr.rs Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
author_styles.rs style: Run rustfmt on servo/components/style and servo/ports/geckolib 2023-06-09 10:22:19 +02:00
bezier.rs Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
bloom.rs Further changes required by Servo 2023-05-27 05:59:01 +02:00
build.rs Make the choice of layout runtime setting 2023-07-06 14:49:24 +02:00
build_gecko.rs style: Fix warnings about whitelist/blocklist functions being deprecated in bindgen 0.59 2023-08-16 17:46:41 +02:00
Cargo.toml style: Update stylo to itertools:0.10, itoa:1.0 and toml:0.5 2023-10-02 14:37:19 +00:00
context.rs style: Simplify selector flag setting now that flag setting is atomic 2023-08-16 17:46:41 +02:00
custom_properties.rs Further changes required by Servo 2023-08-16 17:46:41 +02:00
data.rs style: Move size of tests to compile-time tests in the style crate 2023-08-16 17:46:41 +02:00
dom.rs Further changes required by Servo 2023-10-02 14:37:19 +00:00
dom_apis.rs style: Simplify selector flags setup even more 2023-08-16 17:46:41 +02:00
driver.rs style: Use ThreadPool::scope_fifo in style 2023-06-09 10:22:25 +02:00
encoding_support.rs style: Remove some unused extern crate declarations now that style is in rust 2018. 2020-06-18 23:51:18 +02:00
error_reporting.rs style: Run rustfmt on servo/components/style and servo/ports/geckolib 2023-06-09 10:22:19 +02:00
font_face.rs style: Move fixed-point font types to Rust 2023-10-02 14:37:19 +00:00
font_metrics.rs style: Add support for the 'ic' font-relative unit 2023-06-09 10:22:22 +02:00
global_style_data.rs Further changes required by Servo 2023-08-16 17:46:41 +02:00
lib.rs style: Unify Gecko and Servo EventState/ElementState bits 2023-10-02 14:37:19 +00:00
logical_geometry.rs Further changes required by Servo 2023-08-16 17:46:41 +02:00
macros.rs style: Move size of tests to compile-time tests in the style crate 2023-08-16 17:46:41 +02:00
matching.rs style: Move transitions and animations to nsStyleUIReset 2023-08-16 17:46:41 +02:00
parallel.rs Layout-2020: Fix debug mode crash for servo.org 2023-05-26 20:09:50 +05:30
parser.rs Rustfmt. 2021-02-26 16:44:05 +01:00
piecewise_linear.rs style: Hook up linear easing calculation for servo and expose it to C++ 2023-10-02 14:37:19 +00:00
README.md Update link 2020-04-28 09:09:54 -07:00
rule_cache.rs style: Undo minor debugging change. 2019-11-30 20:45:07 +01:00
rule_collector.rs style: More container queries plumbing 2023-08-16 17:46:41 +02:00
rustfmt.toml Disable formatting for components/style/ 2023-05-15 17:45:25 +02:00
scoped_tls.rs Replace ScopedTLS::unsafe_get by ScopedTLS::into_slots 2020-04-05 01:20:39 +02:00
selector_map.rs Further changes required by Servo 2023-10-02 14:37:19 +00:00
selector_parser.rs Further changes required by Servo 2023-10-02 14:37:19 +00:00
shared_lock.rs style: Run rustfmt on servo/components/style and servo/ports/geckolib 2023-06-09 10:22:19 +02:00
str.rs Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
style_adjuster.rs Further changes required by Servo 2023-10-02 14:37:19 +00:00
style_resolver.rs style: Simplify selector flags setup even more 2023-08-16 17:46:41 +02:00
stylesheet_set.rs style: Share CascadeData instances across ShadowRoots 2023-05-16 13:00:08 +02:00
stylist.rs Further changes required by Servo 2023-10-02 14:37:19 +00:00
thread_state.rs Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
traversal.rs style: Cache computed styles objects display: none subtrees 2023-08-16 17:46:41 +02:00
traversal_flags.rs style: Cleanup unused style traversal flags. 2019-04-12 12:20:07 +02:00

servo-style

Style system for Servo, using rust-cssparser for parsing.