[WebRTC] Introduce libwebrtc abstraction for WK1/WK2 implementations
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 25 Jan 2017 21:00:11 +0000 (21:00 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 25 Jan 2017 21:00:11 +0000 (21:00 +0000)
commita40e4e61fee9875dbdf1dbaf4418a4a3858b4951
tree23d30f366e606ecbb882ea7ceb06d9c4615c547f
parent59367076b0b9c710a3c61374cb02007308fc3d6e
[WebRTC] Introduce libwebrtc abstraction for WK1/WK2 implementations
https://bugs.webkit.org/show_bug.cgi?id=167294

Source/WebCore:

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

Introducing LibWebRTCMacros.h which should be included before any libwebrtc header.

Introducing LibWebRTCProvider as the abstraction allowing to suport WK1 and WK2 libwebrtc-based WebRTC endpoints.
It  will create a libwebrtc peerconnection object differently in WK1 and WK2 as networking will be done differently.

LibWebRTCUtils contains routines used by WK1 and WK2 RTC providers to create the libwebrtc peerconnection object
and implement the necessary functionalities for it.

Updating PageConfiguration accordingly.

* WebCore.xcodeproj/project.pbxproj:
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
(WebCore::Page::libWebRTCProvider):
* page/PageConfiguration.cpp:
(WebCore::PageConfiguration::PageConfiguration):
* page/PageConfiguration.h:
* platform/mediastream/libwebrtc/LibWebRTCMacros.h: Added.
* platform/mediastream/libwebrtc/LibWebRTCProvider.h: Added.
* platform/mediastream/libwebrtc/LibWebRTCUtils.cpp: Added.
(WebCore::staticFactoryAndThreads):
(WebCore::ThreadMessageData::ThreadMessageData):
(WebCore::PeerConnectionFactoryAndThreads::OnMessage):
(WebCore::callOnWebRTCNetworkThread):
(WebCore::initializePeerConnectionFactoryAndThreads):
(WebCore::initializeLibWebRTCInternalsWithSocketServer):
(WebCore::peerConnectionFactory):
(WebCore::createPeerConnection):
* platform/mediastream/libwebrtc/LibWebRTCUtils.h: Added.
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):

Source/WebKit/mac:

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

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit/win:

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

* WebView.cpp:
(WebView::initWithFrame):

Source/WebKit2:

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

* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_userInterfaceLayoutDirection):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@211161 268f45cc-cd09-0410-ab3c-d52691b4dbfc
20 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/PlatformWin.cmake
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/inspector/InspectorOverlay.cpp
Source/WebCore/page/Page.cpp
Source/WebCore/page/Page.h
Source/WebCore/page/PageConfiguration.cpp
Source/WebCore/page/PageConfiguration.h
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCMacros.h [new file with mode: 0644]
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h [new file with mode: 0644]
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCUtils.cpp [new file with mode: 0644]
Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCUtils.h [new file with mode: 0644]
Source/WebCore/svg/graphics/SVGImage.cpp
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebView/WebView.mm
Source/WebKit/win/ChangeLog
Source/WebKit/win/WebView.cpp
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebPage/WebPage.cpp