Changeset 282105 in webkit
- Timestamp:
- Sep 7, 2021 12:38:07 PM (11 months ago)
- Location:
- trunk
- Files:
-
- 4 added
- 20 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/http/tests/messaging/broadcastchannel-partitioning-expected.txt (added)
-
LayoutTests/http/tests/messaging/broadcastchannel-partitioning.html (added)
-
LayoutTests/http/tests/messaging/resources/broadcastchannel-partitioning-iframe.html (added)
-
LayoutTests/http/tests/messaging/resources/broadcastchannel-partitioning-popup.html (added)
-
LayoutTests/platform/win/TestExpectations (modified) (1 diff)
-
Source/WTF/ChangeLog (modified) (1 diff)
-
Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (modified) (2 diffs)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/dom/BroadcastChannel.cpp (modified) (2 diffs)
-
Source/WebCore/dom/BroadcastChannel.h (modified) (2 diffs)
-
Source/WebCore/dom/BroadcastChannelRegistry.h (modified) (1 diff)
-
Source/WebCore/loader/EmptyClients.cpp (modified) (1 diff)
-
Source/WebKit/ChangeLog (modified) (1 diff)
-
Source/WebKit/NetworkProcess/NetworkBroadcastChannelRegistry.cpp (modified) (4 diffs)
-
Source/WebKit/NetworkProcess/NetworkBroadcastChannelRegistry.h (modified) (3 diffs)
-
Source/WebKit/NetworkProcess/NetworkBroadcastChannelRegistry.messages.in (modified) (1 diff)
-
Source/WebKit/WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.cpp (modified) (1 diff)
-
Source/WebKit/WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.h (modified) (1 diff)
-
Source/WebKitLegacy/ChangeLog (modified) (1 diff)
-
Source/WebKitLegacy/WebCoreSupport/WebBroadcastChannelRegistry.cpp (modified) (3 diffs)
-
Source/WebKitLegacy/WebCoreSupport/WebBroadcastChannelRegistry.h (modified) (2 diffs)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/WebKitTestRunner/TestOptions.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r282104 r282105 1 2021-09-07 Chris Dumez <cdumez@apple.com> 2 3 Implement origin partitioning (top-origin/frame-origin) for BroadcastChannel 4 https://bugs.webkit.org/show_bug.cgi?id=229814 5 6 Reviewed by Alex Christensen. 7 8 Add layout test coverage. 9 10 * http/tests/messaging/broadcastchannel-partitioning-expected.txt: Added. 11 * http/tests/messaging/broadcastchannel-partitioning.html: Added. 12 * http/tests/messaging/resources/broadcastchannel-partitioning-iframe.html: Added. 13 * http/tests/messaging/resources/broadcastchannel-partitioning-popup.html: Added. 14 1 15 2021-09-07 Ayumi Kojima <ayumi_kojima@apple.com> 2 16 -
trunk/LayoutTests/platform/win/TestExpectations
r282022 r282105 4637 4637 fast/text/offsetForPosition-complex-fallback.html [ Pass Failure ] 4638 4638 4639 # testRunner.setShouldSwapToEphemeralSessionOnNextNavigation() does not work with window.open() in DRT.4639 # No BroadcastChannel support on Windows. 4640 4640 fast/html/broadcast-channel-between-different-sessions.html [ Skip ] 4641 http/tests/messaging/broadcastchannel-partitioning.html [ Skip ] 4641 4642 4642 4643 # This test is skipped because the necessary feature flag functionality specific to the Windows WebKit legacy port is -
trunk/Source/WTF/ChangeLog
r282061 r282105 1 2021-09-07 Chris Dumez <cdumez@apple.com> 2 3 Implement origin partitioning (top-origin/frame-origin) for BroadcastChannel 4 https://bugs.webkit.org/show_bug.cgi?id=229814 5 6 Reviewed by Alex Christensen. 7 8 Add experimental preference for BroadcastChannel origin partitioning. This is useful because we currently 9 disable this when running web-platform-tests in WKTR / DRT for now. 10 11 * Scripts/Preferences/WebPreferencesExperimental.yaml: 12 1 13 2021-09-06 Dmitry Kalinkin <dmitry.kalinkin+webkit@gmail.com> 2 14 -
trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml
r282007 r282105 88 88 default: true 89 89 90 # We have to resolve the privacy issue in https://github.com/whatwg/html/issues/5803 before we can enable this.90 # We would have to partition BroadcastChannel based on PageGroups if we wanted to enable this for WebKitLegacy. 91 91 BroadcastChannelEnabled: 92 92 type: bool … … 100 100 WebCore: 101 101 default: false 102 103 BroadcastChannelOriginPartitioningEnabled: 104 type: bool 105 defaultValue: 106 WebKitLegacy: 107 default: true 108 WebKit: 109 default: true 110 WebCore: 111 default: true 102 112 103 113 CFNetworkNetworkLoaderEnabled: -
trunk/Source/WebCore/ChangeLog
r282097 r282105 1 2021-09-07 Chris Dumez <cdumez@apple.com> 2 3 Implement origin partitioning (top-origin/frame-origin) for BroadcastChannel 4 https://bugs.webkit.org/show_bug.cgi?id=229814 5 6 Reviewed by Alex Christensen. 7 8 Implement origin partitioning (top-origin/frame-origin) for BroadcastChannel to address privacy 9 concerns, as discussed here: 10 - https://github.com/whatwg/html/issues/5803 11 12 Test: http/tests/messaging/broadcastchannel-partitioning.html 13 14 * dom/BroadcastChannel.cpp: 15 (WebCore::BroadcastChannel::BroadcastChannel): 16 (WebCore::m_identifier): 17 (WebCore::BroadcastChannel::dispatchMessage): 18 * dom/BroadcastChannel.h: 19 * dom/BroadcastChannelRegistry.h: 20 * loader/EmptyClients.cpp: 21 1 22 2021-09-07 Kimmo Kinnunen <kkinnunen@apple.com> 2 23 -
trunk/Source/WebCore/dom/BroadcastChannel.cpp
r280547 r282105 61 61 : ActiveDOMObject(&context) 62 62 , m_name(name) 63 , m_origin (context.securityOrigin()->data())63 , m_origin { context.settingsValues().broadcastChannelOriginPartitioningEnabled ? context.topOrigin().data() : context.securityOrigin()->data(), context.securityOrigin()->data() } 64 64 , m_identifier(BroadcastChannelIdentifier::generateThreadSafe()) 65 65 { … … 151 151 queueTaskKeepingObjectAlive(*this, TaskSource::PostedMessageQueue, [this, message = WTFMove(message)]() mutable { 152 152 if (!m_isClosed) 153 dispatchEvent(MessageEvent::create({ }, WTFMove(message), m_origin. toString()));153 dispatchEvent(MessageEvent::create({ }, WTFMove(message), m_origin.clientOrigin.toString())); 154 154 }); 155 155 } -
trunk/Source/WebCore/dom/BroadcastChannel.h
r280547 r282105 28 28 #include "ActiveDOMObject.h" 29 29 #include "BroadcastChannelIdentifier.h" 30 #include "ClientOrigin.h" 30 31 #include "EventTarget.h" 31 32 #include "ExceptionOr.h" 32 #include "SecurityOriginData.h"33 33 #include <wtf/Forward.h> 34 34 #include <wtf/RefCounted.h> … … 84 84 85 85 const String m_name; 86 const SecurityOriginDatam_origin;86 const ClientOrigin m_origin; 87 87 const BroadcastChannelIdentifier m_identifier; 88 88 bool m_isClosed { false }; -
trunk/Source/WebCore/dom/BroadcastChannelRegistry.h
r280547 r282105 33 33 34 34 class SerializedScriptValue; 35 struct SecurityOriginData;35 struct ClientOrigin; 36 36 37 37 class BroadcastChannelRegistry : public RefCounted<BroadcastChannelRegistry> { 38 38 public: 39 39 virtual ~BroadcastChannelRegistry() { } 40 virtual void registerChannel(const SecurityOriginData&, const String& name, BroadcastChannelIdentifier) = 0;41 virtual void unregisterChannel(const SecurityOriginData&, const String& name, BroadcastChannelIdentifier) = 0;42 virtual void postMessage(const SecurityOriginData&, const String& name, BroadcastChannelIdentifier source, Ref<SerializedScriptValue>&&, CompletionHandler<void()>&&) = 0;40 virtual void registerChannel(const ClientOrigin&, const String& name, BroadcastChannelIdentifier) = 0; 41 virtual void unregisterChannel(const ClientOrigin&, const String& name, BroadcastChannelIdentifier) = 0; 42 virtual void postMessage(const ClientOrigin&, const String& name, BroadcastChannelIdentifier source, Ref<SerializedScriptValue>&&, CompletionHandler<void()>&&) = 0; 43 43 }; 44 44 -
trunk/Source/WebCore/loader/EmptyClients.cpp
r281832 r282105 1175 1175 EmptyBroadcastChannelRegistry() = default; 1176 1176 1177 void registerChannel(const SecurityOriginData&, const String&, BroadcastChannelIdentifier) final { }1178 void unregisterChannel(const SecurityOriginData&, const String&, BroadcastChannelIdentifier) final { }1179 void postMessage(const SecurityOriginData&, const String&, BroadcastChannelIdentifier, Ref<SerializedScriptValue>&&, CompletionHandler<void()>&&) final { }1177 void registerChannel(const ClientOrigin&, const String&, BroadcastChannelIdentifier) final { } 1178 void unregisterChannel(const ClientOrigin&, const String&, BroadcastChannelIdentifier) final { } 1179 void postMessage(const ClientOrigin&, const String&, BroadcastChannelIdentifier, Ref<SerializedScriptValue>&&, CompletionHandler<void()>&&) final { } 1180 1180 }; 1181 1181 -
trunk/Source/WebKit/ChangeLog
r282090 r282105 1 2021-09-07 Chris Dumez <cdumez@apple.com> 2 3 Implement origin partitioning (top-origin/frame-origin) for BroadcastChannel 4 https://bugs.webkit.org/show_bug.cgi?id=229814 5 6 Reviewed by Alex Christensen. 7 8 Implement origin partitioning (top-origin/frame-origin) for BroadcastChannel to address privacy 9 concerns, as discussed here: 10 - https://github.com/whatwg/html/issues/5803 11 12 * NetworkProcess/NetworkBroadcastChannelRegistry.cpp: 13 (WebKit::NetworkBroadcastChannelRegistry::registerChannel): 14 (WebKit::NetworkBroadcastChannelRegistry::unregisterChannel): 15 (WebKit::NetworkBroadcastChannelRegistry::postMessage): 16 (WebKit::NetworkBroadcastChannelRegistry::removeConnection): 17 * NetworkProcess/NetworkBroadcastChannelRegistry.h: 18 * NetworkProcess/NetworkBroadcastChannelRegistry.messages.in: 19 * WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.cpp: 20 (WebKit::WebBroadcastChannelRegistry::registerChannel): 21 (WebKit::WebBroadcastChannelRegistry::unregisterChannel): 22 (WebKit::WebBroadcastChannelRegistry::postMessage): 23 * WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.h: 24 1 25 2021-09-07 Wenson Hsieh <wenson_hsieh@apple.com> 2 26 -
trunk/Source/WebKit/NetworkProcess/NetworkBroadcastChannelRegistry.cpp
r280547 r282105 35 35 NetworkBroadcastChannelRegistry::NetworkBroadcastChannelRegistry() = default; 36 36 37 void NetworkBroadcastChannelRegistry::registerChannel(IPC::Connection& connection, const WebCore:: SecurityOriginData& origin, const String& name, WebCore::BroadcastChannelIdentifier channelIdentifier)37 void NetworkBroadcastChannelRegistry::registerChannel(IPC::Connection& connection, const WebCore::ClientOrigin& origin, const String& name, WebCore::BroadcastChannelIdentifier channelIdentifier) 38 38 { 39 39 auto& channelsForOrigin = m_broadcastChannels.ensure(origin, [] { return NameToChannelIdentifiersMap { }; }).iterator->value; … … 44 44 } 45 45 46 void NetworkBroadcastChannelRegistry::unregisterChannel(IPC::Connection& connection, const WebCore:: SecurityOriginData& origin, const String& name, WebCore::BroadcastChannelIdentifier channelIdentifier)46 void NetworkBroadcastChannelRegistry::unregisterChannel(IPC::Connection& connection, const WebCore::ClientOrigin& origin, const String& name, WebCore::BroadcastChannelIdentifier channelIdentifier) 47 47 { 48 48 auto channelsForOriginIterator = m_broadcastChannels.find(origin); … … 60 60 } 61 61 62 void NetworkBroadcastChannelRegistry::postMessage(IPC::Connection& connection, const WebCore:: SecurityOriginData& origin, const String& name, WebCore::BroadcastChannelIdentifier source, WebCore::MessageWithMessagePorts&& message, CompletionHandler<void()>&& completionHandler)62 void NetworkBroadcastChannelRegistry::postMessage(IPC::Connection& connection, const WebCore::ClientOrigin& origin, const String& name, WebCore::BroadcastChannelIdentifier source, WebCore::MessageWithMessagePorts&& message, CompletionHandler<void()>&& completionHandler) 63 63 { 64 64 auto channelsForOriginIterator = m_broadcastChannels.find(origin); … … 87 87 void NetworkBroadcastChannelRegistry::removeConnection(IPC::Connection& connection) 88 88 { 89 Vector<WebCore:: SecurityOriginData> originsToRemove;89 Vector<WebCore::ClientOrigin> originsToRemove; 90 90 for (auto& entry : m_broadcastChannels) { 91 91 Vector<String> namesToRemove; -
trunk/Source/WebKit/NetworkProcess/NetworkBroadcastChannelRegistry.h
r280547 r282105 28 28 #include "Connection.h" 29 29 #include <WebCore/BroadcastChannelIdentifier.h> 30 #include <WebCore/ SecurityOriginData.h>30 #include <WebCore/ClientOrigin.h> 31 31 #include <wtf/HashMap.h> 32 32 … … 46 46 void didReceiveMessage(IPC::Connection&, IPC::Decoder&); 47 47 48 void registerChannel(IPC::Connection&, const WebCore:: SecurityOriginData&, const String& name, WebCore::BroadcastChannelIdentifier);49 void unregisterChannel(IPC::Connection&, const WebCore:: SecurityOriginData&, const String& name, WebCore::BroadcastChannelIdentifier);50 void postMessage(IPC::Connection&, const WebCore:: SecurityOriginData&, const String& name, WebCore::BroadcastChannelIdentifier source, WebCore::MessageWithMessagePorts&&, CompletionHandler<void()>&&);48 void registerChannel(IPC::Connection&, const WebCore::ClientOrigin&, const String& name, WebCore::BroadcastChannelIdentifier); 49 void unregisterChannel(IPC::Connection&, const WebCore::ClientOrigin&, const String& name, WebCore::BroadcastChannelIdentifier); 50 void postMessage(IPC::Connection&, const WebCore::ClientOrigin&, const String& name, WebCore::BroadcastChannelIdentifier source, WebCore::MessageWithMessagePorts&&, CompletionHandler<void()>&&); 51 51 52 52 private: … … 61 61 }; 62 62 63 // FIXME: BroadcastChannel needs partitioning (https://github.com/whatwg/html/issues/5803).64 63 using NameToChannelIdentifiersMap = HashMap<String, Vector<GlobalBroadcastChannelIdentifier>>; 65 HashMap<WebCore:: SecurityOriginData, NameToChannelIdentifiersMap> m_broadcastChannels;64 HashMap<WebCore::ClientOrigin, NameToChannelIdentifiersMap> m_broadcastChannels; 66 65 }; 67 66 -
trunk/Source/WebKit/NetworkProcess/NetworkBroadcastChannelRegistry.messages.in
r280547 r282105 22 22 23 23 messages -> NetworkBroadcastChannelRegistry NotRefCounted { 24 RegisterChannel(struct WebCore:: SecurityOriginDataorigin, String name, WebCore::BroadcastChannelIdentifier channelIdentifier) WantsConnection25 UnregisterChannel(struct WebCore:: SecurityOriginDataorigin, String name, WebCore::BroadcastChannelIdentifier channelIdentifier) WantsConnection26 PostMessage(struct WebCore:: SecurityOriginDataorigin, String name, WebCore::BroadcastChannelIdentifier source, struct WebCore::MessageWithMessagePorts message) -> () Async WantsConnection24 RegisterChannel(struct WebCore::ClientOrigin origin, String name, WebCore::BroadcastChannelIdentifier channelIdentifier) WantsConnection 25 UnregisterChannel(struct WebCore::ClientOrigin origin, String name, WebCore::BroadcastChannelIdentifier channelIdentifier) WantsConnection 26 PostMessage(struct WebCore::ClientOrigin origin, String name, WebCore::BroadcastChannelIdentifier source, struct WebCore::MessageWithMessagePorts message) -> () Async WantsConnection 27 27 } -
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.cpp
r280547 r282105 40 40 } 41 41 42 void WebBroadcastChannelRegistry::registerChannel(const WebCore:: SecurityOriginData& origin, const String& name, WebCore::BroadcastChannelIdentifier identifier)42 void WebBroadcastChannelRegistry::registerChannel(const WebCore::ClientOrigin& origin, const String& name, WebCore::BroadcastChannelIdentifier identifier) 43 43 { 44 44 networkProcessConnection().send(Messages::NetworkBroadcastChannelRegistry::RegisterChannel { origin, name, identifier }, 0); 45 45 } 46 46 47 void WebBroadcastChannelRegistry::unregisterChannel(const WebCore:: SecurityOriginData& origin, const String& name, WebCore::BroadcastChannelIdentifier identifier)47 void WebBroadcastChannelRegistry::unregisterChannel(const WebCore::ClientOrigin& origin, const String& name, WebCore::BroadcastChannelIdentifier identifier) 48 48 { 49 49 networkProcessConnection().send(Messages::NetworkBroadcastChannelRegistry::UnregisterChannel { origin, name, identifier }, 0); 50 50 } 51 51 52 void WebBroadcastChannelRegistry::postMessage(const WebCore:: SecurityOriginData& origin, const String& name, WebCore::BroadcastChannelIdentifier source, Ref<WebCore::SerializedScriptValue>&& message, CompletionHandler<void()>&& completionHandler)52 void WebBroadcastChannelRegistry::postMessage(const WebCore::ClientOrigin& origin, const String& name, WebCore::BroadcastChannelIdentifier source, Ref<WebCore::SerializedScriptValue>&& message, CompletionHandler<void()>&& completionHandler) 53 53 { 54 54 networkProcessConnection().sendWithAsyncReply(Messages::NetworkBroadcastChannelRegistry::PostMessage { origin, name, source, WebCore::MessageWithMessagePorts { WTFMove(message), { } } }, WTFMove(completionHandler), 0); -
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebBroadcastChannelRegistry.h
r280547 r282105 42 42 } 43 43 44 void registerChannel(const WebCore:: SecurityOriginData&, const String& name, WebCore::BroadcastChannelIdentifier) final;45 void unregisterChannel(const WebCore:: SecurityOriginData&, const String& name, WebCore::BroadcastChannelIdentifier) final;46 void postMessage(const WebCore:: SecurityOriginData&, const String& name, WebCore::BroadcastChannelIdentifier source, Ref<WebCore::SerializedScriptValue>&&, CompletionHandler<void()>&&) final;44 void registerChannel(const WebCore::ClientOrigin&, const String& name, WebCore::BroadcastChannelIdentifier) final; 45 void unregisterChannel(const WebCore::ClientOrigin&, const String& name, WebCore::BroadcastChannelIdentifier) final; 46 void postMessage(const WebCore::ClientOrigin&, const String& name, WebCore::BroadcastChannelIdentifier source, Ref<WebCore::SerializedScriptValue>&&, CompletionHandler<void()>&&) final; 47 47 48 48 void didReceiveMessage(IPC::Connection&, IPC::Decoder&); -
trunk/Source/WebKitLegacy/ChangeLog
r281725 r282105 1 2021-09-07 Chris Dumez <cdumez@apple.com> 2 3 Implement origin partitioning (top-origin/frame-origin) for BroadcastChannel 4 https://bugs.webkit.org/show_bug.cgi?id=229814 5 6 Reviewed by Alex Christensen. 7 8 Implement origin partitioning (top-origin/frame-origin) for BroadcastChannel to address privacy 9 concerns, as discussed here: 10 - https://github.com/whatwg/html/issues/5803 11 12 * WebCoreSupport/WebBroadcastChannelRegistry.cpp: 13 (WebBroadcastChannelRegistry::registerChannel): 14 (WebBroadcastChannelRegistry::unregisterChannel): 15 (WebBroadcastChannelRegistry::postMessage): 16 * WebCoreSupport/WebBroadcastChannelRegistry.h: 17 1 18 2021-08-27 Russell Epstein <repstein@apple.com> 2 19 -
trunk/Source/WebKitLegacy/WebCoreSupport/WebBroadcastChannelRegistry.cpp
r280547 r282105 45 45 } 46 46 47 void WebBroadcastChannelRegistry::registerChannel(const WebCore:: SecurityOriginData& origin, const String& name, WebCore::BroadcastChannelIdentifier identifier)47 void WebBroadcastChannelRegistry::registerChannel(const WebCore::ClientOrigin& origin, const String& name, WebCore::BroadcastChannelIdentifier identifier) 48 48 { 49 49 ASSERT(isMainThread()); … … 54 54 } 55 55 56 void WebBroadcastChannelRegistry::unregisterChannel(const WebCore:: SecurityOriginData& origin, const String& name, WebCore::BroadcastChannelIdentifier identifier)56 void WebBroadcastChannelRegistry::unregisterChannel(const WebCore::ClientOrigin& origin, const String& name, WebCore::BroadcastChannelIdentifier identifier) 57 57 { 58 58 ASSERT(isMainThread()); … … 67 67 } 68 68 69 void WebBroadcastChannelRegistry::postMessage(const WebCore:: SecurityOriginData& origin, const String& name, WebCore::BroadcastChannelIdentifier source, Ref<WebCore::SerializedScriptValue>&& message, CompletionHandler<void()>&& completionHandler)69 void WebBroadcastChannelRegistry::postMessage(const WebCore::ClientOrigin& origin, const String& name, WebCore::BroadcastChannelIdentifier source, Ref<WebCore::SerializedScriptValue>&& message, CompletionHandler<void()>&& completionHandler) 70 70 { 71 71 ASSERT(isMainThread()); -
trunk/Source/WebKitLegacy/WebCoreSupport/WebBroadcastChannelRegistry.h
r280547 r282105 25 25 26 26 #include <WebCore/BroadcastChannelRegistry.h> 27 #include <WebCore/ SecurityOriginData.h>27 #include <WebCore/ClientOrigin.h> 28 28 #include <wtf/Forward.h> 29 29 #include <wtf/WeakPtr.h> … … 35 35 static Ref<WebBroadcastChannelRegistry> getOrCreate(bool privateSession); 36 36 37 void registerChannel(const WebCore:: SecurityOriginData&, const String& name, WebCore::BroadcastChannelIdentifier) final;38 void unregisterChannel(const WebCore:: SecurityOriginData&, const String& name, WebCore::BroadcastChannelIdentifier) final;39 void postMessage(const WebCore:: SecurityOriginData&, const String& name, WebCore::BroadcastChannelIdentifier source, Ref<WebCore::SerializedScriptValue>&&, CompletionHandler<void()>&&) final;37 void registerChannel(const WebCore::ClientOrigin&, const String& name, WebCore::BroadcastChannelIdentifier) final; 38 void unregisterChannel(const WebCore::ClientOrigin&, const String& name, WebCore::BroadcastChannelIdentifier) final; 39 void postMessage(const WebCore::ClientOrigin&, const String& name, WebCore::BroadcastChannelIdentifier source, Ref<WebCore::SerializedScriptValue>&&, CompletionHandler<void()>&&) final; 40 40 41 41 private: 42 42 WebBroadcastChannelRegistry() = default; 43 43 44 // FIXME: BroadcastChannel needs partitioning (https://github.com/whatwg/html/issues/5803).45 44 using NameToChannelIdentifiersMap = HashMap<String, Vector<WebCore::BroadcastChannelIdentifier>>; 46 HashMap<WebCore:: SecurityOriginData, NameToChannelIdentifiersMap> m_channels;45 HashMap<WebCore::ClientOrigin, NameToChannelIdentifiersMap> m_channels; 47 46 }; -
trunk/Tools/ChangeLog
r282103 r282105 1 2021-09-07 Chris Dumez <cdumez@apple.com> 2 3 Implement origin partitioning (top-origin/frame-origin) for BroadcastChannel 4 https://bugs.webkit.org/show_bug.cgi?id=229814 5 6 Reviewed by Alex Christensen. 7 8 Disable BroadcastChannel origin partitioning when running layout tests since it would cause 9 too many test failures in WPT tests at this point (e.g. COOP/COEP tests). 10 11 * TestRunnerShared/TestFeatures.cpp: 12 (WTR::shouldDisableBroadcastChannelOriginPartitioning): 13 (WTR::hardcodedFeaturesBasedOnPathForTest): 14 * WebKitTestRunner/TestController.cpp: 15 (WTR::TestController::resetPreferencesToConsistentValues): 16 * WebKitTestRunner/TestOptions.cpp: 17 (WTR::TestOptions::defaults): 18 1 19 2021-09-07 Chris Dumez <cdumez@apple.com> 2 20 -
trunk/Tools/WebKitTestRunner/TestOptions.cpp
r281461 r282105 65 65 { "AsyncFrameScrollingEnabled", false }, 66 66 { "AsyncOverflowScrollingEnabled", false }, 67 { "BroadcastChannelOriginPartitioningEnabled", false }, 67 68 { "CSSOMViewScrollingAPIEnabled", true }, 68 69 { "CaptureAudioInGPUProcessEnabled", captureAudioInGPUProcessEnabledValue },
Note: See TracChangeset
for help on using the changeset viewer.