Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 15833c2f7cc627678879ff0ef206e481a0d2a605 https://github.com/WebKit/WebKit/commit/15833c2f7cc627678879ff0ef206e481a0d2a605 Author: Youenn Fablet <youe...@gmail.com> Date: 2023-06-22 (Thu, 22 Jun 2023)
Changed paths: M Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h M Source/WebKit/Configurations/WebKit.xcconfig M Source/WebKit/NetworkProcess/webrtc/NetworkRTCMonitor.cpp M Source/WebKit/NetworkProcess/webrtc/NetworkRTCMonitor.h M Source/WebKit/NetworkProcess/webrtc/NetworkRTCMonitor.messages.in M Source/WebKit/NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.h M Source/WebKit/NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm M Source/WebKit/Platform/spi/Cocoa/NWSPI.h M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetwork.cpp M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetwork.h M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetwork.messages.in M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetworkManager.cpp M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetworkManager.h M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.h M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocket.cpp M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocket.h M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.h M Source/WebKit/WebProcess/Network/webrtc/WebRTCMonitor.cpp M Source/WebKit/WebProcess/Network/webrtc/WebRTCMonitor.h M Source/WebKit/WebProcess/WebPage/WebPage.cpp Log Message: ----------- Allow WebRTC UDP traffic to use interfaces already used by TCP traffic https://bugs.webkit.org/show_bug.cgi?id=258278 rdar://problem/111000448 Reviewed by Eric Carlson. Detect WebRTC TCP connection interface to TCP TURN servers. Enable these interfaces for ICE as a heuristic to detect partial duplex VPNs. These interfaces will only be used in case mDNS candidates are not used (i.e. when getUserMedia access is granted). To support this, we are now sending all interfaces to WebProcess and are doing the filtering there instead of within network process. This ability is behind an internal feature flag, off by default for now. Manually tested. * Source/ThirdParty/libwebrtc/Configurations/libwebrtc.exp: * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: (WebCore::LibWebRTCMediaEndpoint::setConfiguration): * Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: (WebCore::LibWebRTCProvider::enableEnumeratingVisibleNetworkInterfaces): (WebCore::LibWebRTCProvider::createSocketFactory): * Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h: * Source/WebKit/Configurations/WebKit.xcconfig: * Source/WebKit/NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.h: * Source/WebKit/NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.mm: (WebKit::NetworkRTCTCPSocketCocoa::NetworkRTCTCPSocketCocoa): * Source/WebKit/Platform/spi/Cocoa/NWSPI.h: * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetwork.cpp: (WebKit::LibWebRTCNetwork::signalUsedInterface): * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetwork.h: * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetwork.messages.in: * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetworkManager.cpp: (WebKit::LibWebRTCNetworkManager::signalUsedInterface): (WebKit::LibWebRTCNetworkManager::setEnumeratingAllNetworkInterfacesEnabled): (WebKit::LibWebRTCNetworkManager::setEnumeratingVisibleNetworkInterfacesEnabled): (WebKit::LibWebRTCNetworkManager::networksChanged): * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetworkManager.h: * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp: (WebKit::LibWebRTCProvider::createPeerConnection): (WebKit::RTCSocketFactory::RTCSocketFactory): (WebKit::RTCSocketFactory::CreateUdpSocket): (WebKit::RTCSocketFactory::CreateClientTcpSocket): (WebKit::RTCSocketFactory::suspend): (WebKit::RTCSocketFactory::resume): (WebKit::LibWebRTCProvider::createSocketFactory): * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.h: * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocket.cpp: (WebKit::LibWebRTCSocket::LibWebRTCSocket): (WebKit::LibWebRTCSocket::signalClose): (WebKit::LibWebRTCSocket::signalUsedInterface): * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocket.h: * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp: (WebKit::LibWebRTCSocketFactory::createUdpSocket): (WebKit::LibWebRTCSocketFactory::createClientTcpSocket): (WebKit::LibWebRTCSocketFactory::createNewConnectionSocket): (WebKit::LibWebRTCSocketFactory::forSocketInGroup): * Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.h: * Source/WebKit/WebProcess/Network/webrtc/WebRTCMonitor.cpp: (WebKit::WebRTCMonitor::startUpdating): (WebKit::WebRTCMonitor::networksChanged): (WebKit::WebRTCMonitor::setEnumeratingAllNetworkInterfacesEnabled): Deleted. * Source/WebKit/WebProcess/Network/webrtc/WebRTCMonitor.h: * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::m_appHighlightsVisible): Canonical link: https://commits.webkit.org/265407@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes