Changeset 248592 in webkit
- Timestamp:
- Aug 13, 2019 1:54:27 AM (5 years ago)
- Location:
- trunk/Source
- Files:
-
- 1 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/ThirdParty/libwebrtc/ChangeLog
r248165 r248592 1 2019-08-13 Youenn Fablet <youenn@apple.com> 2 3 User Agent and SessionID should be given to NetworkRTCProvider to set up the correct proxy information 4 https://bugs.webkit.org/show_bug.cgi?id=200583 5 6 Reviewed by Eric Carlson. 7 8 Export of some symbols. 9 10 * Configurations/libwebrtc.iOS.exp: 11 * Configurations/libwebrtc.iOSsim.exp: 12 * Configurations/libwebrtc.mac.exp: 13 1 14 2019-08-02 Youenn Fablet <youenn@apple.com> 2 15 -
trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOS.exp
r247438 r248592 249 249 __ZN3rtc10LogMessage12SetLogOutputENS_15LoggingSeverityEPFvS1_PKcE 250 250 __ZN6webrtc13CryptoOptions5NoGcmEv 251 __ZTVN3rtc23InsecureCryptStringImplE 252 __ZN3rtc11CryptStringC1ERKNS_15CryptStringImplE 253 __ZN3rtc13SocketAddressC1ERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEi 254 __ZN3rtc11CryptStringD1Ev 255 __ZN3rtc11CryptStringC1ERKS0_ -
trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.iOSsim.exp
r247438 r248592 250 250 __ZN3rtc10LogMessage12SetLogOutputENS_15LoggingSeverityEPFvS1_PKcE 251 251 __ZN6webrtc13CryptoOptions5NoGcmEv 252 __ZTVN3rtc23InsecureCryptStringImplE 253 __ZN3rtc11CryptStringC1ERKNS_15CryptStringImplE 254 __ZN3rtc13SocketAddressC1ERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEi 255 __ZN3rtc11CryptStringD1Ev 256 __ZN3rtc11CryptStringC1ERKS0_ -
trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.mac.exp
r247438 r248592 250 250 __ZN3rtc10LogMessage12SetLogOutputENS_15LoggingSeverityEPFvS1_PKcE 251 251 __ZN6webrtc13CryptoOptions5NoGcmEv 252 __ZTVN3rtc23InsecureCryptStringImplE 253 __ZN3rtc11CryptStringC1ERKNS_15CryptStringImplE 254 __ZN3rtc13SocketAddressC1ERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEi 255 __ZN3rtc11CryptStringD1Ev 256 __ZN3rtc11CryptStringC1ERKS0_ -
trunk/Source/WebCore/ChangeLog
r248591 r248592 1 2019-08-13 Youenn Fablet <youenn@apple.com> 2 3 User Agent and SessionID should be given to NetworkRTCProvider to set up the correct proxy information 4 https://bugs.webkit.org/show_bug.cgi?id=200583 5 6 Reviewed by Eric Carlson. 7 8 Use a socket factory that is specific to the user agent and session ID. 9 This factory is stored in the media endpoint. 10 Not testable without proxy infrastructure. 11 12 * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: 13 (WebCore::LibWebRTCMediaEndpoint::setConfiguration): 14 * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h: 15 * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: 16 (WebCore::LibWebRTCProvider::createPeerConnection): 17 * platform/mediastream/libwebrtc/LibWebRTCProvider.h: 18 1 19 2019-08-12 Ryosuke Niwa <rniwa@webkit.org> 2 20 -
trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp
r246436 r248592 87 87 88 88 if (!m_backend) { 89 m_backend = client.createPeerConnection(*this, WTFMove(configuration)); 89 if (!m_rtcSocketFactory) { 90 auto& document = downcast<Document>(*m_peerConnectionBackend.connection().scriptExecutionContext()); 91 m_rtcSocketFactory = client.createSocketFactory(document.sessionID(), document.userAgent(document.url())); 92 } 93 m_backend = client.createPeerConnection(*this, m_rtcSocketFactory.get(), WTFMove(configuration)); 90 94 return !!m_backend; 91 95 } -
trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h
r244736 r248592 199 199 HashMap<String, rtc::scoped_refptr<webrtc::MediaStreamInterface>> m_localStreams; 200 200 201 std::unique_ptr<rtc::PacketSocketFactory> m_rtcSocketFactory; 201 202 #if !RELEASE_LOG_DISABLED 202 203 int64_t m_statsFirstDeliveredTimestamp { 0 }; -
trunk/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp
r247438 r248592 282 282 } 283 283 284 rtc::scoped_refptr<webrtc::PeerConnectionInterface> LibWebRTCProvider::createPeerConnection(webrtc::PeerConnectionObserver& observer, webrtc::PeerConnectionInterface::RTCConfiguration&& configuration)284 rtc::scoped_refptr<webrtc::PeerConnectionInterface> LibWebRTCProvider::createPeerConnection(webrtc::PeerConnectionObserver& observer, rtc::PacketSocketFactory*, webrtc::PeerConnectionInterface::RTCConfiguration&& configuration) 285 285 { 286 286 // Default WK1 implementation. -
trunk/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h
r247438 r248592 92 92 93 93 #if USE(LIBWEBRTC) 94 virtual rtc::scoped_refptr<webrtc::PeerConnectionInterface> createPeerConnection(webrtc::PeerConnectionObserver&, webrtc::PeerConnectionInterface::RTCConfiguration&&);94 virtual rtc::scoped_refptr<webrtc::PeerConnectionInterface> createPeerConnection(webrtc::PeerConnectionObserver&, rtc::PacketSocketFactory*, webrtc::PeerConnectionInterface::RTCConfiguration&&); 95 95 96 96 webrtc::PeerConnectionFactoryInterface* factory(); … … 118 118 void setEnableLogging(bool); 119 119 void setEnableWebRTCEncryption(bool); 120 121 virtual std::unique_ptr<rtc::PacketSocketFactory> createSocketFactory(PAL::SessionID, String&& /* userAgent */) { return nullptr; } 120 122 121 123 protected: -
trunk/Source/WebKit/ChangeLog
r248585 r248592 1 2019-08-13 Youenn Fablet <youenn@apple.com> 2 3 User Agent and SessionID should be given to NetworkRTCProvider to set up the correct proxy information 4 https://bugs.webkit.org/show_bug.cgi?id=200583 5 6 Reviewed by Eric Carlson. 7 8 Pass session id and user agent whenever creating a TCP client socket. 9 Use this information to get the proxy information from NetworkSession and pass it to libwebrtc socket creation. 10 11 * NetworkProcess/cocoa/NetworkSessionCocoa.h: 12 * NetworkProcess/webrtc/NetworkRTCProvider.cpp: 13 (WebKit::NetworkRTCProvider::proxyInfoFromSession): 14 (WebKit::NetworkRTCProvider::createClientTCPSocket): 15 * NetworkProcess/webrtc/NetworkRTCProvider.h: 16 * NetworkProcess/webrtc/NetworkRTCProvider.messages.in: 17 * WebKit.xcodeproj/project.pbxproj: 18 * NetworkProcess/webrtc/NetworkRTCProvider.mm: Added. 19 (WebKit::NetworkRTCProvider::proxyInfoFromSession): 20 * WebProcess/Network/webrtc/LibWebRTCProvider.cpp: 21 (WebKit::LibWebRTCProvider::createPeerConnection): 22 (WebKit::LibWebRTCProvider::createSocketFactory): 23 * WebProcess/Network/webrtc/LibWebRTCProvider.h: 24 * WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp: 25 (WebKit::LibWebRTCSocketFactory::createServerTcpSocket): 26 (WebKit::LibWebRTCSocketFactory::createUdpSocket): 27 (WebKit::LibWebRTCSocketFactory::createClientTcpSocket): 28 (WebKit::LibWebRTCSocketFactory::createAsyncResolver): 29 * WebProcess/Network/webrtc/LibWebRTCSocketFactory.h: 30 1 31 2019-08-12 Chris Dumez <cdumez@apple.com> 2 32 -
trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h
r247831 r248592 82 82 DMFWebsitePolicyMonitor *deviceManagementPolicyMonitor(); 83 83 84 CFDictionaryRef proxyConfiguration() const { return m_proxyConfiguration.get(); } 85 84 86 private: 85 87 void invalidateAndCancel() override; -
trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp
r246797 r248592 130 130 } 131 131 132 void NetworkRTCProvider::createClientTCPSocket(uint64_t identifier, const RTCNetwork::SocketAddress& localAddress, const RTCNetwork::SocketAddress& remoteAddress, int options) 133 { 134 callOnRTCNetworkThread([this, identifier, localAddress = RTCNetwork::isolatedCopy(localAddress.value), remoteAddress = RTCNetwork::isolatedCopy(remoteAddress.value), options]() { 135 std::unique_ptr<rtc::AsyncPacketSocket> socket(m_packetSocketFactory->CreateClientTcpSocket(localAddress, remoteAddress, { }, { }, options)); 132 #if !PLATFORM(COCOA) 133 rtc::ProxyInfo NetworkRTCProvider::proxyInfoFromSession(const RTCNetwork::SocketAddress&, NetworkSession&) 134 { 135 return { }; 136 } 137 #endif 138 139 void NetworkRTCProvider::createClientTCPSocket(uint64_t identifier, const RTCNetwork::SocketAddress& localAddress, const RTCNetwork::SocketAddress& remoteAddress, PAL::SessionID sessionID, String&& userAgent, int options) 140 { 141 auto* session = m_connection->networkProcess().networkSession(sessionID); 142 if (!session) { 143 m_connection->connection().send(Messages::WebRTCSocket::SignalClose(1), identifier); 144 return; 145 } 146 callOnRTCNetworkThread([this, identifier, localAddress = RTCNetwork::isolatedCopy(localAddress.value), remoteAddress = RTCNetwork::isolatedCopy(remoteAddress.value), proxyInfo = proxyInfoFromSession(remoteAddress, *session), userAgent = WTFMove(userAgent).isolatedCopy(), options]() { 147 std::unique_ptr<rtc::AsyncPacketSocket> socket(m_packetSocketFactory->CreateClientTcpSocket(localAddress, remoteAddress, proxyInfo, userAgent.utf8().data(), options)); 136 148 createSocket(identifier, WTFMove(socket), LibWebRTCSocketClient::Type::ClientTCP); 137 149 }); -
trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.h
r237075 r248592 32 32 #include "RTCNetwork.h" 33 33 #include <WebCore/LibWebRTCMacros.h> 34 #include <pal/SessionID.h> 34 35 #include <webrtc/p2p/base/basicpacketsocketfactory.h> 35 36 #include <webrtc/rtc_base/third_party/sigslot/sigslot.h> … … 48 49 class NetworkRTCResolver; 49 50 class NetworkRTCSocket; 51 class NetworkSession; 50 52 51 53 class NetworkRTCProvider : public ThreadSafeRefCounted<NetworkRTCProvider>, public rtc::MessageHandler { … … 76 78 77 79 void createUDPSocket(uint64_t, const RTCNetwork::SocketAddress&, uint16_t, uint16_t); 78 void createClientTCPSocket(uint64_t, const RTCNetwork::SocketAddress&, const RTCNetwork::SocketAddress&, int);80 void createClientTCPSocket(uint64_t, const RTCNetwork::SocketAddress&, const RTCNetwork::SocketAddress&, PAL::SessionID, String&& userAgent, int); 79 81 void createServerTCPSocket(uint64_t, const RTCNetwork::SocketAddress&, uint16_t minPort, uint16_t maxPort, int); 80 82 void wrapNewTCPConnection(uint64_t identifier, uint64_t newConnectionSocketIdentifier); … … 88 90 89 91 void OnMessage(rtc::Message*); 92 93 static rtc::ProxyInfo proxyInfoFromSession(const RTCNetwork::SocketAddress&, NetworkSession&); 90 94 91 95 HashMap<uint64_t, std::unique_ptr<NetworkRTCResolver>> m_resolvers; -
trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.messages.in
r213104 r248592 26 26 CreateUDPSocket(int identifier, WebKit::RTCNetwork::SocketAddress localAddress, uint16_t minPort, uint16_t maxPort) 27 27 CreateServerTCPSocket(int identifier, WebKit::RTCNetwork::SocketAddress localAddress, uint16_t minPort, uint16_t maxPort, int options) 28 CreateClientTCPSocket(int identifier, WebKit::RTCNetwork::SocketAddress localAddress, WebKit::RTCNetwork::SocketAddress remoteAddress, int options)28 CreateClientTCPSocket(int identifier, WebKit::RTCNetwork::SocketAddress localAddress, WebKit::RTCNetwork::SocketAddress remoteAddress, PAL::SessionID sessionID, String userAgent, int options) 29 29 CreateResolver(uint64_t identifier, String address) 30 30 StopResolver(uint64_t identifier) -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r248422 r248592 884 884 414DEDD71F9EDDE50047C40D /* ServiceWorkerProcessProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 414DEDD51F9EDDDF0047C40D /* ServiceWorkerProcessProxy.h */; }; 885 885 4157E4B020E2ECDF00A6C0D7 /* com.google.o1dbrowserplugin.sb in Copy Plug-in Sandbox Profiles */ = {isa = PBXBuildFile; fileRef = 4157E4AF20E2EC9800A6C0D7 /* com.google.o1dbrowserplugin.sb */; }; 886 4176901422FDD41B00B1576D /* NetworkRTCProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4176901322FDD41B00B1576D /* NetworkRTCProvider.mm */; }; 886 887 417915AF2256BB7500D6F97E /* WebSocketChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 417915AD2256BB7400D6F97E /* WebSocketChannel.h */; }; 887 888 417915B12256C0D600D6F97E /* WebSocketChannelManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 417915B02256C0D600D6F97E /* WebSocketChannelManager.h */; }; … … 3128 3129 4157853021276B6F00DD3800 /* copy-webcontent-resources-to-private-headers.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "copy-webcontent-resources-to-private-headers.sh"; sourceTree = "<group>"; }; 3129 3130 4157E4AF20E2EC9800A6C0D7 /* com.google.o1dbrowserplugin.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = com.google.o1dbrowserplugin.sb; sourceTree = "<group>"; }; 3131 4176901322FDD41B00B1576D /* NetworkRTCProvider.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetworkRTCProvider.mm; sourceTree = "<group>"; }; 3130 3132 417915AC2256BB7400D6F97E /* WebSocketChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebSocketChannel.cpp; path = Network/WebSocketChannel.cpp; sourceTree = "<group>"; }; 3131 3133 417915AD2256BB7400D6F97E /* WebSocketChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebSocketChannel.h; path = Network/WebSocketChannel.h; sourceTree = "<group>"; }; … … 6551 6553 41DC45941E3D6E1E00B11F51 /* NetworkRTCProvider.h */, 6552 6554 41DC45981E3D6ED600B11F51 /* NetworkRTCProvider.messages.in */, 6555 4176901322FDD41B00B1576D /* NetworkRTCProvider.mm */, 6553 6556 4112B5471F9FD3AB00E67875 /* NetworkRTCResolver.cpp */, 6554 6557 4112B5481F9FD3AC00E67875 /* NetworkRTCResolver.h */, … … 11144 11147 E152551A17011819003D7ADB /* NetworkResourceLoaderMessageReceiver.cpp in Sources */, 11145 11148 51F060E11654318500F3281E /* NetworkRTCMonitorMessageReceiver.cpp in Sources */, 11149 4176901422FDD41B00B1576D /* NetworkRTCProvider.mm in Sources */, 11146 11150 51F060E11654318500F3282E /* NetworkRTCProviderMessageReceiver.cpp in Sources */, 11147 11151 51F060E11654318500F3281D /* NetworkRTCSocketMessageReceiver.cpp in Sources */, -
trunk/Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp
r237568 r248592 45 45 }; 46 46 47 rtc::scoped_refptr<webrtc::PeerConnectionInterface> LibWebRTCProvider::createPeerConnection(webrtc::PeerConnectionObserver& observer, webrtc::PeerConnectionInterface::RTCConfiguration&& configuration)47 rtc::scoped_refptr<webrtc::PeerConnectionInterface> LibWebRTCProvider::createPeerConnection(webrtc::PeerConnectionObserver& observer, rtc::PacketSocketFactory* socketFactory, webrtc::PeerConnectionInterface::RTCConfiguration&& configuration) 48 48 { 49 return WebCore::LibWebRTCProvider::createPeerConnection(observer, WebProcess::singleton().libWebRTCNetwork().monitor(), WebProcess::singleton().libWebRTCNetwork().socketFactory(), WTFMove(configuration), std::make_unique<AsyncResolverFactory>());49 return WebCore::LibWebRTCProvider::createPeerConnection(observer, WebProcess::singleton().libWebRTCNetwork().monitor(), *socketFactory, WTFMove(configuration), std::make_unique<AsyncResolverFactory>()); 50 50 } 51 51 … … 65 65 } 66 66 67 class RTCSocketFactory final : public rtc::PacketSocketFactory { 68 public: 69 RTCSocketFactory(PAL::SessionID sessionID, String&& userAgent) 70 : m_sessionID(sessionID) 71 , m_userAgent(WTFMove(userAgent)) 72 { 73 } 74 75 private: 76 rtc::AsyncPacketSocket* CreateUdpSocket(const rtc::SocketAddress& address, uint16_t minPort, uint16_t maxPort) final 77 { 78 return factory().createUdpSocket(address, minPort, maxPort); 79 } 80 81 rtc::AsyncPacketSocket* CreateServerTcpSocket(const rtc::SocketAddress& address, uint16_t minPort, uint16_t maxPort, int options) final 82 { 83 return factory().createServerTcpSocket(address, minPort, maxPort, options); 84 } 85 86 rtc::AsyncPacketSocket* CreateClientTcpSocket(const rtc::SocketAddress& localAddress, const rtc::SocketAddress& remoteAddress, const rtc::ProxyInfo&, const std::string&, int options) final 87 { 88 return factory().createClientTcpSocket(localAddress, remoteAddress, m_sessionID, String { m_userAgent }, options); 89 } 90 91 rtc::AsyncResolverInterface* CreateAsyncResolver() final 92 { 93 return factory().createAsyncResolver(); 94 } 95 96 LibWebRTCSocketFactory& factory() { return WebProcess::singleton().libWebRTCNetwork().socketFactory(); } 97 98 private: 99 PAL::SessionID m_sessionID; 100 String m_userAgent; 101 }; 102 103 std::unique_ptr<rtc::PacketSocketFactory> LibWebRTCProvider::createSocketFactory(PAL::SessionID sessionID, String&& userAgent) 104 { 105 return std::make_unique<RTCSocketFactory>(sessionID, WTFMove(userAgent)); 106 } 107 67 108 } // namespace WebKit 68 109 -
trunk/Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.h
r238161 r248592 51 51 52 52 private: 53 rtc::scoped_refptr<webrtc::PeerConnectionInterface> createPeerConnection(webrtc::PeerConnectionObserver&, webrtc::PeerConnectionInterface::RTCConfiguration&&) final; 53 std::unique_ptr<rtc::PacketSocketFactory> createSocketFactory(PAL::SessionID, String&& /* userAgent */) final; 54 55 rtc::scoped_refptr<webrtc::PeerConnectionInterface> createPeerConnection(webrtc::PeerConnectionObserver&, rtc::PacketSocketFactory*, webrtc::PeerConnectionInterface::RTCConfiguration&&) final; 54 56 55 57 void unregisterMDNSNames(uint64_t documentIdentifier) final; -
trunk/Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp
r232420 r248592 49 49 } 50 50 51 rtc::AsyncPacketSocket* LibWebRTCSocketFactory:: CreateServerTcpSocket(const rtc::SocketAddress& address, uint16_t minPort, uint16_t maxPort, int options)51 rtc::AsyncPacketSocket* LibWebRTCSocketFactory::createServerTcpSocket(const rtc::SocketAddress& address, uint16_t minPort, uint16_t maxPort, int options) 52 52 { 53 53 auto socket = std::make_unique<LibWebRTCSocket>(*this, ++s_uniqueSocketIdentifier, LibWebRTCSocket::Type::ServerTCP, address, rtc::SocketAddress()); … … 65 65 } 66 66 67 rtc::AsyncPacketSocket* LibWebRTCSocketFactory:: CreateUdpSocket(const rtc::SocketAddress& address, uint16_t minPort, uint16_t maxPort)67 rtc::AsyncPacketSocket* LibWebRTCSocketFactory::createUdpSocket(const rtc::SocketAddress& address, uint16_t minPort, uint16_t maxPort) 68 68 { 69 69 auto socket = std::make_unique<LibWebRTCSocket>(*this, ++s_uniqueSocketIdentifier, LibWebRTCSocket::Type::UDP, address, rtc::SocketAddress()); … … 79 79 } 80 80 81 rtc::AsyncPacketSocket* LibWebRTCSocketFactory:: CreateClientTcpSocket(const rtc::SocketAddress& localAddress, const rtc::SocketAddress& remoteAddress, const rtc::ProxyInfo&, const std::string&, int options)81 rtc::AsyncPacketSocket* LibWebRTCSocketFactory::createClientTcpSocket(const rtc::SocketAddress& localAddress, const rtc::SocketAddress& remoteAddress, PAL::SessionID sessionID, String&& userAgent, int options) 82 82 { 83 83 auto socket = std::make_unique<LibWebRTCSocket>(*this, ++s_uniqueSocketIdentifier, LibWebRTCSocket::Type::ClientTCP, localAddress, remoteAddress); … … 85 85 m_sockets.set(socket->identifier(), socket.get()); 86 86 87 callOnMainThread([identifier = socket->identifier(), localAddress = prepareSocketAddress(localAddress, m_disableNonLocalhostConnections), remoteAddress = prepareSocketAddress(remoteAddress, m_disableNonLocalhostConnections), options]() {88 if (!WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkRTCProvider::CreateClientTCPSocket(identifier, RTCNetwork::SocketAddress(localAddress), RTCNetwork::SocketAddress(remoteAddress), options), 0)) {87 callOnMainThread([identifier = socket->identifier(), localAddress = prepareSocketAddress(localAddress, m_disableNonLocalhostConnections), remoteAddress = prepareSocketAddress(remoteAddress, m_disableNonLocalhostConnections), sessionID, userAgent = WTFMove(userAgent).isolatedCopy(), options]() { 88 if (!WebProcess::singleton().ensureNetworkProcessConnection().connection().send(Messages::NetworkRTCProvider::CreateClientTCPSocket(identifier, RTCNetwork::SocketAddress(localAddress), RTCNetwork::SocketAddress(remoteAddress), sessionID, userAgent, options), 0)) { 89 89 // FIXME: Set error back to socket 90 90 return; … … 116 116 } 117 117 118 rtc::AsyncResolverInterface* LibWebRTCSocketFactory:: CreateAsyncResolver()118 rtc::AsyncResolverInterface* LibWebRTCSocketFactory::createAsyncResolver() 119 119 { 120 120 auto resolver = std::make_unique<LibWebRTCResolver>(++s_uniqueResolverIdentifier); -
trunk/Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocketFactory.h
r237568 r248592 37 37 namespace WebKit { 38 38 39 class LibWebRTCSocketFactory final : public rtc::PacketSocketFactory{39 class LibWebRTCSocketFactory { 40 40 public: 41 41 LibWebRTCSocketFactory() { } … … 52 52 void disableNonLocalhostConnections() { m_disableNonLocalhostConnections = true; } 53 53 54 rtc::AsyncResolverInterface* createAsyncResolver() { return CreateAsyncResolver(); } 54 rtc::AsyncPacketSocket* createUdpSocket(const rtc::SocketAddress&, uint16_t minPort, uint16_t maxPort); 55 rtc::AsyncPacketSocket* createServerTcpSocket(const rtc::SocketAddress&, uint16_t minPort, uint16_t maxPort, int options); 56 rtc::AsyncPacketSocket* createClientTcpSocket(const rtc::SocketAddress& localAddress, const rtc::SocketAddress& remoteAddress, PAL::SessionID, String&& userAgent, int options); 57 rtc::AsyncResolverInterface* createAsyncResolver(); 55 58 56 59 private: 57 rtc::AsyncPacketSocket* CreateUdpSocket(const rtc::SocketAddress&, uint16_t minPort, uint16_t maxPort) final;58 rtc::AsyncPacketSocket* CreateServerTcpSocket(const rtc::SocketAddress&, uint16_t min_port, uint16_t max_port, int options) final;59 rtc::AsyncPacketSocket* CreateClientTcpSocket(const rtc::SocketAddress& localAddress, const rtc::SocketAddress& remoteAddress, const rtc::ProxyInfo&, const std::string&, int options);60 rtc::AsyncResolverInterface* CreateAsyncResolver() final;61 60 62 61 // We cannot own sockets, clients of the factory are responsible to free them.
Note: See TracChangeset
for help on using the changeset viewer.