Open Bug 1934061 Opened 1 year ago Updated 3 months ago

Plumb in the scope dependency stack into selector dependency

Categories

(Core :: CSS Parsing and Computation, enhancement)

enhancement

Tracking

()

People

(Reporter: dshin, Assigned: descalante)

References

(Blocks 1 open bug)

Details

(Whiteboard: at-scope-m2)

Every time we create a selector dependency, we need to add the scope condition dependency stack generated and connect its next dependency to the selector dependency.

For

@scope (.a, b) to (.c .d) {
  @scope (.e , .f) to (.g, .h) {
    @scope (.i, .j) to (.k, .l) {
      .foo { color: red; }
      .bar { color: green; }
    }
  }
}

after bug 1934060, we'd have

  • Dependency(selector: .a, next: [Dependency(.e), Dependency(.f), Dependency(.g), Dependency(.h)])
  • Dependency(selector: .b, next: [Dependency(.e), Dependency(.f), Dependency(.g), Dependency(.h)])
  • Dependency(selector: .c, next: [Dependency(.e), Dependency(.f), Dependency(.g), Dependency(.h)])
  • Dependency(selector: .d, next: [Dependency(.e), Dependency(.f), Dependency(.g), Dependency(.h)])
  • Dependency(selector: .e, next: [Dependency(.h), Dependency(.i), Dependency(.j), Dependency(.k)])
  • Dependency(selector: .f, next: [Dependency(.h), Dependency(.i), Dependency(.j), Dependency(.k)])
  • Dependency(selector: .g, next: [Dependency(.h), Dependency(.i), Dependency(.j), Dependency(.k)])
  • Dependency(selector: .h, next: [Dependency(.h), Dependency(.i), Dependency(.j), Dependency(.k)])
  • Dependency(selector: .i, next: [])
  • Dependency(selector: .j, next: [])
  • Dependency(selector: .k, next: [])
  • Dependency(selector: .l, next: [])

Where we need to populate the last 4 entries' next with Dependency(.foo) & Dependency(.bar)

Severity: -- → S3
Summary: Append Scope Condition Dependency Stack to Selector Dependency Stack → Create the Scope Condition Dependency Stack
Summary: Create the Scope Condition Dependency Stack → Plumb in the scope dependency stack into selector dependency
Blocks: 1914188
Whiteboard: at-scope-triage
No longer depends on: 1934060
Points: --- → 3
Whiteboard: at-scope-triage → at-scope-m2
Assignee: nobody → descalante
Points: 3 → ---
You need to log in before you can comment on or make changes to this bug.