Skip to content

Propagate CSS namespace context into functional pseudo-class selector lists #520

Closed

Description

@wieslawsoltes

Problem

Namespace context must propagate into selectors nested inside functional pseudo-classes such as :is(), :where(), :not(), and reachable :has() arguments. The initial namespace slice covers top-level compiled type/universal compounds only.

Scope

  • Preserve the enclosing stylesheet namespace map while recursively compiling functional selector lists.
  • Include namespace context in nested selector payload/cache identity and invalidation dependencies.
  • Cover mixed prefixed/default/any/empty namespace arguments, unknown prefixes, nesting, dynamic CSSOM mutation, adopted sheets, and :has() relative matching.
  • Add browser-referenced WPT/native contracts plus bounded invalidation, performance, and lifecycle gates.

Parent: #239. Depends on the type/universal namespace selector slice; coordinate with #237 selector matching.

Status

Planned after the current top-level namespace implementation. No implementation or validation is claimed.

Activity

  1. wieslawsoltes commented on Sep 19, 2026

    @wieslawsoltes
    CollaboratorAuthor

    Completed by #528 and merged to WebScene main as 9f2d4830728a409ee49449f45eb33bd5d54dabca. Supported :is()/:where()/:not()/anchored :has() lists now retain stylesheet namespace context through one immutable prepared payload with depth and selector-count bounds. Only git diff --check ran; cumulative execution debt remains in #239/#235.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    vscode-oss/plannedPlanned for the AppScene/WebScene VS Code OSS integration

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions