Skip to content

Generate shared CSS property identity metadata - #313

Merged
danwalmsley merged 1 commit into
mainfrom
feature/css-property-identity-235
Sep 17, 2026
Merged

danwalmsley merged 1 commit into
mainfrom
feature/css-property-identity-235

Conversation

@danwalmsley

Copy link
Copy Markdown
Collaborator

Summary

  • make the checked-in CSS metadata catalog the source for managed stable property IDs, managed CSSOM support, native CSSOM CSS/IDL name pairs, and the native effective-property table
  • preserve all 105 managed storage IDs and the native compatibility aliases while replacing the handwritten 152-name V8 CSSStyleDeclaration list
  • precompute native IDL names at generation time, avoiding runtime conversion allocations during V8 template setup
  • expose the 14 logical effective properties that were previously missing from one or both CSSOM catalogs
  • track the generator explicitly despite the repository-wide tools ignore rule
  • add generated-output, stable-ID, managed regression, and browser-shaped WPT coverage

Validation

  • metadata generator unit tests: 6/6; generated output check passes
  • dotnet build WebScene.sln -c Release --no-restore: passes with 16 pre-existing nullable warnings, 0 errors
  • dotnet test WebScene.sln -c Release --no-build --no-restore: 1,774 passed, 30 platform-dependent skipped, 0 failed
  • Chrome 153 CSSOM contract: 5/5
  • native current CSSParser CSSOM contract: 5/5
  • native legacy parser CSSOM contract: 5/5
  • current native CSS parser CTest: 1/1
  • NativeWeb CSS service/shared-style/compiler CTests: 3/3
  • current and legacy native engine libraries rebuild successfully against rebased main

An adjacent cssom- sweep passes every CSS-specific document. Its only failure is the unrelated existing document.cookie assertion in the combined DOM/CSSOM primitives contract, reproduced with fresh storage; no property-exposure assertion fails.

Advances #235 without touching the timing/containment work in #238 or stylesheet-finalization work in #297.

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.

1 participant