Skip to content

Commit 549d165

Browse files
Add initial support for BroadcastChannel behind a runtime flag
https://bugs.webkit.org/show_bug.cgi?id=227924 Reviewed by Sam Weinig. LayoutTests/imported/w3c: Rebaseline WPT tests now that more tests are running and we are passing more checks. * web-platform-tests/FileAPI/url/url-in-tags-revoke.window-expected.txt: * web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-BarProp.window-expected.txt: * web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-sizing.window-expected.txt: * web-platform-tests/html/browsers/the-window-object/window-open-noreferrer-expected.txt: * web-platform-tests/html/cross-origin-embedder-policy/report-only-require-corp.https-expected.txt: * web-platform-tests/html/cross-origin-embedder-policy/require-corp.https-expected.txt: * web-platform-tests/html/dom/idlharness.worker-expected.txt: * web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/broadcastchannel-success.https-expected.txt: * web-platform-tests/html/semantics/forms/form-submission-target/rel-base-target-expected.txt: * web-platform-tests/html/semantics/forms/form-submission-target/rel-button-target-expected.txt: * web-platform-tests/html/semantics/forms/form-submission-target/rel-form-target-expected.txt: * web-platform-tests/html/semantics/forms/form-submission-target/rel-input-target-expected.txt: * web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener-expected.txt: * web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener-expected.txt: * web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base-expected.txt: * web-platform-tests/wasm/serialization/module/broadcastchannel-success-and-failure-expected.txt: * web-platform-tests/wasm/serialization/module/broadcastchannel-success-expected.txt: * web-platform-tests/webmessaging/MessageEvent-trusted.any-expected.txt: * web-platform-tests/webmessaging/MessageEvent-trusted.any.worker-expected.txt: * web-platform-tests/webmessaging/broadcastchannel/basics-expected.txt: Removed. * web-platform-tests/webmessaging/broadcastchannel/basics.any-expected.txt: * web-platform-tests/webmessaging/broadcastchannel/basics.any.worker-expected.txt: * web-platform-tests/webmessaging/broadcastchannel/blobs-expected.txt: * web-platform-tests/webmessaging/broadcastchannel/interface-expected.txt: Removed. * web-platform-tests/webmessaging/broadcastchannel/interface.any-expected.txt: * web-platform-tests/webmessaging/broadcastchannel/interface.any.worker-expected.txt: * web-platform-tests/webmessaging/broadcastchannel/sandbox-expected.txt: * web-platform-tests/webmessaging/broadcastchannel/workers-expected.txt: Added. * web-platform-tests/webmessaging/multi-globals/broadcastchannel-current.sub-expected.txt: * web-platform-tests/webstorage/storage_session_window_noopener.window-expected.txt: * web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt: Source/WebCore: Add initial support for BroadcastChannel behind a runtime flag, off by default: - https://html.spec.whatwg.org/multipage/web-messaging.html#broadcasting-to-other-browsing-contexts Both Firefox and Blink have been supporting BroadcastChannel for a long time. The implementation is complete and spec-compliant. It works both in Window and Worker environments, in WebKit1 and WebKit2. However, the feature is off-by-default because of privacy concerns that have not been addresssed yet: - whatwg/html#5803 We should be able to add partioning to address the privacy concerns and ship this later on. In the mean time though, having a working BroadcastChannel implementation in the context of layout tests is already very useful because a lot of Web-Platform-Tests are relying on it to test other Web features. This means better test coverage for WebKit. Tests: - fast/html/broadcast-channel-between-different-sessions.html - Rebaselined WPT tests * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Headers.cmake: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * bindings/js/WebCoreBuiltinNames.h: * dom/BroadcastChannel.cpp: Added. (WebCore::channelToContextIdentifier): (WebCore::BroadcastChannel::BroadcastChannel): (WebCore::BroadcastChannel::~BroadcastChannel): (WebCore::BroadcastChannel::postMessage): (WebCore::BroadcastChannel::close): (WebCore::BroadcastChannel::dispatchMessageTo): (WebCore::BroadcastChannel::dispatchMessage): (WebCore::BroadcastChannel::ensureOnMainThread): (WebCore::BroadcastChannel::activeDOMObjectName const): (WebCore::BroadcastChannel::eventListenersDidChange): (WebCore::BroadcastChannel::virtualHasPendingActivity const): * dom/BroadcastChannel.h: Added. (WebCore::BroadcastChannel::create): (WebCore::BroadcastChannel::identifier const): (WebCore::BroadcastChannel::name const): * dom/BroadcastChannel.idl: Added. * dom/BroadcastChannelIdentifier.h: Added. * dom/BroadcastChannelRegistry.h: Added. (WebCore::BroadcastChannelRegistry::~BroadcastChannelRegistry): * dom/DeviceOrientationAndMotionAccessController.h: * dom/DeviceOrientationEvent.cpp: * dom/DeviceOrientationEvent.h: * dom/EventTargetFactory.in: * loader/EmptyClients.cpp: (WebCore::pageConfigurationWithEmptyClients): * page/Page.cpp: (WebCore::Page::Page): (WebCore::Page::setBroadcastChannelRegistry): * page/Page.h: (WebCore::Page::broadcastChannelRegistry): * page/PageConfiguration.cpp: (WebCore::PageConfiguration::PageConfiguration): * page/PageConfiguration.h: Source/WebKit: Add initial support for BroadcastChannel behind a runtime flag, off by default: - https://html.spec.whatwg.org/multipage/web-messaging.html#broadcasting-to-other-browsing-contexts Both Firefox and Blink have been supporting BroadcastChannel for a long time. The implementation is complete and spec-compliant. It works both in Window and Worker environments, in WebKit1 and WebKit2. However, the feature is off-by-default because of privacy concerns that have not been addresssed yet: - whatwg/html#5803 We should be able to add partioning to address the privacy concerns and ship this later on. In the mean time though, having a working BroadcastChannel implementation in the context of layout tests is already very useful because a lot of Web-Platform-Tests are relying on it to test other Web features. This means better test coverage for WebKit. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * NetworkProcess/Downloads/DownloadManager.cpp: * NetworkProcess/NetworkBroadcastChannelRegistry.cpp: Added. (WebKit::NetworkBroadcastChannelRegistry::registerChannel): (WebKit::NetworkBroadcastChannelRegistry::unregisterChannel): (WebKit::NetworkBroadcastChannelRegistry::postMessage): (WebKit::NetworkBroadcastChannelRegistry::removeConnection): * NetworkProcess/NetworkBroadcastChannelRegistry.h: Added. (WebKit::NetworkBroadcastChannelRegistry::GlobalBroadcastChannelIdentifier::operator== const): * NetworkProcess/NetworkBroadcastChannelRegistry.messages.in: Added. * NetworkProcess/NetworkConnectionToWebProcess.cpp: (WebKit::NetworkConnectionToWebProcess::didReceiveMessage): (WebKit::NetworkConnectionToWebProcess::didClose): * NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::NetworkSession): * NetworkProcess/NetworkSession.h: (WebKit::NetworkSession::broadcastChannelRegistry): * Scripts/webkit/messages.py: (types_that_cannot_be_forward_declared): * Sources.txt: * WebKit.xcodeproj/project.pbxproj: * WebProcess/Network/NetworkProcessConnection.cpp: (WebKit::NetworkProcessConnection::didReceiveMessage): * WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.cpp: Added. (WebKit::networkProcessConnection): (WebKit::WebBroadcastChannelRegistry::registerChannel): (WebKit::WebBroadcastChannelRegistry::unregisterChannel): (WebKit::WebBroadcastChannelRegistry::postMessage): (WebKit::WebBroadcastChannelRegistry::postMessageToRemote): * WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.h: Added. * WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.messages.in: Added. * WebProcess/WebPage/WebPage.cpp: (WebKit::m_appHighlightsVisible): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::WebProcess): * WebProcess/WebProcess.h: (WebKit::WebProcess::broadcastChannelRegistry): Source/WebKitLegacy: Add BroadcastChannelRegistry implementation for WebKitLegacy. * Sources.txt: * WebCoreSupport/WebBroadcastChannelRegistry.cpp: Added. (WebBroadcastChannelRegistry::getOrCreate): (WebBroadcastChannelRegistry::registerChannel): (WebBroadcastChannelRegistry::unregisterChannel): (WebBroadcastChannelRegistry::postMessage): * WebCoreSupport/WebBroadcastChannelRegistry.h: Added. * WebKitLegacy.xcodeproj/project.pbxproj: Source/WebKitLegacy/mac: * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): (-[WebView _preferencesChanged:]): Source/WebKitLegacy/win: * WebView.cpp: (WebView::initWithFrame): (WebView::notifyPreferencesChanged): Source/WTF: Add experimental feature flag for BroadcastChannel, off by default. * Scripts/Preferences/WebPreferencesExperimental.yaml: LayoutTests: * TestExpectations: * fast/html/broadcast-channel-between-different-sessions-expected.txt: Added. * fast/html/broadcast-channel-between-different-sessions.html: Added. * fast/html/resources/broadcast-channel-between-different-sessions-window.html: Added. Add layout test coverage to make sure that windows belonging to different session are unable to communicate via BroadcastChannel. * platform/ios-wk2/imported/w3c/web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-sizing.window-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-sizing.window-expected.txt. * platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: * platform/mac-wk1/TestExpectations: * platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-BarProp.window-expected.txt: Added. * platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: * platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener-expected.txt: Added. * platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt: * platform/win/TestExpectations: * platform/wk2/TestExpectations: Update test expectations now that we support BroadcastChannel. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@279971 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent b60af14 commit 549d165

