[webkit-changes] [WebKit/WebKit] fb5c6b: Switch to libwebrtc new DNS resolver interface
youennf
noreply at github.com
Thu Dec 14 04:19:00 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fb5c6b1cd67e74114df904d35df8bfcfba6c144c
https://github.com/WebKit/WebKit/commit/fb5c6b1cd67e74114df904d35df8bfcfba6c144c
Author: Youenn Fablet <youennf at gmail.com>
Date: 2023-12-14 (Thu, 14 Dec 2023)
Changed paths:
M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp
M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
A Source/WebKit/WebProcess/Network/webrtc/LibWebRTCDnsResolverFactory.cpp
A Source/WebKit/WebProcess/Network/webrtc/LibWebRTCDnsResolverFactory.h
M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp
M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCResolver.cpp
M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCResolver.h
M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp
M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.h
M Source/WebKit/WebProcess/Network/webrtc/WebRTCResolver.cpp
Log Message:
-----------
Switch to libwebrtc new DNS resolver interface
https://bugs.webkit.org/show_bug.cgi?id=265791
rdar://119133276
Reviewed by Eric Carlson.
Migrate code from deprecated webrtc::AsyncResolverFactory to webrtc::AsyncDnsResolverFactory.
This in particular simplifies how we do memory management, since the peer connection factory is now owned by the peer connection.
We keep using a map of WeakPtr to allow to handle IPC responses from network process.
We work around a header conflict between SDK and libwebrtc by isolating absl::InvokeCall in LibWebRTCDnsResolverFactory.cpp.
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::createPeerConnection):
* Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h:
* Source/WebKit/Sources.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCDnsResolverFactory.cpp: Added.
(WebKit::LibWebRTCDnsResolverFactory::CreateAndResolve):
(WebKit::LibWebRTCDnsResolverFactory::Create):
(WebKit::LibWebRTCDnsResolverFactory::Resolver::Start):
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCDnsResolverFactory.h: Added.
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp:
(WebKit::LibWebRTCProvider::createPeerConnection):
(WebKit::RTCSocketFactory::CreateAsyncDnsResolver):
(WebKit::RTCSocketFactory::CreateAsyncResolver): Deleted.
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCResolver.cpp:
(WebKit::LibWebRTCResolver::~LibWebRTCResolver):
(WebKit::LibWebRTCResolver::start):
(WebKit::LibWebRTCResolver::result const):
(WebKit::LibWebRTCResolver::setResolvedAddress):
(WebKit::LibWebRTCResolver::setError):
(WebKit::LibWebRTCResolver::Start): Deleted.
(WebKit::LibWebRTCResolver::Destroy): Deleted.
(WebKit::LibWebRTCResolver::doDestroy): Deleted.
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCResolver.h:
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp:
(WebKit::LibWebRTCSocketFactory::createAsyncDnsResolver):
(WebKit::LibWebRTCSocketFactory::createAsyncResolver): Deleted.
* Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.h:
(WebKit::LibWebRTCSocketFactory::resolver):
(WebKit::LibWebRTCSocketFactory::removeResolver):
(WebKit::LibWebRTCSocketFactory::takeResolver): Deleted.
* Source/WebKit/WebProcess/Network/webrtc/WebRTCResolver.cpp:
(WebKit::WebRTCResolver::setResolvedAddress):
(WebKit::WebRTCResolver::resolvedAddressError):
Canonical link: https://commits.webkit.org/272029@main
More information about the webkit-changes
mailing list