tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit b2460cab5357c8310c4d9e0bc031155982288f5d
parent 36d8a4108e1f0be382e56a30894f0355b9c36ed1
Author: Emilio Cobos Álvarez <emilio@crisal.io>
Date:   Tue, 30 Sep 2025 15:53:54 +0000

Bug 1991706 - Introduce position-fallback origin. r=layout-anchor-positioning-reviewers,dshin

As per https://drafts.csswg.org/css-anchor-position-1/#position-fallback-origin

We'll use this to resolve @position-try in the blocked bug.

Differential Revision: https://phabricator.services.mozilla.com/D266852

Diffstat:
Mdom/chrome-webidl/InspectorUtils.webidl | 1+
Mlayout/inspector/InspectorUtils.cpp | 2++
Mservo/components/style/rule_tree/level.rs | 5+++++
Mservo/ports/geckolib/glue.rs | 2++
4 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/dom/chrome-webidl/InspectorUtils.webidl b/dom/chrome-webidl/InspectorUtils.webidl @@ -154,6 +154,7 @@ enum DeclarationOrigin { "user-agent", "pres-hints", "style-attribute", + "position-fallback", "animations", "transitions", "smil", diff --git a/layout/inspector/InspectorUtils.cpp b/layout/inspector/InspectorUtils.cpp @@ -424,6 +424,8 @@ static void GetCSSRulesFromComputedValues( return DeclarationOrigin::User; case StyleMatchingDeclarationBlockOrigin::UserAgent: return DeclarationOrigin::User_agent; + case StyleMatchingDeclarationBlockOrigin::PositionFallback: + return DeclarationOrigin::Position_fallback; case StyleMatchingDeclarationBlockOrigin::Animations: return DeclarationOrigin::Animations; case StyleMatchingDeclarationBlockOrigin::Transitions: diff --git a/servo/components/style/rule_tree/level.rs b/servo/components/style/rule_tree/level.rs @@ -50,6 +50,8 @@ pub enum CascadeLevel { /// https://drafts.csswg.org/css-scoping/#shadow-cascading shadow_cascade_order: ShadowCascadeOrder, }, + /// https://drafts.csswg.org/css-anchor-position-1/#position-fallback-origin + PositionFallback, /// SVG SMIL animations. SMILOverride, /// CSS animations and script-generated animations. @@ -80,6 +82,7 @@ impl CascadeLevel { shadow_cascade_order: -shadow_cascade_order, }, Self::PresHints + | Self::PositionFallback | Self::SMILOverride | Self::Animations | Self::AuthorImportant { .. } @@ -100,6 +103,7 @@ impl CascadeLevel { shadow_cascade_order: -shadow_cascade_order, }, Self::PresHints + | Self::PositionFallback | Self::SMILOverride | Self::Animations | Self::AuthorNormal { .. } @@ -165,6 +169,7 @@ impl CascadeLevel { Self::UAImportant | Self::UANormal => Origin::UserAgent, Self::UserImportant | Self::UserNormal => Origin::User, Self::PresHints + | Self::PositionFallback { .. } | Self::AuthorNormal { .. } | Self::AuthorImportant { .. } | Self::SMILOverride diff --git a/servo/ports/geckolib/glue.rs b/servo/ports/geckolib/glue.rs @@ -4713,6 +4713,7 @@ pub enum MatchingDeclarationBlockOrigin { User, Author, PresHints, + PositionFallback, Animations, Transitions, SMIL, @@ -4758,6 +4759,7 @@ pub extern "C" fn Servo_ComputedValues_GetMatchingDeclarations( CascadeLevel::AuthorNormal { .. } | CascadeLevel::AuthorImportant { .. } => { MatchingDeclarationBlockOrigin::Author }, + CascadeLevel::PositionFallback => MatchingDeclarationBlockOrigin::PositionFallback, CascadeLevel::PresHints => MatchingDeclarationBlockOrigin::PresHints, CascadeLevel::Animations => MatchingDeclarationBlockOrigin::Animations, CascadeLevel::Transitions => MatchingDeclarationBlockOrigin::Transitions,