File tree

103 files changed

+1522
-216
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+1522
-216
lines changed

LayoutTests/ChangeLog

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,28 @@
1+
2021-07-15 Chris Dumez <[email protected]>
2+
3+
Add initial support for BroadcastChannel behind a runtime flag
4+
https://bugs.webkit.org/show_bug.cgi?id=227924
5+
6+
Reviewed by Sam Weinig.
7+
8+
* TestExpectations:
9+
* fast/html/broadcast-channel-between-different-sessions-expected.txt: Added.
10+
* fast/html/broadcast-channel-between-different-sessions.html: Added.
11+
* fast/html/resources/broadcast-channel-between-different-sessions-window.html: Added.
12+
Add layout test coverage to make sure that windows belonging to different session are unable to communicate
13+
via BroadcastChannel.
14+
15+
* platform/ios-wk2/imported/w3c/web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-sizing.window-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-sizing.window-expected.txt.
16+
* platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
17+
* platform/mac-wk1/TestExpectations:
18+
* platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-BarProp.window-expected.txt: Added.
19+
* platform/mac-wk1/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
20+
* platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener-expected.txt: Added.
21+
* platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/idlharness.https-expected.txt:
22+
* platform/win/TestExpectations:
23+
* platform/wk2/TestExpectations:
24+
Update test expectations now that we support BroadcastChannel.
25+
126
2021-07-15 Eric Hutchison <[email protected]>
227

