Closed Bug 1868436 Opened 10 months ago Closed 10 months ago

[css-properties-values-api] Registered property dependency cycle values

Categories

(Core :: CSS Parsing and Computation, defect)

defect

Tracking

()

RESOLVED FIXED
122 Branch
Tracking Status
firefox122 --- fixed

People

(Reporter: dshin, Assigned: dshin)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

STR: Load attached test case, check console output
Expected: If .ancestor is commented out:

#foo
  --reg-1 3px 
  --reg-2 15px
  --reg-3 18px
#bar
  --reg-1 3px
  --reg-2 1px
  --reg-3 27px

If .ancestor is not commented out:

#foo
  --reg-1 5px 
  --reg-2 20px 
  --reg-3 25px 
#bar
  --reg-1 5px 
  --reg-2 1px 
  --reg-3 32px

Actual:
If .ancestor is commented out:

#foo 
  --reg-1 
  --reg-2 
  --reg-3 27px 
#bar 
  --reg-1 
  --reg-2 1px 
  --reg-3 

If .ancestor is not commented out:

#foo 
  --reg-1 
  --reg-2 
  --reg-3 32px 
#bar 
  --reg-1 
  --reg-2 1px 
  --reg-3 

So currently we behave as if they're guaranteed-invalid values.

This is incorrect, as variables directly in the dependency cycle resolve to be invalid at compute time, which, for registered custom properties with non-universal syntax, resolves the computed value as if unset, instead of resolving to guaranteed-invalid value, so properties referring to it (Unless they're part of a cycle) use those computed values.

Severity: -- → S3
Assignee: nobody → dshin
Status: NEW → ASSIGNED
Pushed by dshin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/24080912beec Registered non-universal property dependency cycle resolve as if unset. r=zrhoffman
Status: ASSIGNED → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → 122 Branch
Blocks: 1864818
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: