Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fb5c6b1cd67e74114df904d35df8bfcfba6c144c
      
https://github.com/WebKit/WebKit/commit/fb5c6b1cd67e74114df904d35df8bfcfba6c144c
  Author: Youenn Fablet <youe...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to