328
inspector/canvas/setRecordingAutoCaptureFrameCount.html is flaky failing.

LayoutTests/TestExpectations

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -378,10 +378,6 @@ imported/w3c/web-platform-tests/webaudio/the-audio-api/the-analysernode-interfac
378378

379379
webkit.org/b/176929 imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html [ Pass Failure ]
380380

381-
# Requires BroadcastChannel.
382-
imported/w3c/web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-BarProp.window.html [ Skip ]
383-
imported/w3c/web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-sizing.window.html [ Skip ]
384-
385381
# Requires additional test infrastructure.
386382
imported/w3c/web-platform-tests/service-workers/service-worker/update-after-oneday.https.html [ Skip ]
387383

@@ -1642,7 +1638,6 @@ webkit.org/b/201356 mathml/presentation/stretchy-depth-height-symmetric.html [ S
16421638
webkit.org/b/187034 imported/w3c/web-platform-tests/webmessaging/MessageEvent_onmessage_postMessage_infinite_loop.html [ Skip ]
16431639
webkit.org/b/187034 imported/w3c/web-platform-tests/webmessaging/MessageEvent_properties.htm [ Skip ]
16441640
webkit.org/b/187034 imported/w3c/web-platform-tests/webmessaging/Transferred_objects_unusable.sub.htm [ Skip ]
1645-
webkit.org/b/161472 imported/w3c/web-platform-tests/webmessaging/broadcastchannel/workers.html [ Skip ]
16461641
webkit.org/b/187034 imported/w3c/web-platform-tests/webmessaging/event.data.sub.htm [ Skip ]
16471642
webkit.org/b/187034 imported/w3c/web-platform-tests/webmessaging/event.origin.sub.htm [ Skip ]
16481643
webkit.org/b/187034 imported/w3c/web-platform-tests/webmessaging/event.ports.sub.htm [ Skip ]
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Makes sure that BroadcastChannel cannot be used to communicate between different sessions.
2+
3+
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
4+
5+
6+
PASS Did not receive BroadcastChannel channel from ephemeral session Window
7+
PASS successfullyParsed is true
8+
9+
TEST COMPLETE
10+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<body>
4+
<script src="../../resources/js-test.js"></script>
5+
<script>
6+
description("Makes sure that BroadcastChannel cannot be used to communicate between different sessions.");
7+
jsTestIsAsync = true;
8+
9+
if (window.testRunner)
10+
testRunner.setCanOpenWindows();
11+
12+
onload = () => {
13+
channel = new BroadcastChannel('broadcast-channel-between-different-sessions');
14+
channel.onmessage = (event) => {
15+
testFailed("Received BroadcastChannel channel from ephemeral session Window");
16+
clearTimeout(handle);
17+
finishJSTest();
18+
};
19+
if (window.testRunner)
20+
testRunner.setShouldSwapToEphemeralSessionOnNextNavigation(true);
21+
open("resources/broadcast-channel-between-different-sessions-window.html", "testWindow", "noopener");
22+
handle = setTimeout(() => {
23+
testPassed("Did not receive BroadcastChannel channel from ephemeral session Window");
24+
finishJSTest();
25+
}, 1000);
26+
}
27+
</script>
28+
</body>
29+
</html>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<body>
4+
<script>
5+
channel = new BroadcastChannel('broadcast-channel-between-different-sessions');
6+
channel.postMessage("FAIL");
7+
</script>
8+
</body>
9+
</html>

LayoutTests/imported/w3c/ChangeLog

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,44 @@
1+
2021-07-15 Chris Dumez <[email protected]>
2+
3+
Add initial support for BroadcastChannel behind a runtime flag
4+
https://bugs.webkit.org/show_bug.cgi?id=227924
5+
6+
Reviewed by Sam Weinig.
7+
8+
Rebaseline WPT tests now that more tests are running and we are passing more checks.
9+
10+
* web-platform-tests/FileAPI/url/url-in-tags-revoke.window-expected.txt:
11+
* web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-BarProp.window-expected.txt:
12+
* web-platform-tests/html/browsers/the-window-object/noopener-noreferrer-sizing.window-expected.txt:
13+
* web-platform-tests/html/browsers/the-window-object/window-open-noreferrer-expected.txt:
14+
* web-platform-tests/html/cross-origin-embedder-policy/report-only-require-corp.https-expected.txt:
15+
* web-platform-tests/html/cross-origin-embedder-policy/require-corp.https-expected.txt:
16+
* web-platform-tests/html/dom/idlharness.worker-expected.txt:
17+
* web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/broadcastchannel-success.https-expected.txt:
18+
* web-platform-tests/html/semantics/forms/form-submission-target/rel-base-target-expected.txt:
19+
* web-platform-tests/html/semantics/forms/form-submission-target/rel-button-target-expected.txt:
20+
* web-platform-tests/html/semantics/forms/form-submission-target/rel-form-target-expected.txt:
21+
* web-platform-tests/html/semantics/forms/form-submission-target/rel-input-target-expected.txt:
22+
* web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/htmlanchorelement_noopener-expected.txt:
23+
* web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener-expected.txt:
24+
* web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements/target_blank_implicit_noopener_base-expected.txt:
25+
* web-platform-tests/wasm/serialization/module/broadcastchannel-success-and-failure-expected.txt:
26+
* web-platform-tests/wasm/serialization/module/broadcastchannel-success-expected.txt:
27+
* web-platform-tests/webmessaging/MessageEvent-trusted.any-expected.txt:
28+
* web-platform-tests/webmessaging/MessageEvent-trusted.any.worker-expected.txt:
29+
* web-platform-tests/webmessaging/broadcastchannel/basics-expected.txt: Removed.
30+
* web-platform-tests/webmessaging/broadcastchannel/basics.any-expected.txt:
31+
* web-platform-tests/webmessaging/broadcastchannel/basics.any.worker-expected.txt:
32+
* web-platform-tests/webmessaging/broadcastchannel/blobs-expected.txt:
33+
* web-platform-tests/webmessaging/broadcastchannel/interface-expected.txt: Removed.
34+
* web-platform-tests/webmessaging/broadcastchannel/interface.any-expected.txt:
35+
* web-platform-tests/webmessaging/broadcastchannel/interface.any.worker-expected.txt:
36+
* web-platform-tests/webmessaging/broadcastchannel/sandbox-expected.txt:
37+
* web-platform-tests/webmessaging/broadcastchannel/workers-expected.txt: Added.
38+
* web-platform-tests/webmessaging/multi-globals/broadcastchannel-current.sub-expected.txt:
39+
* web-platform-tests/webstorage/storage_session_window_noopener.window-expected.txt:
40+
* web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt:
41+
142
2021-07-15 Chris Dumez <[email protected]>
243

344
FetchResponse.formData() should reject promise with a TypeError if the body is null

LayoutTests/imported/w3c/web-platform-tests/FileAPI/url/url-in-tags-revoke.window-expected.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Harness Error (TIMEOUT), message = null
44
PASS Fetching a blob URL immediately before revoking it works in an iframe.
55
TIMEOUT Fetching a blob URL immediately before revoking it works in an iframe navigation. Test timed out
66
PASS Opening a blob URL in a new window immediately before revoking it works.
7-
FAIL Opening a blob URL in a noopener about:blank window immediately before revoking it works. Can't find variable: BroadcastChannel
7+
TIMEOUT Opening a blob URL in a noopener about:blank window immediately before revoking it works. Test timed out
88
PASS Fetching a blob URL immediately before revoking it works in <script> tags.
9-
FAIL Opening a blob URL in a new window by clicking an <a> tag works immediately before revoking the URL. Can't find variable: BroadcastChannel
9+
PASS Opening a blob URL in a new window by clicking an <a> tag works immediately before revoking the URL.
1010

Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

22
PASS All bars visible
3-
FAIL window.open() with noopener should have all bars visible Can't find variable: BroadcastChannel
4-
FAIL window.open() with noreferrer should have all bars visible Can't find variable: BroadcastChannel
3+
PASS window.open() with noopener should have all bars visible
4+
PASS window.open() with noreferrer should have all bars visible
55

Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11

2-
FAIL window.open() with noopener should have equal viewport width and height Can't find variable: BroadcastChannel
3-
FAIL window.open() with noreferrer should have equal viewport width and height Can't find variable: BroadcastChannel
2+
PASS window.open() with noopener should have equal viewport width and height
3+
PASS window.open() with noreferrer should have equal viewport width and height
44

Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11

2-
FAIL window.open() with "noreferrer" tests Can't find variable: BroadcastChannel
2+
PASS window.open() with "noreferrer" tests
33

LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/report-only-require-corp.https-expected.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
PASS "none" top-level: navigating a frame to "none" should succeed
33
PASS "none" top-level: navigating a frame from "require-corp" to "none" should succeed
44
PASS "none" top-level: navigating a frame back from "require-corp" should succeed
5-
FAIL "require-corp" top-level noopener popup: navigating to "none" should succeed Can't find variable: BroadcastChannel
5+
PASS "require-corp" top-level noopener popup: navigating to "none" should succeed
66

Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11

22
FAIL "require-corp" top-level: navigating a frame to "none" should fail step_wait_func: Timed out waiting on condition
3-
FAIL "require-corp" top-level: navigating a frame from "require-corp" to "none" should fail Can't find variable: BroadcastChannel
4-
FAIL "require-corp" top-level: creating a noopener "none" popup should succeed Can't find variable: BroadcastChannel
5-
FAIL "require-corp" top-level: creating a "none" popup should succeed. Can't find variable: BroadcastChannel
6-
FAIL "require-corp" top-level (as popup): navigating to "none" should succeed Can't find variable: BroadcastChannel
7-
FAIL "require-corp" top-level (as noopener popup): navigating to "none" should succeed Can't find variable: BroadcastChannel
8-
FAIL "require-corp" top-level (as popup with opener set to null): navigating to "none" should succeed Can't find variable: BroadcastChannel
3+
FAIL "require-corp" top-level: navigating a frame from "require-corp" to "none" should fail step_wait_func: Timed out waiting on condition
4+
PASS "require-corp" top-level: creating a noopener "none" popup should succeed
5+
PASS "require-corp" top-level: creating a "none" popup should succeed.
6+
PASS "require-corp" top-level (as popup): navigating to "none" should succeed
7+
PASS "require-corp" top-level (as noopener popup): navigating to "none" should succeed
8+
PASS "require-corp" top-level (as popup with opener set to null): navigating to "none" should succeed
99
PASS "require-corp" top-level: fetch() to CORP: cross-origin response should succeed
1010
FAIL "require-corp" top-level: fetch() to response without CORP should fail assert_unreached: Should have rejected: undefined Reached unreachable code
1111
FAIL "require-corp" top-level: fetch() to response without CORP through a WindowProxy should fail assert_unreached: Should have rejected: undefined Reached unreachable code
1212
FAIL "require-corp" top-level: navigating an iframe to a page without CORP, through a WindowProxy, should fail step_wait_func: Timed out waiting on condition
1313
PASS CORP: same-site is checked and allowed.
1414
FAIL CORP: same-site is checked and blocked. assert_false: expected false got true
15-
FAIL navigation CORP is checked with the parent frame, not the navigation source - to be allowed Can't find variable: BroadcastChannel
16-
FAIL navigation CORP is checked with the parent frame, not the navigation source - to be blocked Can't find variable: BroadcastChannel
17-
FAIL navigation CORP is checked for each redirect Can't find variable: BroadcastChannel
15+
PASS navigation CORP is checked with the parent frame, not the navigation source - to be allowed
16+
PASS navigation CORP is checked with the parent frame, not the navigation source - to be blocked
17+
FAIL navigation CORP is checked for each redirect assert_false: expected false got true
1818

LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -601,17 +601,17 @@ PASS MessagePort interface: operation start()
601601
PASS MessagePort interface: operation close()
602602
PASS MessagePort interface: attribute onmessage
603603
FAIL MessagePort interface: attribute onmessageerror assert_true: The prototype object must have a property "onmessageerror" expected true got false
604-
FAIL BroadcastChannel interface: existence and properties of interface object assert_own_property: self does not have own property "BroadcastChannel" expected property "BroadcastChannel" missing
605-
FAIL BroadcastChannel interface object length assert_own_property: self does not have own property "BroadcastChannel" expected property "BroadcastChannel" missing
606-
FAIL BroadcastChannel interface object name assert_own_property: self does not have own property "BroadcastChannel" expected property "BroadcastChannel" missing
607-
FAIL BroadcastChannel interface: existence and properties of interface prototype object assert_own_property: self does not have own property "BroadcastChannel" expected property "BroadcastChannel" missing
608-
FAIL BroadcastChannel interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "BroadcastChannel" expected property "BroadcastChannel" missing
609-
FAIL BroadcastChannel interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "BroadcastChannel" expected property "BroadcastChannel" missing
610-
FAIL BroadcastChannel interface: attribute name assert_own_property: self does not have own property "BroadcastChannel" expected property "BroadcastChannel" missing
611-
FAIL BroadcastChannel interface: operation postMessage(any) assert_own_property: self does not have own property "BroadcastChannel" expected property "BroadcastChannel" missing
612-
FAIL BroadcastChannel interface: operation close() assert_own_property: self does not have own property "BroadcastChannel" expected property "BroadcastChannel" missing
613-
FAIL BroadcastChannel interface: attribute onmessage assert_own_property: self does not have own property "BroadcastChannel" expected property "BroadcastChannel" missing
614-
FAIL BroadcastChannel interface: attribute onmessageerror assert_own_property: self does not have own property "BroadcastChannel" expected property "BroadcastChannel" missing
604+
PASS BroadcastChannel interface: existence and properties of interface object
605+
PASS BroadcastChannel interface object length
606+
PASS BroadcastChannel interface object name
607+
PASS BroadcastChannel interface: existence and properties of interface prototype object
608+
PASS BroadcastChannel interface: existence and properties of interface prototype object's "constructor" property
609+
PASS BroadcastChannel interface: existence and properties of interface prototype object's @@unscopables property
610+
PASS BroadcastChannel interface: attribute name
611+
PASS BroadcastChannel interface: operation postMessage(any)
612+
PASS BroadcastChannel interface: operation close()
613+
PASS BroadcastChannel interface: attribute onmessage
614+
PASS BroadcastChannel interface: attribute onmessageerror
615615
PASS WorkerGlobalScope interface: existence and properties of interface object
616616
PASS WorkerGlobalScope interface object length
617617
PASS WorkerGlobalScope interface object name
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
CONSOLE MESSAGE: ReferenceError: Can't find variable: BroadcastChannel
2-
CONSOLE MESSAGE: ReferenceError: Can't find variable: BroadcastChannel
3-
CONSOLE MESSAGE: ReferenceError: Can't find variable: BroadcastChannel
41

5-
FAIL Structured cloning of SharedArrayBuffers: BroadcastChannel within the same agent cluster promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: SharedArrayBuffer"
2+
FAIL Structured cloning of SharedArrayBuffers: BroadcastChannel within the same agent cluster assert_equals: The first iframe must have set view[0] to 1 expected 1 but got 0
63

Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11

2-
FAIL <form rel=""> with <base target> promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: BroadcastChannel"
3-
FAIL <form rel="noopener"> with <base target> promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: BroadcastChannel"
4-
FAIL <form rel="noreferrer"> with <base target> promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: BroadcastChannel"
5-
FAIL <form rel="opener"> with <base target> promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: BroadcastChannel"
6-
FAIL <form rel="noopener noreferrer"> with <base target> promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: BroadcastChannel"
7-
FAIL <form rel="noreferrer opener"> with <base target> promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: BroadcastChannel"
8-
FAIL <form rel="opener noopener"> with <base target> promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: BroadcastChannel"
2+
Harness Error (TIMEOUT), message = null
3+
4+
PASS <form rel=""> with <base target>
5+
FAIL <form rel="noopener"> with <base target> assert_false: opener expected false got true
6+
FAIL <form rel="noreferrer"> with <base target> assert_equals: referrer expected "" but got "http://localhost:8800/html/semantics/forms/form-submission-target/rel-base-target.html"
7+
PASS <form rel="opener"> with <base target>
8+
FAIL <form rel="noopener noreferrer"> with <base target> assert_equals: referrer expected "" but got "http://localhost:8800/html/semantics/forms/form-submission-target/rel-base-target.html"
9+
FAIL <form rel="noreferrer opener"> with <base target> assert_equals: referrer expected "" but got "http://localhost:8800/html/semantics/forms/form-submission-target/rel-base-target.html"
10+
FAIL <form rel="opener noopener"> with <base target> assert_false: opener expected false got true
911

0 commit comments

Comments
 (0)