Skip to content

Project host pointer coordinates into nested webview viewports #522

Description

@wieslawsoltes

Parent epic: #268. Top-level release epic: #227.

Proven gap

Native host pointer input is hit-tested in top-level coordinates. When the target is inside a nested iframe, WebScene currently publishes those host coordinates as clientX/clientY and pageX/pageY in the child realm. Unchanged Code OSS uses the child coordinates for webview context-menu anchoring and target ancestry handoff, so menus and pointer-driven integrations can be displaced by every enclosing frame offset.

Focused implementation

  • Project script-visible client coordinates into the nearest owning iframe content viewport after native hit testing and realm selection.
  • Include iframe border and padding in the host-to-child translation.
  • Add the child window scroll offset for page coordinates.
  • Preserve host-space screen/movement coordinates and target-relative offset coordinates.
  • Keep top-level event behavior and typed host authority unchanged.
  • Cover the complete secondary-button context-menu event sequence and a browser/native primary-activation contract.

Acceptance and deferred gates

  • Focused implementation committed from exact WebScene main 276d5b77737927a4bd67bfeb523b8a515a7b115f.
  • Two-level same-origin native regression source authored.
  • Browser/native contract and profile authored.
  • git diff --check passed.
  • Execute Chromium/native contracts.
  • Run nested scroll, transform, zoom, lifecycle, and unchanged Code OSS webview acceptance.
  • Record performance and memory evidence.

Execution remains deferred under the current implementation-first direction.

Activity

  1. wieslawsoltes commented on Sep 19, 2026

    @wieslawsoltes
    CollaboratorAuthor

    Completed by #523 and merged to WebScene main as eb0fca6dc5c3b633275846550e63ec0637a34ca7. Authored regressions are present; only git diff --check ran under the implementation-first direction. Deferred execution and product evidence remain tracked in parent #268.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    vscode-oss/plannedPlanned for the AppScene/WebScene VS Code OSS integration

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions