Skip to content

[Site Isolation] imported/w3c/web-platform-tests/storage-access-api/requestStorageAccess-web-socket.sub.https.window.html fails#64722

Merged
webkit-commit-queue merged 1 commit into
WebKit:mainfrom
charliewolfe:eng/Site-Isolation-imported-w3c-web-platform-tests-storage-access-api-requestStorageAccess-web-socket-sub-https-window-html-fails
May 12, 2026
Merged

[Site Isolation] imported/w3c/web-platform-tests/storage-access-api/requestStorageAccess-web-socket.sub.https.window.html fails#64722
webkit-commit-queue merged 1 commit into
WebKit:mainfrom
charliewolfe:eng/Site-Isolation-imported-w3c-web-platform-tests-storage-access-api-requestStorageAccess-web-socket-sub-https-window-html-fails

Conversation

@charliewolfe
Copy link
Copy Markdown
Member

@charliewolfe charliewolfe commented May 12, 2026

afb0676

[Site Isolation] `imported/w3c/web-platform-tests/storage-access-api/requestStorageAccess-web-socket.sub.https.window.html` fails
https://bugs.webkit.org/show_bug.cgi?id=314602
rdar://176845704

Reviewed by Sihui Liu.

WebSocketChannel was accessing the local main frame's document loader to read allowPrivacyProxy,
which doesn't work with site isolation when the main frame is remote. Add allowPrivacyProxy as a
virtual method on Frame, propagate it through WebsitePoliciesData to RemoteFrame, and change
WebSocketChannel::connect to access the frame tree in a way that works with site isolation.

* LayoutTests/platform/mac-site-isolation/TestExpectations:
* Source/WebCore/page/Frame.h:
* Source/WebCore/page/LocalFrame.cpp:
(WebCore::LocalFrame::allowPrivacyProxy const):
* Source/WebCore/page/LocalFrame.h:
* Source/WebCore/page/RemoteFrame.cpp:
(WebCore::RemoteFrame::allowPrivacyProxy const):
* Source/WebCore/page/RemoteFrame.h:
* Source/WebKit/WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::connect):
* Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp:
(WebKit::WebRemoteFrameClient::applyWebsitePolicies):

Canonical link: https://commits.webkit.org/313097@main

05a840d

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows Apple Internal
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 win ⏳ 🛠 ios-apple
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 ❌ 🧪 win-tests ⏳ 🛠 mac-apple
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe ⏳ 🛠 vision-apple
✅ 🧪 ios-wk2-wpt ✅ 🧪 api-mac-debug ✅ 🛠 gtk3-libwebrtc
✅ 🧪 api-ios ✅ 🧪 mac-wk1 ✅ 🛠 gtk
✅ 🛠 ios-safer-cpp ✅ 🧪 mac-wk2 ✅ 🧪 gtk-wk2
✅ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 ✅ 🧪 api-gtk
✅ 🛠 vision-sim ✅ 🧪 mac-wk2-stress ✅ 🛠 playstation
✅ 🛠 🧪 unsafe-merge ✅ 🧪 vision-wk2 ✅ 🧪 mac-intel-wk2
✅ 🛠 tv ✅ 🛠 mac-safer-cpp
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

@charliewolfe charliewolfe requested a review from cdumez as a code owner May 12, 2026 03:07
@charliewolfe charliewolfe self-assigned this May 12, 2026
@charliewolfe charliewolfe added the WebKit Process Model Bugs related to WebKit's multi-process architecture label May 12, 2026
@charliewolfe charliewolfe force-pushed the eng/Site-Isolation-imported-w3c-web-platform-tests-storage-access-api-requestStorageAccess-web-socket-sub-https-window-html-fails branch from 10ccad7 to 05a840d Compare May 12, 2026 03:47
@charliewolfe charliewolfe added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label May 12, 2026
…requestStorageAccess-web-socket.sub.https.window.html` fails

https://bugs.webkit.org/show_bug.cgi?id=314602
rdar://176845704

Reviewed by Sihui Liu.

WebSocketChannel was accessing the local main frame's document loader to read allowPrivacyProxy,
which doesn't work with site isolation when the main frame is remote. Add allowPrivacyProxy as a
virtual method on Frame, propagate it through WebsitePoliciesData to RemoteFrame, and change
WebSocketChannel::connect to access the frame tree in a way that works with site isolation.

* LayoutTests/platform/mac-site-isolation/TestExpectations:
* Source/WebCore/page/Frame.h:
* Source/WebCore/page/LocalFrame.cpp:
(WebCore::LocalFrame::allowPrivacyProxy const):
* Source/WebCore/page/LocalFrame.h:
* Source/WebCore/page/RemoteFrame.cpp:
(WebCore::RemoteFrame::allowPrivacyProxy const):
* Source/WebCore/page/RemoteFrame.h:
* Source/WebKit/WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::connect):
* Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp:
(WebKit::WebRemoteFrameClient::applyWebsitePolicies):

Canonical link: https://commits.webkit.org/313097@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/Site-Isolation-imported-w3c-web-platform-tests-storage-access-api-requestStorageAccess-web-socket-sub-https-window-html-fails branch from 05a840d to afb0676 Compare May 12, 2026 18:24
@webkit-commit-queue
Copy link
Copy Markdown
Collaborator

Committed 313097@main (afb0676): https://commits.webkit.org/313097@main

Reviewed commits have been landed. Closing PR #64722 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit afb0676 into WebKit:main May 12, 2026
@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

WebKit Process Model Bugs related to WebKit's multi-process architecture

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants