Skip to content

Honor user-select for retained text interaction - #792

Merged
wieslawsoltes merged 1 commit into
mainfrom
feature/user-select-791
Sep 20, 2026
Merged

wieslawsoltes merged 1 commit into
mainfrom
feature/user-select-791

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Collaborator

Closes #791.

Problem

Unchanged Code OSS uses 276 user-select declarations across 94 files, but WebScene did not expose the property and ordinary pointer input never created document Selection state. Monaco, terminal, notebook, Chat, list, dialog, preview, and webview surfaces therefore could not rely on browser-shaped selection policy.

Change

  • add canonical user-select plus WebKit/MS aliases to generated native and managed CSS metadata;
  • cascade, reset, mutate, and serialize auto, text, none, and all from cold style state;
  • create retained Selection ranges on pointer down/move/up with cancelable selectstart;
  • honor none, explicit descendant text, and atomic all subtree selection;
  • paint ordinary selections with system Highlight/HighlightText, with matching author ::selection declarations overriding the defaults;
  • keep mutation paint-only and reuse existing Selection/Range, copy, and outbound-drag paths;
  • add direct CSSOM/WPT, pointer interaction, lifecycle, and 4,096-node performance gates plus the qualification record.

Evidence

git diff --check passed. Per the active fast implementation direction, no build, test, WPT, visual, package, memory, lifecycle, or benchmark command was executed; those authored gates remain zero evidence pending the consolidated validation pass.

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.

Honor user-select for retained text interaction

1 participant