Skip to content

Contain retained scroll chaining with overscroll-behavior - #794

Merged
wieslawsoltes merged 1 commit into
mainfrom
feature/overscroll-behavior-793
Sep 20, 2026
Merged

wieslawsoltes merged 1 commit into
mainfrom
feature/overscroll-behavior-793

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Collaborator

Closes #793.

Problem

Unchanged Code OSS uses 12 overscroll-behavior declarations to suppress workbench bounce and contain Markdown, Chat, carousel, voice-input, sessions/mobile, and overlay scrolling. WebScene did not expose the property and chained every exhausted nested wheel target into its ancestors.

Change

  • add generated native/managed identities and CSSOM accessors for the shorthand and both physical-axis longhands;
  • parse and serialize auto, contain, and none, including one/two-value shorthand, global keywords, mutation, removal, and cascade fallback;
  • retain two compact policies in the existing cold textual style allocation;
  • stop each exhausted wheel axis at a qualifying scroll container for contain and none, while preserving auto, the other axis, root viewport ownership, cancellation, discrete/precise scheduling, and scroll events;
  • keep policy mutation interaction-only with no layout or scene publication;
  • add direct CSSOM/WPT, nested wheel, lifecycle, and 4,096-node performance gates plus the qualification record.

WebScene has no rubber-band affordance, so contain and none intentionally share scroll-chain stopping in this bounded slice.

Evidence

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

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.

Contain retained scroll chaining with overscroll-behavior

1 participant