Skip to content

Preserve CSSOM anchor functions in dynamically attached overlays - #907

Merged
wieslawsoltes merged 1 commit into
mainfrom
fix/css-anchor-cssom-named-setters-903
Sep 22, 2026
Merged

wieslawsoltes merged 1 commit into
mainfrom
fix/css-anchor-cssom-named-setters-903

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Collaborator

Problem and resulting behavior

Code OSS creates Markdown Preview overlays after the workbench loads and assigns top, left, width, and height through JavaScript style named setters. In the exact signed AppScene package, the editor anchors measure 792×857 and 396×822, but the overlay and iframe remain 0×0. WebScene retained these anchor functions from stylesheets and setProperty(), but lost them through named setters and again when a detached element was attached and recascaded. This change retains the six inset/size functions and restores only authored inline anchor functions during recascade. Ordinary nodes avoid the extra authored-style lookups.

The product-neutral contract creates an anchor and fixed overlay through CSSOM, then checks resize, movement, replacement/restoration, right/bottom insets, and 64 panel moves. No Code OSS source change is needed. This is the focused engine fix for #903; keep #903 open until the exact rebuilt SDK/CLI app paints Markdown and passes visual, lifecycle, and idle-CPU acceptance.

Validation

  • Chrome headless dynamic CSSOM contract: 9/9 assertions pass.
  • Native V8 Release before fix: 2/9 pass; after fix: 9/9 pass.
  • Existing native anchor geometry contract: 9/9 pass.
  • Both native and Chrome dynamic contracts keep 64 move cycles below the 500 ms fixture budget.
  • Native engine Release dylib rebuilt successfully.

Details: docs/validation/css-anchor-cssom-903-20260922.md.

@wieslawsoltes
wieslawsoltes merged commit 220aa08 into main Sep 22, 2026
9 of 12 checks passed
@wieslawsoltes
wieslawsoltes deleted the fix/css-anchor-cssom-named-setters-903 branch September 22, 2026 05:53
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