Changeset 211441 in webkit


Ignore:
Timestamp:
Jan 31, 2017 11:37:24 AM (7 years ago)
Author:
commit-queue@webkit.org
Message:

[WebRTC] Add support for WK2 libwebrtc endpoint
https://bugs.webkit.org/show_bug.cgi?id=167306
<rdar://problem/30245426>

Patch by Youenn Fablet <youennf@gmail.com> on 2017-01-31
Reviewed by Alex Christensen.

Implementation of the LibWebRTC networking in WebKit2.
The following features are required to be moved from WebProcess to NetworkProcess:
1 Resolution of DNS names (RTCResolver)
2 Enumeration of interfaces/gathering of host addresses (RTCMonitor)
3 Implementation of Packet Socket for TCP/UDP communication (RTCSocket).

This patch implements the related classes in WebProcess/NetworkProcess and the integration with libwebrtc.
NetworkProcess implementation is using libwebetc for NetworkRTCMonitor and NetworkRTCSocket.
This ensures an as-close implementation to libwebrtc as possible.
In the future, after getting a better test infrastructure we should try to implement these using native APIs.

Currently, the implementation is as follow:

  • libwebrtc is calling WebProcess stack on the rtc network thread
  • WebProcess stack is forwarding calls to the main thread and makes related IPC calls
  • NetworkProcess receives the IPC calls and forward them to the rtc network thread.
  • The calls are processed in the rtc network thread

Conversely, when the rtc network thread wants to notify its client, the reverse path is used.

This patch also implements the LibWebRTCProvider for WebKit2.
This provider uses the related classes to create a peer connection factory that will use them.

  • CMakeLists.txt:
  • DerivedSources.make:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::rtcProvider):
(WebKit::NetworkConnectionToWebProcess::didClose):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/webrtc/LibWebRTCSocketClient.cpp: Added.

(WebKit::LibWebRTCSocketClient::LibWebRTCSocketClient):
(WebKit::LibWebRTCSocketClient::sendTo):
(WebKit::LibWebRTCSocketClient::close):
(WebKit::LibWebRTCSocketClient::setOption):
(WebKit::LibWebRTCSocketClient::signalReadPacket):
(WebKit::LibWebRTCSocketClient::signalSentPacket):
(WebKit::LibWebRTCSocketClient::signalAddressReady):
(WebKit::LibWebRTCSocketClient::signalConnect):
(WebKit::LibWebRTCSocketClient::signalClose):

  • NetworkProcess/webrtc/LibWebRTCSocketClient.h: Added.
  • NetworkProcess/webrtc/NetworkRTCMonitor.cpp: Added.

(WebKit::NetworkRTCMonitor::startUpdating):
(WebKit::NetworkRTCMonitor::stopUpdating):
(WebKit::NetworkRTCMonitor::onNetworksChanged):

  • NetworkProcess/webrtc/NetworkRTCMonitor.h: Added.
  • NetworkProcess/webrtc/NetworkRTCMonitor.messages.in: Added.
  • NetworkProcess/webrtc/NetworkRTCProvider.cpp: Added.

(WebKit::createThread):
(WebKit::NetworkRTCProvider::NetworkRTCProvider):
(WebKit::NetworkRTCProvider::close):
(WebKit::NetworkRTCProvider::createUDPSocket):
(WebKit::NetworkRTCProvider::createServerTCPSocket):
(WebKit::NetworkRTCProvider::createClientTCPSocket):
(WebKit::NetworkRTCProvider::addSocket):
(WebKit::NetworkRTCProvider::takeSocket):
(WebKit::NetworkRTCProvider::didReceiveNetworkRTCSocketMessage):
(WebKit::NetworkRTCProvider::createResolver):
(WebKit::NetworkRTCProvider::stopResolver):
(WebKit::NetworkRTCProvider::resolvedName):
(WebKit::NetworkMessageData::NetworkMessageData):
(WebKit::NetworkRTCProvider::OnMessage):
(WebKit::NetworkRTCProvider::callOnRTCNetworkThread):
(WebKit::NetworkRTCProvider::callSocket):
(WebKit::NetworkRTCProvider::sendFromMainThread):

  • NetworkProcess/webrtc/NetworkRTCProvider.h: Added.

(WebKit::NetworkRTCProvider::create):
(WebKit::NetworkRTCProvider::didReceiveNetworkRTCMonitorMessage):
(WebKit::NetworkRTCProvider::Resolver::Resolver):
(WebKit::NetworkRTCProvider::Resolver::~Resolver):

  • NetworkProcess/webrtc/NetworkRTCProvider.messages.in: Added.
  • NetworkProcess/webrtc/NetworkRTCSocket.cpp: Added.

(WebKit::NetworkRTCSocket::NetworkRTCSocket):
(WebKit::NetworkRTCSocket::sendTo):
(WebKit::NetworkRTCSocket::close):
(WebKit::NetworkRTCSocket::setOption):

  • NetworkProcess/webrtc/NetworkRTCSocket.h: Added.
  • NetworkProcess/webrtc/NetworkRTCSocket.messages.in: Added.
  • Shared/RTCNetwork.cpp: Added.

(WebKit::RTCNetwork::RTCNetwork):
(WebKit::ips):
(WebKit::RTCNetwork::value):
(WebKit::RTCNetwork::IPAddress::decode):
(WebKit::RTCNetwork::IPAddress::encode):
(WebKit::RTCNetwork::decode):
(WebKit::RTCNetwork::encode):

  • Shared/RTCNetwork.h: Added.

(WebKit::RTCNetwork::IPAddress::IPAddress):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Network/NetworkProcessConnection.cpp:

(WebKit::NetworkProcessConnection::didReceiveMessage):

  • WebProcess/Network/webrtc/LibWebRTCNetwork.h: Added.

(WebKit::LibWebRTCNetwork::monitor):
(WebKit::LibWebRTCNetwork::socketFactory):
(WebKit::LibWebRTCNetwork::socket):
(WebKit::LibWebRTCNetwork::resolver):

  • WebProcess/Network/webrtc/LibWebRTCProvider.cpp: Added.

(WebKit::LibWebRTCProvider::createPeerConnection):

  • WebProcess/Network/webrtc/LibWebRTCProvider.h: Added.
  • WebProcess/Network/webrtc/LibWebRTCResolver.cpp: Added.

(WebKit::sendOnMainThread):
(WebKit::LibWebRTCResolver::Start):
(WebKit::LibWebRTCResolver::GetResolvedAddress):
(WebKit::LibWebRTCResolver::Destroy):
(WebKit::LibWebRTCResolver::setResolvedAddress):
(WebKit::LibWebRTCResolver::setError):

  • WebProcess/Network/webrtc/LibWebRTCResolver.h: Added.
  • WebProcess/Network/webrtc/LibWebRTCSocket.cpp: Added.

(WebKit::sendOnMainThread):
(WebKit::LibWebRTCSocket::LibWebRTCSocket):
(WebKit::LibWebRTCSocket::~LibWebRTCSocket):
(WebKit::LibWebRTCSocket::GetLocalAddress):
(WebKit::LibWebRTCSocket::GetRemoteAddress):
(WebKit::LibWebRTCSocket::signalAddressReady):
(WebKit::LibWebRTCSocket::signalReadPacket):
(WebKit::LibWebRTCSocket::signalSentPacket):
(WebKit::LibWebRTCSocket::signalConnect):
(WebKit::LibWebRTCSocket::signalClose):
(WebKit::authKey):
(WebKit::LibWebRTCSocket::willSend):
(WebKit::LibWebRTCSocket::SendTo):
(WebKit::LibWebRTCSocket::Close):
(WebKit::LibWebRTCSocket::GetOption):
(WebKit::LibWebRTCSocket::SetOption):

  • WebProcess/Network/webrtc/LibWebRTCSocket.h: Added.
  • WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp: Added.

(WebKit::LibWebRTCSocketFactory::CreateServerTcpSocket):
(WebKit::LibWebRTCSocketFactory::CreateUdpSocket):
(WebKit::LibWebRTCSocketFactory::CreateClientTcpSocket):
(WebKit::LibWebRTCSocketFactory::detach):
(WebKit::LibWebRTCSocketFactory::CreateAsyncResolver):

  • WebProcess/Network/webrtc/LibWebRTCSocketFactory.h: Added.
  • WebProcess/Network/webrtc/WebRTCMonitor.cpp: Added.

(WebKit::sendOnMainThread):
(WebKit::WebRTCMonitor::StartUpdating):
(WebKit::WebRTCMonitor::StopUpdating):
(WebKit::WebRTCMonitor::networksChanged):

  • WebProcess/Network/webrtc/WebRTCMonitor.h: Added.
  • WebProcess/Network/webrtc/WebRTCMonitor.messages.in: Added.
  • WebProcess/Network/webrtc/WebRTCResolver.cpp: Added.

