Skip to content

Expose implemented legacy editing command capabilities #443

Description

@wieslawsoltes

Parent: #268. Webview epic: #264.

Proven gap

Unchanged Code OSS probes document.queryCommandSupported('copy'|'cut'|'paste') before enabling its clipboard actions, and forwards Select All through the same legacy editing-command surface. WebScene implements bounded execCommand paths but exposes no queryCommandSupported method, so capability detection can disable commands that the native runtime supports.

Focused scope

  • Expose a browser-shaped, non-constructible Document.queryCommandSupported operation in top-level, initial iframe, and navigated iframe realms.
  • Report only the commands WebScene actually implements: copy, cut, paste, and selectAll.
  • Preserve case-insensitive DOMString conversion and receiver checks.
  • Add no clipboard or host authority.

Deferred validation debt

Under the current implementation-only directive, merge without waiting for new Chromium/WPT/native/performance/CI evidence. Follow-up acceptance must cover descriptors, invalid receivers and coercion, all document realm kinds, replacement/detach cleanup, exact Code OSS clipboard feature detection, and repeated-call memory/latency bounds.

Non-overlap

Do not touch consolidation PR #76, AppScene, vscode-demo, CSS, filesystem, input routing, or accessibility publication.

Activity

  1. wieslawsoltes commented on Sep 18, 2026

    @wieslawsoltes
    CollaboratorAuthor

    Completed by #445, merged as 4ea2feebd0dd7f2f08dfa1a8bfbbe1ca5f3d6c3b from implementation head e6d1428aaf69fe08595963b761f711fc532a2a6a.

    Top-level, initial iframe, navigated iframe, and detached HTML document realms now expose non-constructible Document.queryCommandSupported. It reports only the bounded commands WebScene implements: copy, cut, paste, and selectAll, with case-insensitive DOMString conversion and existing receiver enforcement. No authority changed.

    Validation debt remains explicit: no new Chromium/WPT oracle, native regression, performance, memory, lifecycle, package, or CI evidence was run under the implementation-only directive. Required follow-up is the matrix recorded in this issue.

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