feat(webkit): launch WebKit in WSL directly over WebSocket transport#41251
Merged
Conversation
Launch the Linux WebKit build inside the "playwright" WSL distribution via wsl.exe with --remote-debugging-port=0 and connect to the printed ws:// endpoint from the Windows host (reachable thanks to WSL localhost forwarding). This replaces the reverted intermediate proxy server. Make killForTests wait for the transport disconnect so the kill appears atomic to clients, add a tests_webkit_wsl workflow that runs the WebKit suite headed and headless on the self-hosted Windows pool, and update library/page test expectations for the webkit-wsl channel. Reference: microsoft#37036
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
dgozman
approved these changes
Jun 15, 2026
|
|
||
| async killForTests(progress: Progress) { | ||
| await progress.race(this.options.browserProcess.kill()); | ||
| // With WebSocket transport the disconnect is not necessarily dispatched before the |
Collaborator
There was a problem hiding this comment.
This sounds very strange! If that's true, let's fix it separately?
Member
Author
There was a problem hiding this comment.
This mirrors close() right above (lines 196–197), which already does the same if (this.isConnected()) await Disconnected after the process is asked to exit.
- ffmpeg is already pulled in as a webkit-wsl dependency, drop it from the workflow - remove redundant comments
Contributor
Test results for "MCP"7341 passed, 1122 skipped Merge workflow run. |
Contributor
Test results for "tests 1"2 flaky39583 passed, 743 skipped Merge workflow run. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
playwrightWSL distribution viawsl.exe --remote-debugging-port=0and connect to it over WebSocket from the Windows host (replaces the reverted intermediate proxy server).tests_webkit_wslworkflow running the WebKit suite headed and headless on the self-hosted Windows runner.Reference: #37036