(WebKit::WebRTCResolver::WebRTCResolver):
(WebKit::WebRTCResolver::setResolvedAddress):
(WebKit::WebRTCResolver::resolvedAddressError):

  • WebProcess/Network/webrtc/WebRTCResolver.h: Added.
  • WebProcess/Network/webrtc/WebRTCResolver.messages.in: Added.
  • WebProcess/Network/webrtc/WebRTCSocket.cpp: Added.

(WebKit::WebRTCSocket::signalOnNetworkThread):
(WebKit::WebRTCSocket::WebRTCSocket):
(WebKit::WebRTCSocket::signalAddressReady):
(WebKit::WebRTCSocket::signalReadPacket):
(WebKit::WebRTCSocket::signalSentPacket):
(WebKit::WebRTCSocket::signalConnect):
(WebKit::WebRTCSocket::signalClose):

  • WebProcess/Network/webrtc/WebRTCSocket.h: Added.
  • WebProcess/Network/webrtc/WebRTCSocket.messages.in: Added.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::m_userInterfaceLayoutDirection):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeLibWebRTC):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::libWebRTC):

Location:
trunk/Source/WebKit2
Files:
33 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/CMakeLists.txt

    r210980 r211441  
    1111    "${WEBKIT2_DIR}/NetworkProcess/cache"
    1212    "${WEBKIT2_DIR}/NetworkProcess/capture"
     13    "${WEBKIT2_DIR}/NetworkProcess/webrtc"
    1314    "${WEBKIT2_DIR}/Platform"
    1415    "${WEBKIT2_DIR}/Platform/IPC"
     
    6667    "${WEBKIT2_DIR}/WebProcess/MediaStream"
    6768    "${WEBKIT2_DIR}/WebProcess/Network"
     69    "${WEBKIT2_DIR}/WebProcess/Network/webrtc"
    6870    "${WEBKIT2_DIR}/WebProcess/Notifications"
    6971    "${WEBKIT2_DIR}/WebProcess/OriginData"
     
    594596    NetworkProcess/NetworkResourceLoader.messages.in
    595597
     598    NetworkProcess/webrtc/NetworkRTCMonitor.messages.in
     599    NetworkProcess/webrtc/NetworkRTCProvider.messages.in
     600    NetworkProcess/webrtc/NetworkRTCSocket.messages.in
     601
    596602    PluginProcess/PluginControllerProxy.messages.in
    597603    PluginProcess/PluginProcess.messages.in
     
    650656    WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in
    651657
     658    WebProcess/Network/webrtc/WebRTCMonitor.messages.in
     659    WebProcess/Network/webrtc/WebRTCResolver.messages.in
     660    WebProcess/Network/webrtc/WebRTCSocket.messages.in
     661
    652662    WebProcess/Network/NetworkProcessConnection.messages.in
    653663    WebProcess/Network/WebResourceLoader.messages.in
  • trunk/Source/WebKit2/ChangeLog

    r211438 r211441  
     12017-01-31  Youenn Fablet  <youennf@gmail.com>
     2
     3        [WebRTC] Add support for WK2 libwebrtc endpoint
     4        https://bugs.webkit.org/show_bug.cgi?id=167306
     5        <rdar://problem/30245426>
     6
     7        Reviewed by Alex Christensen.
     8
     9        Implementation of the LibWebRTC networking in WebKit2.
     10        The following features are required to be moved from WebProcess to NetworkProcess:
     11        1 Resolution of DNS names (RTCResolver)
     12        2 Enumeration of interfaces/gathering of host addresses (RTCMonitor)
     13        3 Implementation of Packet Socket for TCP/UDP communication (RTCSocket).
     14
     15        This patch implements the related classes in WebProcess/NetworkProcess and the integration with libwebrtc.
     16        NetworkProcess implementation is using libwebetc for NetworkRTCMonitor and NetworkRTCSocket.
     17        This ensures an as-close implementation to libwebrtc as possible.
     18        In the future, after getting a better test infrastructure we should try to implement these using native APIs.
     19
     20        Currently, the implementation is as follow:
     21        - libwebrtc is calling WebProcess stack on the rtc network thread
     22        - WebProcess stack is forwarding calls to the main thread and makes related IPC calls
     23        - NetworkProcess receives the IPC calls and forward them to the rtc network thread.
     24        - The calls are processed in the rtc network thread
     25        Conversely, when the rtc network thread wants to notify its client, the reverse path is used.
     26
     27        This patch also implements the LibWebRTCProvider for WebKit2.
     28        This provider uses the related classes to create a peer connection factory that will use them.
     29
     30        * CMakeLists.txt:
     31        * DerivedSources.make:
     32        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
     33        (WebKit::NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess):
     34        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
     35        (WebKit::NetworkConnectionToWebProcess::rtcProvider):
     36        (WebKit::NetworkConnectionToWebProcess::didClose):
     37        * NetworkProcess/NetworkConnectionToWebProcess.h:
     38        * NetworkProcess/webrtc/LibWebRTCSocketClient.cpp: Added.
     39        (WebKit::LibWebRTCSocketClient::LibWebRTCSocketClient):
     40        (WebKit::LibWebRTCSocketClient::sendTo):
     41        (WebKit::LibWebRTCSocketClient::close):
     42        (WebKit::LibWebRTCSocketClient::setOption):
     43        (WebKit::LibWebRTCSocketClient::signalReadPacket):
     44        (WebKit::LibWebRTCSocketClient::signalSentPacket):
     45        (WebKit::LibWebRTCSocketClient::signalAddressReady):
     46        (WebKit::LibWebRTCSocketClient::signalConnect):
     47        (WebKit::LibWebRTCSocketClient::signalClose):
     48        * NetworkProcess/webrtc/LibWebRTCSocketClient.h: Added.
     49        * NetworkProcess/webrtc/NetworkRTCMonitor.cpp: Added.
     50        (WebKit::NetworkRTCMonitor::startUpdating):
     51        (WebKit::NetworkRTCMonitor::stopUpdating):
     52        (WebKit::NetworkRTCMonitor::onNetworksChanged):
     53        * NetworkProcess/webrtc/NetworkRTCMonitor.h: Added.
     54        * NetworkProcess/webrtc/NetworkRTCMonitor.messages.in: Added.
     55        * NetworkProcess/webrtc/NetworkRTCProvider.cpp: Added.
     56        (WebKit::createThread):
     57        (WebKit::NetworkRTCProvider::NetworkRTCProvider):
     58        (WebKit::NetworkRTCProvider::close):
     59        (WebKit::NetworkRTCProvider::createUDPSocket):
     60        (WebKit::NetworkRTCProvider::createServerTCPSocket):
     61        (WebKit::NetworkRTCProvider::createClientTCPSocket):
     62        (WebKit::NetworkRTCProvider::addSocket):
     63        (WebKit::NetworkRTCProvider::takeSocket):
     64        (WebKit::NetworkRTCProvider::didReceiveNetworkRTCSocketMessage):
     65        (WebKit::NetworkRTCProvider::createResolver):
     66        (WebKit::NetworkRTCProvider::stopResolver):
     67        (WebKit::NetworkRTCProvider::resolvedName):
     68        (WebKit::NetworkMessageData::NetworkMessageData):
     69        (WebKit::NetworkRTCProvider::OnMessage):
     70        (WebKit::NetworkRTCProvider::callOnRTCNetworkThread):
     71        (WebKit::NetworkRTCProvider::callSocket):
     72        (WebKit::NetworkRTCProvider::sendFromMainThread):
     73        * NetworkProcess/webrtc/NetworkRTCProvider.h: Added.
     74        (WebKit::NetworkRTCProvider::create):
     75        (WebKit::NetworkRTCProvider::didReceiveNetworkRTCMonitorMessage):
     76        (WebKit::NetworkRTCProvider::Resolver::Resolver):
     77        (WebKit::NetworkRTCProvider::Resolver::~Resolver):
     78        * NetworkProcess/webrtc/NetworkRTCProvider.messages.in: Added.
     79        * NetworkProcess/webrtc/NetworkRTCSocket.cpp: Added.
     80        (WebKit::NetworkRTCSocket::NetworkRTCSocket):
     81        (WebKit::NetworkRTCSocket::sendTo):
     82        (WebKit::NetworkRTCSocket::close):
     83        (WebKit::NetworkRTCSocket::setOption):
     84        * NetworkProcess/webrtc/NetworkRTCSocket.h: Added.
     85        * NetworkProcess/webrtc/NetworkRTCSocket.messages.in: Added.
     86        * Shared/RTCNetwork.cpp: Added.
     87        (WebKit::RTCNetwork::RTCNetwork):
     88        (WebKit::ips):
     89        (WebKit::RTCNetwork::value):
     90        (WebKit::RTCNetwork::IPAddress::decode):
     91        (WebKit::RTCNetwork::IPAddress::encode):
     92        (WebKit::RTCNetwork::decode):
     93        (WebKit::RTCNetwork::encode):
     94        * Shared/RTCNetwork.h: Added.
     95        (WebKit::RTCNetwork::IPAddress::IPAddress):
     96        * WebKit2.xcodeproj/project.pbxproj:
     97        * WebProcess/Network/NetworkProcessConnection.cpp:
     98        (WebKit::NetworkProcessConnection::didReceiveMessage):
     99        * WebProcess/Network/webrtc/LibWebRTCNetwork.h: Added.
     100        (WebKit::LibWebRTCNetwork::monitor):
     101        (WebKit::LibWebRTCNetwork::socketFactory):
     102        (WebKit::LibWebRTCNetwork::socket):
     103        (WebKit::LibWebRTCNetwork::resolver):
     104        * WebProcess/Network/webrtc/LibWebRTCProvider.cpp: Added.
     105        (WebKit::LibWebRTCProvider::createPeerConnection):
     106        * WebProcess/Network/webrtc/LibWebRTCProvider.h: Added.
     107        * WebProcess/Network/webrtc/LibWebRTCResolver.cpp: Added.
     108        (WebKit::sendOnMainThread):
     109        (WebKit::LibWebRTCResolver::Start):
     110        (WebKit::LibWebRTCResolver::GetResolvedAddress):
     111        (WebKit::LibWebRTCResolver::Destroy):
     112        (WebKit::LibWebRTCResolver::setResolvedAddress):
     113        (WebKit::LibWebRTCResolver::setError):
     114        * WebProcess/Network/webrtc/LibWebRTCResolver.h: Added.
     115        * WebProcess/Network/webrtc/LibWebRTCSocket.cpp: Added.
     116        (WebKit::sendOnMainThread):
     117        (WebKit::LibWebRTCSocket::LibWebRTCSocket):
     118        (WebKit::LibWebRTCSocket::~LibWebRTCSocket):
     119        (WebKit::LibWebRTCSocket::GetLocalAddress):
     120        (WebKit::LibWebRTCSocket::GetRemoteAddress):
     121        (WebKit::LibWebRTCSocket::signalAddressReady):
     122        (WebKit::LibWebRTCSocket::signalReadPacket):
     123        (WebKit::LibWebRTCSocket::signalSentPacket):
     124        (WebKit::LibWebRTCSocket::signalConnect):
     125        (WebKit::LibWebRTCSocket::signalClose):
     126        (WebKit::authKey):
     127        (WebKit::LibWebRTCSocket::willSend):
     128        (WebKit::LibWebRTCSocket::SendTo):
     129        (WebKit::LibWebRTCSocket::Close):
     130        (WebKit::LibWebRTCSocket::GetOption):
     131        (WebKit::LibWebRTCSocket::SetOption):
     132        * WebProcess/Network/webrtc/LibWebRTCSocket.h: Added.
     133        * WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp: Added.
     134        (WebKit::LibWebRTCSocketFactory::CreateServerTcpSocket):
     135        (WebKit::LibWebRTCSocketFactory::CreateUdpSocket):
     136        (WebKit::LibWebRTCSocketFactory::CreateClientTcpSocket):
     137        (WebKit::LibWebRTCSocketFactory::detach):
     138        (WebKit::LibWebRTCSocketFactory::CreateAsyncResolver):
     139        * WebProcess/Network/webrtc/LibWebRTCSocketFactory.h: Added.
     140        * WebProcess/Network/webrtc/WebRTCMonitor.cpp: Added.
     141        (WebKit::sendOnMainThread):
     142        (WebKit::WebRTCMonitor::StartUpdating):
     143        (WebKit::WebRTCMonitor::StopUpdating):
     144        (WebKit::WebRTCMonitor::networksChanged):
     145        * WebProcess/Network/webrtc/WebRTCMonitor.h: Added.
     146        * WebProcess/Network/webrtc/WebRTCMonitor.messages.in: Added.
     147        * WebProcess/Network/webrtc/WebRTCResolver.cpp: Added.
     148        (WebKit::WebRTCResolver::WebRTCResolver):
     149        (WebKit::WebRTCResolver::setResolvedAddress):
     150        (WebKit::WebRTCResolver::resolvedAddressError):
     151        * WebProcess/Network/webrtc/WebRTCResolver.h: Added.
     152        * WebProcess/Network/webrtc/WebRTCResolver.messages.in: Added.
     153        * WebProcess/Network/webrtc/WebRTCSocket.cpp: Added.
     154        (WebKit::WebRTCSocket::signalOnNetworkThread):
     155        (WebKit::WebRTCSocket::WebRTCSocket):
     156        (WebKit::WebRTCSocket::signalAddressReady):
     157        (WebKit::WebRTCSocket::signalReadPacket):
     158        (WebKit::WebRTCSocket::signalSentPacket):
     159        (WebKit::WebRTCSocket::signalConnect):
     160        (WebKit::WebRTCSocket::signalClose):
     161        * WebProcess/Network/webrtc/WebRTCSocket.h: Added.
     162        * WebProcess/Network/webrtc/WebRTCSocket.messages.in: Added.
     163        * WebProcess/WebPage/WebPage.cpp:
     164        (WebKit::m_userInterfaceLayoutDirection):
     165        * WebProcess/WebProcess.cpp:
     166        (WebKit::WebProcess::initializeLibWebRTC):
     167        * WebProcess/WebProcess.h:
     168        (WebKit::WebProcess::libWebRTC):
     169
    11702017-01-31  Jessie Berlin  <jberlin@webkit.org>
    2171
  • trunk/Source/WebKit2/DerivedSources.make

    r210927 r211441  
    2929    $(WebKit2)/NetworkProcess/CustomProtocols \
    3030    $(WebKit2)/NetworkProcess/mac \
     31    $(WebKit2)/NetworkProcess/webrtc \
    3132    $(WebKit2)/PluginProcess \
    3233    $(WebKit2)/PluginProcess/mac \
     
    4647    $(WebKit2)/WebProcess/MediaCache \
    4748    $(WebKit2)/WebProcess/Network \
     49    $(WebKit2)/WebProcess/Network/webrtc \
    4850    $(WebKit2)/WebProcess/Notifications \
    4951    $(WebKit2)/WebProcess/OriginData \
     
    101103    NetworkProcessConnection \
    102104    NetworkProcessProxy \
     105    NetworkRTCMonitor \
     106    NetworkRTCProvider \
     107    NetworkRTCSocket \
    103108    NetworkResourceLoader \
    104109    PluginControllerProxy \
     
    150155    WebProcessPool \
    151156    WebProcessProxy \
     157    WebRTCMonitor \
     158    WebRTCResolver \
     159    WebRTCSocket \
    152160    WebResourceLoader \
    153161    WebResourceLoadStatisticsStore \
  • trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp

    r210887 r211441  
    3535#include "NetworkProcess.h"
    3636#include "NetworkProcessConnectionMessages.h"
     37#include "NetworkRTCMonitorMessages.h"
     38#include "NetworkRTCProviderMessages.h"
     39#include "NetworkRTCSocketMessages.h"
    3740#include "NetworkResourceLoadParameters.h"
    3841#include "NetworkResourceLoader.h"
     
    6972NetworkConnectionToWebProcess::~NetworkConnectionToWebProcess()
    7073{
     74#if USE(LIBWEBRTC)
     75    if (m_rtcProvider)
     76        m_rtcProvider->close();
     77#endif
    7178}
    7279
     
    7784    m_networkResourceLoaders.remove(loader.identifier());
    7885}
    79    
     86
    8087void NetworkConnectionToWebProcess::didReceiveMessage(IPC::Connection& connection, IPC::Decoder& decoder)
    8188{
     
    8693
    8794    if (decoder.messageReceiverName() == Messages::NetworkResourceLoader::messageReceiverName()) {
    88         HashMap<ResourceLoadIdentifier, RefPtr<NetworkResourceLoader>>::iterator loaderIterator = m_networkResourceLoaders.find(decoder.destinationID());
     95        auto loaderIterator = m_networkResourceLoaders.find(decoder.destinationID());
    8996        if (loaderIterator != m_networkResourceLoaders.end())
    9097            loaderIterator->value->didReceiveNetworkResourceLoaderMessage(connection, decoder);
    9198        return;
    9299    }
    93    
     100
     101#if USE(LIBWEBRTC)
     102    if (decoder.messageReceiverName() == Messages::NetworkRTCSocket::messageReceiverName()) {
     103        rtcProvider().didReceiveNetworkRTCSocketMessage(connection, decoder);
     104        return;
     105    }
     106    if (decoder.messageReceiverName() == Messages::NetworkRTCMonitor::messageReceiverName()) {
     107        rtcProvider().didReceiveNetworkRTCMonitorMessage(connection, decoder);
     108        return;
     109    }
     110    if (decoder.messageReceiverName() == Messages::NetworkRTCProvider::messageReceiverName()) {
     111        rtcProvider().didReceiveMessage(connection, decoder);
     112        return;
     113    }
     114#endif
     115
    94116    ASSERT_NOT_REACHED();
    95117}
     118
     119#if USE(LIBWEBRTC)
     120NetworkRTCProvider& NetworkConnectionToWebProcess::rtcProvider()
     121{
     122    if (!m_rtcProvider)
     123        m_rtcProvider = NetworkRTCProvider::create(*this);
     124    return *m_rtcProvider;
     125}
     126#endif
    96127
    97128void NetworkConnectionToWebProcess::didReceiveSyncMessage(IPC::Connection& connection, IPC::Decoder& decoder, std::unique_ptr<IPC::Encoder>& reply)
     
    117148    NetworkBlobRegistry::singleton().connectionToWebProcessDidClose(this);
    118149    NetworkProcess::singleton().removeNetworkConnectionToWebProcess(this);
     150
     151#if USE(LIBWEBRTC)
     152    if (m_rtcProvider) {
     153        m_rtcProvider->close();
     154        m_rtcProvider = nullptr;
     155    }
     156#endif
    119157}
    120158
  • trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h

    r210887 r211441  
    3030#include "DownloadID.h"
    3131#include "NetworkConnectionToWebProcessMessages.h"
     32#include "NetworkRTCProvider.h"
     33
    3234#include <WebCore/ResourceLoadPriority.h>
    3335#include <wtf/RefCounted.h>
     
    7274    void didReceiveNetworkConnectionToWebProcessMessage(IPC::Connection&, IPC::Decoder&);
    7375    void didReceiveSyncNetworkConnectionToWebProcessMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder>&);
    74    
     76
    7577    void scheduleResourceLoad(const NetworkResourceLoadParameters&);
    7678    void performSynchronousLoad(const NetworkResourceLoadParameters&, Ref<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&&);
     
    106108    void ensureLegacyPrivateBrowsingSession();
    107109
     110#if USE(LIBWEBRTC)
     111    NetworkRTCProvider& rtcProvider();
     112#endif
     113   
    108114    Ref<IPC::Connection> m_connection;
    109115
    110116    HashMap<ResourceLoadIdentifier, RefPtr<NetworkResourceLoader>> m_networkResourceLoaders;
    111117    HashMap<String, RefPtr<WebCore::BlobDataFileReference>> m_blobDataFileReferences;
     118
     119#if USE(LIBWEBRTC)
     120    RefPtr<NetworkRTCProvider> m_rtcProvider;
     121#endif
    112122};
    113123
  • trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r211354 r211441  
    874874                3F87B9BE158940190090FF62 /* WebColorChooser.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F87B9BB15893F630090FF62 /* WebColorChooser.h */; };
    875875                3F87B9C0158940D80090FF62 /* WebColorPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F87B9BF158940D80090FF62 /* WebColorPicker.h */; };
     876                410482CD1DDD324C00F006D0 /* RTCNetwork.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 410482CB1DDD2FB500F006D0 /* RTCNetwork.cpp */; };
     877                410482CE1DDD324F00F006D0 /* RTCNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = 410482CC1DDD2FB500F006D0 /* RTCNetwork.h */; };
     878                411B22641E371BA6004F7363 /* LibWebRTCNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = 411B22621E371244004F7363 /* LibWebRTCNetwork.h */; };
     879                413075A91DE85F2C0039EC69 /* NetworkRTCSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 413075981DE84FB00039EC69 /* NetworkRTCSocket.cpp */; };
     880                413075AA1DE85F300039EC69 /* NetworkRTCMonitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4130759A1DE84FB00039EC69 /* NetworkRTCMonitor.cpp */; };
     881                413075AB1DE85F330039EC69 /* NetworkRTCSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 413075991DE84FB00039EC69 /* NetworkRTCSocket.h */; };
     882                413075AC1DE85F370039EC69 /* NetworkRTCMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 4130759B1DE84FB00039EC69 /* NetworkRTCMonitor.h */; };
     883                413075AD1DE85F580039EC69 /* LibWebRTCSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 413075A01DE85EE70039EC69 /* LibWebRTCSocket.h */; };
     884                413075AE1DE85F580039EC69 /* LibWebRTCSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 413075A11DE85EE70039EC69 /* LibWebRTCSocket.cpp */; };
     885                413075AF1DE85F580039EC69 /* WebRTCMonitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 413075A21DE85EE70039EC69 /* WebRTCMonitor.cpp */; };
     886                413075B01DE85F580039EC69 /* WebRTCMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 413075A31DE85EE70039EC69 /* WebRTCMonitor.h */; };
     887                413075B11DE85F580039EC69 /* LibWebRTCSocketFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 413075A51DE85EE70039EC69 /* LibWebRTCSocketFactory.cpp */; };
     888                413075B21DE85F580039EC69 /* LibWebRTCSocketFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 413075A61DE85EE70039EC69 /* LibWebRTCSocketFactory.h */; };
     889                413075B31DE85F580039EC69 /* LibWebRTCProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 413075A71DE85EE70039EC69 /* LibWebRTCProvider.cpp */; };
     890                413075B41DE85F580039EC69 /* LibWebRTCProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 413075A81DE85EE70039EC69 /* LibWebRTCProvider.h */; };
     891                41DC45961E3D6E2200B11F51 /* NetworkRTCProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 41DC45941E3D6E1E00B11F51 /* NetworkRTCProvider.h */; };
     892                41DC45971E3D6E2200B11F51 /* NetworkRTCProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41DC45951E3D6E1E00B11F51 /* NetworkRTCProvider.cpp */; };
     893                41DC459B1E3DBB2800B11F51 /* LibWebRTCSocketClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41DC45991E3DBB2400B11F51 /* LibWebRTCSocketClient.cpp */; };
     894                41DC459C1E3DBB2800B11F51 /* LibWebRTCSocketClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 41DC459A1E3DBB2400B11F51 /* LibWebRTCSocketClient.h */; };
     895                41DC459E1E3DBDA100B11F51 /* WebRTCSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41DC459D1E3DBCF000B11F51 /* WebRTCSocket.cpp */; };
     896                41DC459F1E3DBDA500B11F51 /* WebRTCSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 41FAF5F31E3BFE7F001AE678 /* WebRTCSocket.h */; };
     897                41DC45A11E3DC53F00B11F51 /* WebRTCResolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41DC45A01E3DC53C00B11F51 /* WebRTCResolver.cpp */; };
     898                41FAF5F51E3C0649001AE678 /* WebRTCResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = 41FAF5F41E3C0641001AE678 /* WebRTCResolver.h */; };
     899                41FAF5F81E3C1021001AE678 /* LibWebRTCResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = 41FAF5F61E3C0B47001AE678 /* LibWebRTCResolver.h */; };
     900                41FAF5F91E3C1025001AE678 /* LibWebRTCResolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41FAF5F71E3C0B47001AE678 /* LibWebRTCResolver.cpp */; };
    876901                4450AEC01DC3FAE5009943F2 /* SharedMemoryCocoa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4450AEBF1DC3FAE5009943F2 /* SharedMemoryCocoa.cpp */; };
    877902                4A3CC18A19B063E700D14AEF /* UserMediaPermissionRequestManagerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A410F3919AF7B04002EBAB5 /* UserMediaPermissionRequestManagerProxy.cpp */; };
     
    10441069                51F060E01654317F00F3281B /* WebResourceLoaderMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51F060DE1654317500F3281B /* WebResourceLoaderMessages.h */; };
    10451070                51F060E11654318500F3281B /* WebResourceLoaderMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F060DD1654317500F3281B /* WebResourceLoaderMessageReceiver.cpp */; };
     1071                51F060E11654318500F3281C /* WebRTCSocketMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F060DD1654317500F3281C /* WebRTCSocketMessageReceiver.cpp */; };
     1072                51F060E11654318500F3281D /* NetworkRTCSocketMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F060DD1654317500F3281D /* NetworkRTCSocketMessageReceiver.cpp */; };
     1073                51F060E11654318500F3281E /* NetworkRTCMonitorMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F060DD1654317500F3281E /* NetworkRTCMonitorMessageReceiver.cpp */; };
     1074                51F060E11654318500F3281F /* WebRTCMonitorMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F060DD1654317500F3281F /* WebRTCMonitorMessageReceiver.cpp */; };
     1075                51F060E11654318500F3282C /* WebRTCResolverMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F060DD1654317500F3282C /* WebRTCResolverMessageReceiver.cpp */; };
     1076                51F060E11654318500F3282E /* NetworkRTCProviderMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51F060DD1654317500F3282E /* NetworkRTCProviderMessageReceiver.cpp */; };
    10461077                51F7DC41180CC93600212CA3 /* XPCServiceMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC82839616B47EC400A278FE /* XPCServiceMain.mm */; };
    10471078                51F7DC43180CC93600212CA3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3DE46815A91763008D26FC /* Foundation.framework */; };
     
    29843015                3F87B9BB15893F630090FF62 /* WebColorChooser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebColorChooser.h; sourceTree = "<group>"; };
    29853016                3F87B9BF158940D80090FF62 /* WebColorPicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebColorPicker.h; sourceTree = "<group>"; };
     3017                410482CB1DDD2FB500F006D0 /* RTCNetwork.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RTCNetwork.cpp; sourceTree = "<group>"; };
     3018                410482CC1DDD2FB500F006D0 /* RTCNetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCNetwork.h; sourceTree = "<group>"; };
     3019                411B22621E371244004F7363 /* LibWebRTCNetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCNetwork.h; path = Network/webrtc/LibWebRTCNetwork.h; sourceTree = "<group>"; };
     3020                413075981DE84FB00039EC69 /* NetworkRTCSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkRTCSocket.cpp; path = NetworkProcess/webrtc/NetworkRTCSocket.cpp; sourceTree = "<group>"; };
     3021                413075991DE84FB00039EC69 /* NetworkRTCSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkRTCSocket.h; path = NetworkProcess/webrtc/NetworkRTCSocket.h; sourceTree = "<group>"; };
     3022                4130759A1DE84FB00039EC69 /* NetworkRTCMonitor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkRTCMonitor.cpp; path = NetworkProcess/webrtc/NetworkRTCMonitor.cpp; sourceTree = "<group>"; };
     3023                4130759B1DE84FB00039EC69 /* NetworkRTCMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkRTCMonitor.h; path = NetworkProcess/webrtc/NetworkRTCMonitor.h; sourceTree = "<group>"; };
     3024                4130759C1DE84FB00039EC69 /* NetworkRTCMonitor.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = NetworkRTCMonitor.messages.in; path = NetworkProcess/webrtc/NetworkRTCMonitor.messages.in; sourceTree = "<group>"; };
     3025                4130759D1DE84FB00039EC69 /* NetworkRTCSocket.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = NetworkRTCSocket.messages.in; path = NetworkProcess/webrtc/NetworkRTCSocket.messages.in; sourceTree = "<group>"; };
     3026                4130759F1DE85EE70039EC69 /* WebRTCSocket.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebRTCSocket.messages.in; path = Network/webrtc/WebRTCSocket.messages.in; sourceTree = "<group>"; };
     3027                413075A01DE85EE70039EC69 /* LibWebRTCSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCSocket.h; path = Network/webrtc/LibWebRTCSocket.h; sourceTree = "<group>"; };
     3028                413075A11DE85EE70039EC69 /* LibWebRTCSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LibWebRTCSocket.cpp; path = Network/webrtc/LibWebRTCSocket.cpp; sourceTree = "<group>"; };
     3029                413075A21DE85EE70039EC69 /* WebRTCMonitor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = WebRTCMonitor.cpp; path = Network/webrtc/WebRTCMonitor.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
     3030                413075A31DE85EE70039EC69 /* WebRTCMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebRTCMonitor.h; path = Network/webrtc/WebRTCMonitor.h; sourceTree = "<group>"; };
     3031                413075A41DE85EE70039EC69 /* WebRTCMonitor.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebRTCMonitor.messages.in; path = Network/webrtc/WebRTCMonitor.messages.in; sourceTree = "<group>"; };
     3032                413075A51DE85EE70039EC69 /* LibWebRTCSocketFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = LibWebRTCSocketFactory.cpp; path = Network/webrtc/LibWebRTCSocketFactory.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
     3033                413075A61DE85EE70039EC69 /* LibWebRTCSocketFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCSocketFactory.h; path = Network/webrtc/LibWebRTCSocketFactory.h; sourceTree = "<group>"; };
     3034                413075A71DE85EE70039EC69 /* LibWebRTCProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; name = LibWebRTCProvider.cpp; path = Network/webrtc/LibWebRTCProvider.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
     3035                413075A81DE85EE70039EC69 /* LibWebRTCProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = LibWebRTCProvider.h; path = Network/webrtc/LibWebRTCProvider.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
     3036                41AC86811E042E5300303074 /* WebRTCResolver.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; lineEnding = 0; name = WebRTCResolver.messages.in; path = Network/webrtc/WebRTCResolver.messages.in; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = "<none>"; };
     3037                41DC45941E3D6E1E00B11F51 /* NetworkRTCProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkRTCProvider.h; path = NetworkProcess/webrtc/NetworkRTCProvider.h; sourceTree = "<group>"; };
     3038                41DC45951E3D6E1E00B11F51 /* NetworkRTCProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkRTCProvider.cpp; path = NetworkProcess/webrtc/NetworkRTCProvider.cpp; sourceTree = "<group>"; };
     3039                41DC45981E3D6ED600B11F51 /* NetworkRTCProvider.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = NetworkRTCProvider.messages.in; path = NetworkProcess/webrtc/NetworkRTCProvider.messages.in; sourceTree = "<group>"; };
     3040                41DC45991E3DBB2400B11F51 /* LibWebRTCSocketClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LibWebRTCSocketClient.cpp; path = NetworkProcess/webrtc/LibWebRTCSocketClient.cpp; sourceTree = "<group>"; };
     3041                41DC459A1E3DBB2400B11F51 /* LibWebRTCSocketClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCSocketClient.h; path = NetworkProcess/webrtc/LibWebRTCSocketClient.h; sourceTree = "<group>"; };
     3042                41DC459D1E3DBCF000B11F51 /* WebRTCSocket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebRTCSocket.cpp; path = Network/webrtc/WebRTCSocket.cpp; sourceTree = "<group>"; };
     3043                41DC45A01E3DC53C00B11F51 /* WebRTCResolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebRTCResolver.cpp; path = Network/webrtc/WebRTCResolver.cpp; sourceTree = "<group>"; };
     3044                41FAF5F31E3BFE7F001AE678 /* WebRTCSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebRTCSocket.h; path = Network/webrtc/WebRTCSocket.h; sourceTree = "<group>"; };
     3045                41FAF5F41E3C0641001AE678 /* WebRTCResolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebRTCResolver.h; path = Network/webrtc/WebRTCResolver.h; sourceTree = "<group>"; };
     3046                41FAF5F61E3C0B47001AE678 /* LibWebRTCResolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCResolver.h; path = Network/webrtc/LibWebRTCResolver.h; sourceTree = "<group>"; };
     3047                41FAF5F71E3C0B47001AE678 /* LibWebRTCResolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LibWebRTCResolver.cpp; path = Network/webrtc/LibWebRTCResolver.cpp; sourceTree = "<group>"; };
    29863048                4450AEBF1DC3FAE5009943F2 /* SharedMemoryCocoa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SharedMemoryCocoa.cpp; path = cocoa/SharedMemoryCocoa.cpp; sourceTree = "<group>"; };
    29873049                4A410F3519AF7AC3002EBAB5 /* WKUserMediaPermissionRequest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKUserMediaPermissionRequest.cpp; sourceTree = "<group>"; };
     
    31813243                51E949961D761CC700EC9EB9 /* UIGamepadProviderIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UIGamepadProviderIOS.mm; sourceTree = "<group>"; };
    31823244                51F060DD1654317500F3281B /* WebResourceLoaderMessageReceiver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebResourceLoaderMessageReceiver.cpp; sourceTree = "<group>"; };
     3245                51F060DD1654317500F3281C /* WebRTCSocketMessageReceiver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebRTCSocketMessageReceiver.cpp; sourceTree = "<group>"; };
     3246                51F060DD1654317500F3281D /* NetworkRTCSocketMessageReceiver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkRTCSocketMessageReceiver.cpp; sourceTree = "<group>"; };
     3247                51F060DD1654317500F3281E /* NetworkRTCMonitorMessageReceiver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkRTCMonitorMessageReceiver.cpp; sourceTree = "<group>"; };
     3248                51F060DD1654317500F3281F /* WebRTCMonitorMessageReceiver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebRTCMonitorMessageReceiver.cpp; sourceTree = "<group>"; };
     3249                51F060DD1654317500F3282C /* WebRTCResolverMessageReceiver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = WebRTCResolverMessageReceiver.cpp; sourceTree = "<group>"; };
     3250                51F060DD1654317500F3282E /* NetworkRTCProviderMessageReceiver.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkRTCProviderMessageReceiver.cpp; sourceTree = "<group>"; };
    31833251                51F060DE1654317500F3281B /* WebResourceLoaderMessages.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebResourceLoaderMessages.h; sourceTree = "<group>"; };
    31843252                51F7DC4A180CC93600212CA3 /* com.apple.WebKit.Databases.xpc */ = {isa = PBXFileReference; explicitFileType = "wrapper.xpc-service"; includeInIndex = 0; path = com.apple.WebKit.Databases.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
     
    46934761                                E18C92F312DB9E7100CF2AEB /* PrintInfo.cpp */,
    46944762                                E1CC1B8E12D7EADF00625838 /* PrintInfo.h */,
     4763                                410482CB1DDD2FB500F006D0 /* RTCNetwork.cpp */,
     4764                                410482CC1DDD2FB500F006D0 /* RTCNetwork.h */,
    46954765                                F6A0C13F13281E6E0070430F /* ResourceCachesToClear.h */,
    46964766                                BC2D021612AC41CB00E732A3 /* SameDocumentNavigationType.h */,
     
    55385608                        sourceTree = "<group>";
    55395609                };
     5610                413075971DE84ED70039EC69 /* webrtc */ = {
     5611                        isa = PBXGroup;
     5612                        children = (
     5613                                41DC45941E3D6E1E00B11F51 /* NetworkRTCProvider.h */,
     5614                                41DC45951E3D6E1E00B11F51 /* NetworkRTCProvider.cpp */,
     5615                                41DC45981E3D6ED600B11F51 /* NetworkRTCProvider.messages.in */,
     5616                                41DC45991E3DBB2400B11F51 /* LibWebRTCSocketClient.cpp */,
     5617                                41DC459A1E3DBB2400B11F51 /* LibWebRTCSocketClient.h */,
     5618                                413075981DE84FB00039EC69 /* NetworkRTCSocket.cpp */,
     5619                                413075991DE84FB00039EC69 /* NetworkRTCSocket.h */,
     5620                                4130759D1DE84FB00039EC69 /* NetworkRTCSocket.messages.in */,
     5621                                4130759A1DE84FB00039EC69 /* NetworkRTCMonitor.cpp */,
     5622                                4130759B1DE84FB00039EC69 /* NetworkRTCMonitor.h */,
     5623                                4130759C1DE84FB00039EC69 /* NetworkRTCMonitor.messages.in */,
     5624                        );
     5625                        name = webrtc;
     5626                        sourceTree = "<group>";
     5627                };
     5628                4130759E1DE85E650039EC69 /* webrtc */ = {
     5629                        isa = PBXGroup;
     5630                        children = (
     5631                                41DC459D1E3DBCF000B11F51 /* WebRTCSocket.cpp */,
     5632                                41FAF5F31E3BFE7F001AE678 /* WebRTCSocket.h */,
     5633                                4130759F1DE85EE70039EC69 /* WebRTCSocket.messages.in */,
     5634                                413075A01DE85EE70039EC69 /* LibWebRTCSocket.h */,
     5635                                413075A11DE85EE70039EC69 /* LibWebRTCSocket.cpp */,
     5636                                413075A21DE85EE70039EC69 /* WebRTCMonitor.cpp */,
     5637                                413075A31DE85EE70039EC69 /* WebRTCMonitor.h */,
     5638                                413075A41DE85EE70039EC69 /* WebRTCMonitor.messages.in */,
     5639                                413075A51DE85EE70039EC69 /* LibWebRTCSocketFactory.cpp */,
     5640                                413075A61DE85EE70039EC69 /* LibWebRTCSocketFactory.h */,
     5641                                413075A71DE85EE70039EC69 /* LibWebRTCProvider.cpp */,
     5642                                413075A81DE85EE70039EC69 /* LibWebRTCProvider.h */,
     5643                                41FAF5F71E3C0B47001AE678 /* LibWebRTCResolver.cpp */,
     5644                                41FAF5F61E3C0B47001AE678 /* LibWebRTCResolver.h */,
     5645                                41DC45A01E3DC53C00B11F51 /* WebRTCResolver.cpp */,
     5646                                41FAF5F41E3C0641001AE678 /* WebRTCResolver.h */,
     5647                                41AC86811E042E5300303074 /* WebRTCResolver.messages.in */,
     5648                                411B22621E371244004F7363 /* LibWebRTCNetwork.h */,
     5649                        );
     5650                        name = webrtc;
     5651                        sourceTree = "<group>";
     5652                };
    55405653                4450AEBE1DC3FAAC009943F2 /* cocoa */ = {
    55415654                        isa = PBXGroup;
     
    55605673                        isa = PBXGroup;
    55615674                        children = (
     5675                                4130759E1DE85E650039EC69 /* webrtc */,
    55625676                                5105B0D4162F7A7A00E27709 /* NetworkProcessConnection.cpp */,
    55635677                                5105B0D5162F7A7A00E27709 /* NetworkProcessConnection.h */,
     
    55865700                                2DA944BB188511DD00ED86DB /* ios */,
    55875701                                510CC7DC16138E2900D03ED3 /* mac */,
     5702                                413075971DE84ED70039EC69 /* webrtc */,
    55885703                                513A16491630A9BF005D7D22 /* NetworkConnectionToWebProcess.cpp */,
    55895704                                513A164A1630A9BF005D7D22 /* NetworkConnectionToWebProcess.h */,
     
    74487563                                BCEE7ACD12817988009827DA /* WebProcessProxyMessages.h */,
    74497564                                51F060DD1654317500F3281B /* WebResourceLoaderMessageReceiver.cpp */,
     7565                                51F060DD1654317500F3281C /* WebRTCSocketMessageReceiver.cpp */,
     7566                                51F060DD1654317500F3282C /* WebRTCResolverMessageReceiver.cpp */,
     7567                                51F060DD1654317500F3281D /* NetworkRTCSocketMessageReceiver.cpp */,
     7568                                51F060DD1654317500F3282E /* NetworkRTCProviderMessageReceiver.cpp */,
     7569                                51F060DD1654317500F3281E /* NetworkRTCMonitorMessageReceiver.cpp */,
     7570                                51F060DD1654317500F3281F /* WebRTCMonitorMessageReceiver.cpp */,
    74507571                                51F060DE1654317500F3281B /* WebResourceLoaderMessages.h */,
    74517572                                7A791EF91C7CFB3700C4C52B /* WebResourceLoadStatisticsStoreMessageReceiver.cpp */,
     
    77507871                                51578B831209ECEF00A37C4A /* APIData.h in Headers */,
    77517872                                83891B631A68B3420030F386 /* APIDiagnosticLoggingClient.h in Headers */,
     7873                                41DC45961E3D6E2200B11F51 /* NetworkRTCProvider.h in Headers */,
    77527874                                7C1BA33E1A4A0E600043E249 /* APIDictionary.h in Headers */,
    77537875                                1F7D36C118DA513F00D9D659 /* APIDownloadClient.h in Headers */,
     
    78918013                                BC204EE311C83E98008F3375 /* InjectedBundle.h in Headers */,
    78928014                                935EEBA2127761D0003322B8 /* InjectedBundleBackForwardList.h in Headers */,
     8015                                413075B21DE85F580039EC69 /* LibWebRTCSocketFactory.h in Headers */,
    78938016                                935EEBA4127761D6003322B8 /* InjectedBundleBackForwardListItem.h in Headers */,
    78948017                                BCEE7DC5128B645D009827DA /* InjectedBundleClient.h in Headers */,
     
    79108033                                C58CDF2A1887548B00871536 /* InteractionInformationAtPosition.h in Headers */,
    79118034                                2D4D2C811DF60BF3002EB10C /* InteractionInformationRequest.h in Headers */,
     8035                                41FAF5F51E3C0649001AE678 /* WebRTCResolver.h in Headers */,
    79128036                                1AE49A4911FFA8CE0048B464 /* JSNPMethod.h in Headers */,
    79138037                                1AE4987811FF7FAA0048B464 /* JSNPObject.h in Headers */,
     
    80258149                                1A043976124D034800FFBFB5 /* PluginProcess.h in Headers */,
    80268150                                1AC5FFC2174BFD1B0001483D /* PluginProcessAttributes.h in Headers */,
     8151                                41DC459F1E3DBDA500B11F51 /* WebRTCSocket.h in Headers */,
    80278152                                1A0EC906124C0AB8007EF4A5 /* PluginProcessConnection.h in Headers */,
    80288153                                1A0EC90F124C0AF5007EF4A5 /* PluginProcessConnectionManager.h in Headers */,
     
    80818206                                E18E6918169B667B009B6670 /* SecItemShimProxyMessages.h in Headers */,
    80828207                                514D9F5719119D35000063A7 /* ServicesController.h in Headers */,
     8208                                413075AB1DE85F330039EC69 /* NetworkRTCSocket.h in Headers */,
    80838209                                1AFDE65A1954A42B00C48FFA /* SessionState.h in Headers */,
    80848210                                1A002D49196B345D00B9AD44 /* SessionStateCoding.h in Headers */,
     
    81708296                                CD19A26E1A13E834008D650E /* WebDiagnosticLoggingClient.h in Headers */,
    81718297                                1A5B1C5518987EDF004FCF9B /* WebDocumentLoader.h in Headers */,
     8298                                413075B41DE85F580039EC69 /* LibWebRTCProvider.h in Headers */,
    81728299                                BC032D7B10F4378D0058C15A /* WebDragClient.h in Headers */,
    81738300                                BCA0EF9F12332642007D3CFB /* WebEditCommandProxy.h in Headers */,
     
    81948321                                BC0E618312D6CB1D0012A72A /* WebGeolocationManagerProxyMessages.h in Headers */,
    81958322                                BC0E607312D6BC200012A72A /* WebGeolocationPosition.h in Headers */,
     8323                                413075AC1DE85F370039EC69 /* NetworkRTCMonitor.h in Headers */,
    81968324                                BC1BE1F212D54DBD0004A228 /* WebGeolocationProvider.h in Headers */,
    81978325                                2D5036761BCED19F00E20BB3 /* WebGestureEvent.h in Headers */,
     
    82038331                                51D02F6C132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h in Headers */,
    82048332                                510523701C739D42007993CB /* WebIDBConnectionToClient.h in Headers */,
     8333                                413075AD1DE85F580039EC69 /* LibWebRTCSocket.h in Headers */,
    82058334                                5105237A1C73DA77007993CB /* WebIDBConnectionToClientMessages.h in Headers */,
    82068335                                514129941C6428BB0059E714 /* WebIDBConnectionToServer.h in Headers */,
     
    82578386                                CDA29A291CBEB67A00901CCF /* WebPlaybackSessionManagerMessages.h in Headers */,
    82588387                                CDA29A201CBEB5FB00901CCF /* WebPlaybackSessionManagerProxy.h in Headers */,
     8388                                410482CE1DDD324F00F006D0 /* RTCNetwork.h in Headers */,
    82598389                                CDA29A2B1CBEB67A00901CCF /* WebPlaybackSessionManagerProxyMessages.h in Headers */,
    82608390                                31D5929F166E060000E6BF02 /* WebPlugInClient.h in Headers */,
     
    84298559                                1A4D664C18A3030E00D82E21 /* WKFrameInfo.h in Headers */,
    84308560                                2DF9EEE81A78245500B6CFBE /* WKFrameInfoInternal.h in Headers */,
     8561                                41FAF5F81E3C1021001AE678 /* LibWebRTCResolver.h in Headers */,
    84318562                                1A6FA21E1BD0435B00AAA650 /* WKFrameInfoPrivate.h in Headers */,
    84328563                                2D3A65E71A7C3AA700CAC637 /* WKFrameInfoRef.h in Headers */,
     
    84688599                                370F34A51829BEA3009027C8 /* WKNavigationDataInternal.h in Headers */,
    84698600                                BCF69FA91176D1CB00471A52 /* WKNavigationDataRef.h in Headers */,
     8601                                411B22641E371BA6004F7363 /* LibWebRTCNetwork.h in Headers */,
    84708602                                1ABC3DFC1899F51C004F0626 /* WKNavigationDelegate.h in Headers */,
    84718603                                1AA20D5118AD50E0005D1ED4 /* WKNavigationDelegatePrivate.h in Headers */,
     
    85908722                                1AAF089D19267FC800B6390C /* WKUserScriptInternal.h in Headers */,
    85918723                                7C882DFA1C7E9973006BF731 /* WKUserScriptPrivate.h in Headers */,
     8724                                413075B01DE85F580039EC69 /* WebRTCMonitor.h in Headers */,
    85928725                                7C89D2A41A678875003A5FDE /* WKUserScriptRef.h in Headers */,
    85938726                                BC8699B5116AADAA002A925B /* WKView.h in Headers */,
     
    86338766                                2D7AAFD618C956AF00A7ACD4 /* WKWebViewConfigurationInternal.h in Headers */,
    86348767                                1AC1415118AC47EE006C602C /* WKWebViewConfigurationPrivate.h in Headers */,
     8768                                41DC459C1E3DBB2800B11F51 /* LibWebRTCSocketClient.h in Headers */,
    86358769                                2D7AAFD318C8640600A7ACD4 /* WKWebViewContentProvider.h in Headers */,
    86368770                                2DC6D9C318C44A610043BAD4 /* WKWebViewContentProviderRegistry.h in Headers */,
     
    92409374                                1A9E328E182165A900F5D04C /* _WKRemoteObjectInterface.mm in Sources */,
    92419375                                1A9E328A1821636900F5D04C /* _WKRemoteObjectRegistry.mm in Sources */,
     9376                                410482CD1DDD324C00F006D0 /* RTCNetwork.cpp in Sources */,
    92429377                                A55BA8111BA13181007CD33D /* _WKRemoteWebInspectorViewController.mm in Sources */,
     9378                                41DC45A11E3DC53F00B11F51 /* WebRTCResolver.cpp in Sources */,
    92439379                                1A002D45196B338E00B9AD44 /* _WKSessionState.mm in Sources */,
    92449380                                2D6B371C18A967AD0042AE80 /* _WKThumbnailView.mm in Sources */,
     
    93649500                                BC032DA710F437D10058C15A /* Encoder.cpp in Sources */,
    93659501                                51B15A8413843A3900321AD8 /* EnvironmentUtilities.cpp in Sources */,
     9502                                413075AF1DE85F580039EC69 /* WebRTCMonitor.cpp in Sources */,
    93669503                                1AA575FA1496B52600A4EE06 /* EventDispatcher.cpp in Sources */,
    93679504                                1AA576021496B97900A4EE06 /* EventDispatcherMessageReceiver.cpp in Sources */,
     
    95179654                                0F5E200318E77051003EC3E5 /* PlatformCAAnimationRemote.mm in Sources */,
    95189655                                2DA049B3180CCCD300AAFA9E /* PlatformCALayerRemote.cpp in Sources */,
     9656                                413075A91DE85F2C0039EC69 /* NetworkRTCSocket.cpp in Sources */,
    95199657                                2D8710161828415D0018FA01 /* PlatformCALayerRemoteCustom.mm in Sources */,
    95209658                                2D8949F0182044F600E898AA /* PlatformCALayerRemoteTiledBacking.cpp in Sources */,
     
    97089846                                BCE469531214E6CB000B98EB /* WebFormClient.cpp in Sources */,
    97099847                                BCE469551214E6CB000B98EB /* WebFormSubmissionListenerProxy.cpp in Sources */,
     9848                                41DC45971E3D6E2200B11F51 /* NetworkRTCProvider.cpp in Sources */,
    97109849                                BC111ADD112F5B9300337BAB /* WebFrame.cpp in Sources */,
    97119850                                BCE469791214F2B4000B98EB /* WebFrameListenerProxy.cpp in Sources */,
     
    97269865                                BC54CACC12D64291005C67B0 /* WebGeolocationManagerProxy.cpp in Sources */,
    97279866                                BC0E618212D6CB1D0012A72A /* WebGeolocationManagerProxyMessageReceiver.cpp in Sources */,
     9867                                413075AE1DE85F580039EC69 /* LibWebRTCSocket.cpp in Sources */,
    97289868                                BC0E607412D6BC200012A72A /* WebGeolocationPosition.cpp in Sources */,
    97299869                                BC1BE1F312D54DBD0004A228 /* WebGeolocationProvider.cpp in Sources */,
     
    98459985                                510AFFB916542048001BA05E /* WebResourceLoader.cpp in Sources */,
    98469986                                51F060E11654318500F3281B /* WebResourceLoaderMessageReceiver.cpp in Sources */,
     9987                                51F060E11654318500F3281C /* WebRTCSocketMessageReceiver.cpp in Sources */,
     9988                                51F060E11654318500F3282C /* WebRTCResolverMessageReceiver.cpp in Sources */,
     9989                                51F060E11654318500F3281D /* NetworkRTCSocketMessageReceiver.cpp in Sources */,
     9990                                51F060E11654318500F3282E /* NetworkRTCProviderMessageReceiver.cpp in Sources */,
     9991                                51F060E11654318500F3281E /* NetworkRTCMonitorMessageReceiver.cpp in Sources */,
     9992                                51F060E11654318500F3281F /* WebRTCMonitorMessageReceiver.cpp in Sources */,
    98479993                                7A791EFC1C7D08C500C4C52B /* WebResourceLoadStatisticsStore.cpp in Sources */,
    98489994                                7A791EFA1C7CFCF100C4C52B /* WebResourceLoadStatisticsStoreMessageReceiver.cpp in Sources */,
     
    985510001                                5C7706741D1138380012700F /* WebSocketProvider.cpp in Sources */,
    985610002                                8360349F1ACB34D600626549 /* WebSQLiteDatabaseTracker.cpp in Sources */,
     10003                                41DC459B1E3DBB2800B11F51 /* LibWebRTCSocketClient.cpp in Sources */,
    985710004                                1A52C0F71A38CDC70016160A /* WebStorageNamespaceProvider.cpp in Sources */,
    985810005                                BCC5715C115ADAEF001CCAF9 /* WebSystemInterface.mm in Sources */,
     
    987210019                                52D5A1B11C57496200DE34A3 /* WebVideoFullscreenManagerProxy.mm in Sources */,
    987310020                                3F418EFB1887BD97002795FD /* WebVideoFullscreenManagerProxyMessageReceiver.cpp in Sources */,
     10021                                413075B31DE85F580039EC69 /* LibWebRTCProvider.cpp in Sources */,
    987410022                                2DFC7DBC1BCCC19500C1548C /* WebViewImpl.mm in Sources */,
    987510023                                C0337DD1127A2980008FF4F4 /* WebWheelEvent.cpp in Sources */,
    987610024                                868160D0187645570021E79D /* WindowServerConnection.mm in Sources */,
    987710025                                29CD55AB128E294F00133C85 /* WKAccessibilityWebPageObjectBase.mm in Sources */,
     10026                                413075B11DE85F580039EC69 /* LibWebRTCSocketFactory.cpp in Sources */,
    987810027                                29232DF818B2A9AE00D0596F /* WKAccessibilityWebPageObjectIOS.mm in Sources */,
    987910028                                29232DF918B2AB3A00D0596F /* WKAccessibilityWebPageObjectMac.mm in Sources */,
     
    989310042                                1AE00D4C182D6EB000087DD7 /* WKBrowsingContextHandle.mm in Sources */,
    989410043                                BC204EEE11C83EC8008F3375 /* WKBundle.cpp in Sources */,
     10044                                413075AA1DE85F300039EC69 /* NetworkRTCMonitor.cpp in Sources */,
    989510045                                935EEB9E127761AC003322B8 /* WKBundleBackForwardList.cpp in Sources */,
    989610046                                935EEBA0127761AC003322B8 /* WKBundleBackForwardListItem.cpp in Sources */,
     
    990710057                                7CF47FFE17276AE3008ACB91 /* WKBundlePageBannerMac.mm in Sources */,
    990810058                                BC7B633E12A45D1200D174A4 /* WKBundlePageGroup.cpp in Sources */,
     10059                                41FAF5F91E3C1025001AE678 /* LibWebRTCResolver.cpp in Sources */,
    990910060                                EDCA71B7128DDA8C00201B26 /* WKBundlePageOverlay.cpp in Sources */,
    991010061                                BC60C57A1240A546008C5E29 /* WKBundleRangeHandle.cpp in Sources */,
     
    993510086                                1AB7D78E1288CD9A00CFD08C /* WKDownload.cpp in Sources */,
    993610087                                1AF4592E19464B2000F9D4A2 /* WKError.mm in Sources */,
     10088                                41DC459E1E3DBDA100B11F51 /* WebRTCSocket.cpp in Sources */,
    993710089                                BCFD548B132D82680055D816 /* WKErrorCF.cpp in Sources */,
    993810090                                BC4075FB124FF0270068F20A /* WKErrorRef.cpp in Sources */,
  • trunk/Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp

    r204668 r211441  
    3232#include "WebLoaderStrategy.h"
    3333#include "WebProcess.h"
     34#include "WebRTCMonitor.h"
     35#include "WebRTCMonitorMessages.h"
     36#include "WebRTCResolverMessages.h"
     37#include "WebRTCSocketMessages.h"
    3438#include "WebResourceLoaderMessages.h"
    3539#include <WebCore/CachedResource.h>
     
    5559{
    5660    if (decoder.messageReceiverName() == Messages::WebResourceLoader::messageReceiverName()) {
    57         if (WebResourceLoader* webResourceLoader = WebProcess::singleton().webLoaderStrategy().webResourceLoaderForIdentifier(decoder.destinationID()))
     61        if (auto* webResourceLoader = WebProcess::singleton().webLoaderStrategy().webResourceLoaderForIdentifier(decoder.destinationID()))
    5862            webResourceLoader->didReceiveWebResourceLoaderMessage(connection, decoder);
    59        
    6063        return;
    6164    }
     65
     66#if USE(LIBWEBRTC)
     67    if (decoder.messageReceiverName() == Messages::WebRTCSocket::messageReceiverName()) {
     68        WebProcess::singleton().libWebRTCNetwork().socket(decoder.destinationID()).didReceiveMessage(connection, decoder);
     69        return;
     70    }
     71    if (decoder.messageReceiverName() == Messages::WebRTCMonitor::messageReceiverName()) {
     72        WebProcess::singleton().libWebRTCNetwork().monitor().didReceiveMessage(connection, decoder);
     73        return;
     74    }
     75    if (decoder.messageReceiverName() == Messages::WebRTCResolver::messageReceiverName()) {
     76        WebProcess::singleton().libWebRTCNetwork().resolver(decoder.destinationID()).didReceiveMessage(connection, decoder);
     77        return;
     78    }
     79#endif
    6280
    6381    didReceiveNetworkProcessConnectionMessage(connection, decoder);
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r211403 r211441  
    4141#include "InjectedBundleBackForwardList.h"
    4242#include "InjectedBundleScriptWorld.h"
     43#include "LibWebRTCProvider.h"
    4344#include "LoadParameters.h"
    4445#include "Logging.h"
     
    149150#include <WebCore/JSDOMWindow.h>
    150151#include <WebCore/KeyboardEvent.h>
    151 #include <WebCore/LibWebRTCProvider.h>
    152152#include <WebCore/MIMETypeRegistry.h>
    153153#include <WebCore/MainFrame.h>
     
    375375        makeUniqueRef<WebEditorClient>(this),
    376376        WebSocketProvider::create(),
    377         makeUniqueRef<WebCore::LibWebRTCProvider>()
     377        makeUniqueRef<WebKit::LibWebRTCProvider>()
    378378    );
    379379    pageConfiguration.chromeClient = new WebChromeClient(*this);
  • trunk/Source/WebKit2/WebProcess/WebProcess.cpp

    r211312 r211441  
    15471547}
    15481548
     1549#if USE(LIBWEBRTC)
     1550LibWebRTCNetwork& WebProcess::libWebRTCNetwork()
     1551{
     1552    if (!m_libWebRTCNetwork)
     1553        m_libWebRTCNetwork = std::make_unique<LibWebRTCNetwork>();
     1554    return *m_libWebRTCNetwork;
     1555}
     1556#endif
     1557
    15491558} // namespace WebKit
  • trunk/Source/WebKit2/WebProcess/WebProcess.h

    r211312 r211441  
    2929#include "ChildProcess.h"
    3030#include "DrawingArea.h"
     31#include "LibWebRTCNetwork.h"
    3132#include "PluginProcessConnectionManager.h"
    3233#include "ResourceCachesToClear.h"
     
    166167    WebLoaderStrategy& webLoaderStrategy();
    167168
     169#if USE(LIBWEBRTC)
     170    LibWebRTCNetwork& libWebRTCNetwork();
     171#endif
     172
    168173#if ENABLE(DATABASE_PROCESS)
    169174    void webToDatabaseProcessConnectionClosed(WebToDatabaseProcessConnection*);
     
    378383    RefPtr<NetworkProcessConnection> m_networkProcessConnection;
    379384    WebLoaderStrategy& m_webLoaderStrategy;
     385
     386#if USE(LIBWEBRTC)
     387    std::unique_ptr<LibWebRTCNetwork> m_libWebRTCNetwork;
     388#endif
     389
    380390    HashSet<String> m_dnsPrefetchedHosts;
    381391    WebCore::HysteresisActivity m_dnsPrefetchHystereris;
Note: See TracChangeset for help on using the changeset viewer.