Skip to content

Match namespace-qualified CSS attribute selectors - #525

Merged
wieslawsoltes merged 1 commit into
mainfrom
feature/css-namespace-attributes-519
Sep 19, 2026
Merged

wieslawsoltes merged 1 commit into
mainfrom
feature/css-namespace-attributes-519

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Collaborator

Namespace rules already affected type/universal selectors, but namespace-qualified attribute selectors still lost their expanded-name identity between Servo parsing, the persistent selector cache, the DOM, and native matching. This carries resolved namespace kind/URI, local name, operator, value, and case mode through those layers and preserves namespaced attributes through HTML parsing and setAttributeNS/getAttributeNS/removeAttributeNS mutation.

The cache schema and namespace-sensitive identity are versioned. Ordinary dom_node inline size is preserved by reusing cold namespace storage. Authored native and WPT sources cover prefixed/any/empty namespaces, all value operators, i/s, unknown prefixes, cache URI separation, dynamic recascade, adoption, bounded mutation, and lifecycle churn. Functional pseudo-class namespace propagation remains owned by #520.

Only git diff --check ran under the current implementation-first policy; builds, tests, WPT execution, performance, memory, lifecycle, product, and complete CI evidence remain deferred.

Closes #519
Progresses #239

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Match namespace-qualified CSS attribute selectors

1 participant