Skip to content

Browser: CDP over IPC#300292

Merged
kycutler merged 1 commit intomainfrom
kycutler/privatecdp
Mar 10, 2026
Merged

Browser: CDP over IPC#300292
kycutler merged 1 commit intomainfrom
kycutler/privatecdp

Conversation

@kycutler
Copy link
Contributor

@kycutler kycutler commented Mar 9, 2026

No description provided.

@kycutler kycutler requested review from Copilot and jruales March 9, 2026 23:22
@vs-code-engineering
Copy link
Contributor

📬 CODENOTIFY

The following users are being notified based on files changed in this PR:

@bpasero

Matched files:

  • src/vs/code/electron-main/app.ts

@deepak1556

Matched files:

  • src/vs/code/electron-main/app.ts

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR switches the BrowserView CDP connection used by the shared-process Playwright integration from a local WebSocket proxy endpoint to an IPC-based CDP message transport between the shared process and Electron main.

Changes:

  • Replace getDebugWebSocketEndpoint() with sendCDPMessage() + onCDPMessage to carry CDP traffic over IPC.
  • Extend CDPBrowserProxy with a message-based request/response surface (sendMessage + onMessage) suitable for transports like IPC.
  • Remove the Electron-main BrowserViewCDPProxyServer service and its registration.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/vs/platform/browserView/node/playwrightService.ts Connects Playwright to BrowserView CDP via an IPC-backed transport instead of connectOverCDP(endpoint)
src/vs/platform/browserView/node/browserViewGroupRemoteService.ts Exposes CDP send + message event forwarding on the remote IBrowserViewGroup proxy
src/vs/platform/browserView/electron-main/browserViewGroupMainService.ts Implements IPC entry points for sending CDP requests and streaming CDP messages from main
src/vs/platform/browserView/electron-main/browserViewGroup.ts Lazily instantiates CDPBrowserProxy and exposes sendCDPMessage/onCDPMessage
src/vs/platform/browserView/electron-main/browserViewDebugger.ts Renames ICDPConnection.sendMessage to sendCommand to clarify semantics
src/vs/platform/browserView/electron-main/browserViewCDPProxyServer.ts Deleted: removes local WebSocket proxy/token endpoint approach
src/vs/platform/browserView/common/cdp/types.ts Renames ICDPConnection.sendMessage to sendCommand
src/vs/platform/browserView/common/cdp/proxy.ts Adds message-based handling (sendMessage + onMessage) and updates routing to sendCommand
src/vs/platform/browserView/common/browserViewGroup.ts Updates group/service contracts to support CDP over IPC
src/vs/code/electron-main/app.ts Removes BrowserViewCDPProxyServer service wiring

@kycutler kycutler merged commit e03506d into main Mar 10, 2026
22 of 23 checks passed
@kycutler kycutler deleted the kycutler/privatecdp branch March 10, 2026 16:17
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.

3 participants