aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/gecko/selector_parser.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2022-10-20 14:24:36 +0000
committerMartin Robinson <mrobinson@igalia.com>2023-11-03 08:59:49 +0100
commit5ded58a2b190f1295affc84ad1b8963be82c2efb (patch)
tree0e7c6ac4a8cb6b0be912149757ea7f2c7e19dff6 /components/style/gecko/selector_parser.rs
parentbfa293c5c5c48e8792881441093dde722aae6496 (diff)
downloadservo-5ded58a2b190f1295affc84ad1b8963be82c2efb.tar.gz
servo-5ded58a2b190f1295affc84ad1b8963be82c2efb.zip
style: Allow propagating computed style bits from the selector-matching process
This allows us to propagate flags from the container query styles all the way to the computed style of the element. The flag for viewport units in container queries has to be different because it requires rematching, see comments. Depends on D159851 Differential Revision: https://phabricator.services.mozilla.com/D159852
Diffstat (limited to 'components/style/gecko/selector_parser.rs')
-rw-r--r--components/style/gecko/selector_parser.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/components/style/gecko/selector_parser.rs b/components/style/gecko/selector_parser.rs
index bf1cad4311d..84c2165f759 100644
--- a/components/style/gecko/selector_parser.rs
+++ b/components/style/gecko/selector_parser.rs
@@ -4,6 +4,7 @@
//! Gecko-specific bits for selector-parsing.
+use crate::computed_value_flags::ComputedValueFlags;
use crate::gecko_bindings::structs::RawServoSelectorList;
use crate::gecko_bindings::sugar::ownership::{HasBoxFFI, HasFFI, HasSimpleFFI};
use crate::invalidation::element::document_state::InvalidationMatchingData;
@@ -236,6 +237,10 @@ pub struct SelectorImpl;
pub struct ExtraMatchingData {
/// The invalidation data to invalidate doc-state pseudo-classes correctly.
pub invalidation_data: InvalidationMatchingData,
+
+ /// The invalidation bits from matching container queries. These are here
+ /// just for convenience mostly.
+ pub cascade_input_flags: ComputedValueFlags,
}
impl ::selectors::SelectorImpl for SelectorImpl {