Changeset 211161 in webkit
- Timestamp:
- Jan 25, 2017 1:00:11 PM (7 years ago)
- Location:
- trunk/Source
- Files:
-
- 5 added
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r211027 r211161 89 89 "${WEBCORE_DIR}/platform/graphics/transforms" 90 90 "${WEBCORE_DIR}/platform/mediastream" 91 "${WEBCORE_DIR}/platform/mediastream/libwebrtc" 91 92 "${WEBCORE_DIR}/platform/mock" 92 93 "${WEBCORE_DIR}/platform/mock/mediasource" -
trunk/Source/WebCore/ChangeLog
r211158 r211161 1 2017-01-25 Youenn Fablet <youennf@gmail.com> 2 3 [WebRTC] Introduce libwebrtc abstraction for WK1/WK2 implementations 4 https://bugs.webkit.org/show_bug.cgi?id=167294 5 6 Reviewed by Alex Christensen. 7 8 Introducing LibWebRTCMacros.h which should be included before any libwebrtc header. 9 10 Introducing LibWebRTCProvider as the abstraction allowing to suport WK1 and WK2 libwebrtc-based WebRTC endpoints. 11 It will create a libwebrtc peerconnection object differently in WK1 and WK2 as networking will be done differently. 12 13 LibWebRTCUtils contains routines used by WK1 and WK2 RTC providers to create the libwebrtc peerconnection object 14 and implement the necessary functionalities for it. 15 16 Updating PageConfiguration accordingly. 17 18 * WebCore.xcodeproj/project.pbxproj: 19 * page/Page.cpp: 20 (WebCore::Page::Page): 21 * page/Page.h: 22 (WebCore::Page::libWebRTCProvider): 23 * page/PageConfiguration.cpp: 24 (WebCore::PageConfiguration::PageConfiguration): 25 * page/PageConfiguration.h: 26 * platform/mediastream/libwebrtc/LibWebRTCMacros.h: Added. 27 * platform/mediastream/libwebrtc/LibWebRTCProvider.h: Added. 28 * platform/mediastream/libwebrtc/LibWebRTCUtils.cpp: Added. 29 (WebCore::staticFactoryAndThreads): 30 (WebCore::ThreadMessageData::ThreadMessageData): 31 (WebCore::PeerConnectionFactoryAndThreads::OnMessage): 32 (WebCore::callOnWebRTCNetworkThread): 33 (WebCore::initializePeerConnectionFactoryAndThreads): 34 (WebCore::initializeLibWebRTCInternalsWithSocketServer): 35 (WebCore::peerConnectionFactory): 36 (WebCore::createPeerConnection): 37 * platform/mediastream/libwebrtc/LibWebRTCUtils.h: Added. 38 * svg/graphics/SVGImage.cpp: 39 (WebCore::SVGImage::dataChanged): 40 1 41 2017-01-25 Wenson Hsieh <wenson_hsieh@apple.com> 2 42 -
trunk/Source/WebCore/PlatformWin.cmake
r211027 r211161 244 244 platform/graphics/win 245 245 246 platform/mediastream/libwebrtc 247 246 248 platform/text/transcoder 247 249 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r211133 r211161 1535 1535 4150F9F212B6E0E70008C860 /* SliderThumbElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4150F9F012B6E0E70008C860 /* SliderThumbElement.cpp */; }; 1536 1536 415670471DBE1533009AC3BB /* PeerConnectionStates.h in Headers */ = {isa = PBXBuildFile; fileRef = 415670461DBE1524009AC3BB /* PeerConnectionStates.h */; }; 1537 415747471E3869A400E914D8 /* LibWebRTCMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 415747431E38699E00E914D8 /* LibWebRTCMacros.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1538 415747481E3869A700E914D8 /* LibWebRTCProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 415747441E38699E00E914D8 /* LibWebRTCProvider.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1539 415747491E3869AA00E914D8 /* LibWebRTCUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 415747451E38699E00E914D8 /* LibWebRTCUtils.cpp */; }; 1540 4157474A1E3869AD00E914D8 /* LibWebRTCUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 415747461E38699E00E914D8 /* LibWebRTCUtils.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1537 1541 4157AF8012F1FB0400A8C6F5 /* MediaControlsApple.h in Headers */ = {isa = PBXBuildFile; fileRef = 4157AF7E12F1FB0400A8C6F5 /* MediaControlsApple.h */; }; 1538 1542 4157AF8112F1FB0400A8C6F5 /* MediaControlsApple.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4157AF7F12F1FB0400A8C6F5 /* MediaControlsApple.cpp */; }; … … 8705 8709 4150F9F012B6E0E70008C860 /* SliderThumbElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SliderThumbElement.cpp; sourceTree = "<group>"; }; 8706 8710 415670461DBE1524009AC3BB /* PeerConnectionStates.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PeerConnectionStates.h; sourceTree = "<group>"; }; 8711 415747431E38699E00E914D8 /* LibWebRTCMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCMacros.h; path = libwebrtc/LibWebRTCMacros.h; sourceTree = "<group>"; }; 8712 415747441E38699E00E914D8 /* LibWebRTCProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCProvider.h; path = libwebrtc/LibWebRTCProvider.h; sourceTree = "<group>"; }; 8713 415747451E38699E00E914D8 /* LibWebRTCUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LibWebRTCUtils.cpp; path = libwebrtc/LibWebRTCUtils.cpp; sourceTree = "<group>"; }; 8714 415747461E38699E00E914D8 /* LibWebRTCUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LibWebRTCUtils.h; path = libwebrtc/LibWebRTCUtils.h; sourceTree = "<group>"; }; 8707 8715 4157AF7E12F1FB0400A8C6F5 /* MediaControlsApple.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaControlsApple.h; sourceTree = "<group>"; }; 8708 8716 4157AF7F12F1FB0400A8C6F5 /* MediaControlsApple.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaControlsApple.cpp; sourceTree = "<group>"; }; … … 15211 15219 isa = PBXGroup; 15212 15220 children = ( 15221 415747421E38698000E914D8 /* libwebrtc */, 15213 15222 0729B14D17CFCCA0004F1D60 /* mac */, 15214 15223 07D6A4F61BF2307D00174146 /* AudioTrackPrivateMediaStream.h */, … … 16621 16630 ); 16622 16631 path = shadow; 16632 sourceTree = "<group>"; 16633 }; 16634 415747421E38698000E914D8 /* libwebrtc */ = { 16635 isa = PBXGroup; 16636 children = ( 16637 415747431E38699E00E914D8 /* LibWebRTCMacros.h */, 16638 415747441E38699E00E914D8 /* LibWebRTCProvider.h */, 16639 415747451E38699E00E914D8 /* LibWebRTCUtils.cpp */, 16640 415747461E38699E00E914D8 /* LibWebRTCUtils.h */, 16641 ); 16642 name = libwebrtc; 16623 16643 sourceTree = "<group>"; 16624 16644 }; … … 25720 25740 A8136D380973A8E700D74463 /* FormDataList.h in Headers */, 25721 25741 7EE6846712D26E3800E79415 /* FormDataStreamCFNet.h in Headers */, 25742 4157474A1E3869AD00E914D8 /* LibWebRTCUtils.h in Headers */, 25722 25743 514C764E0CE9234E007EF3CD /* FormDataStreamMac.h in Headers */, 25723 25744 9B50B1DE17CD4C0F0087F63C /* FormNamedItem.h in Headers */, … … 25801 25822 2D8287F716E4A0380086BD00 /* HitTestLocation.h in Headers */, 25802 25823 930908910AF7EDE40081DF01 /* HitTestRequest.h in Headers */, 25824 415747471E3869A400E914D8 /* LibWebRTCMacros.h in Headers */, 25803 25825 9307F1D80AF2D59000DBA31A /* HitTestResult.h in Headers */, 25804 25826 BC3BC29C0E91AB0F00835588 /* HostWindow.h in Headers */, … … 27461 27483 F55B3DD01251F12D003EF269 /* ResetInputType.h in Headers */, 27462 27484 7EE6846A12D26E3800E79415 /* ResourceError.h in Headers */, 27485 415747481E3869A700E914D8 /* LibWebRTCProvider.h in Headers */, 27463 27486 934F713C0D5A6F1900018D69 /* ResourceErrorBase.h in Headers */, 27464 27487 514C76790CE923A1007EF3CD /* ResourceHandle.h in Headers */, … … 31301 31324 97B1F02E13B025CA00F5103F /* SharedBufferChunkReader.cpp in Sources */, 31302 31325 1A4A95520B4EDCFF002D8C3C /* SharedBufferCocoa.mm in Sources */, 31326 415747491E3869AA00E914D8 /* LibWebRTCUtils.cpp in Sources */, 31303 31327 163E88F7118A39D200ED9231 /* SimpleFontDataCoreText.cpp in Sources */, 31304 31328 E48944A2180B57D800F165D8 /* SimpleLineLayout.cpp in Sources */, -
trunk/Source/WebCore/inspector/InspectorOverlay.cpp
r210492 r211161 38 38 #include "InspectorClient.h" 39 39 #include "InspectorOverlayPage.h" 40 #include "LibWebRTCProvider.h" 40 41 #include "MainFrame.h" 41 42 #include "Node.h" … … 860 861 return m_overlayPage.get(); 861 862 862 PageConfiguration pageConfiguration(createEmptyEditorClient(), SocketProvider::create()); 863 PageConfiguration pageConfiguration( 864 createEmptyEditorClient(), 865 SocketProvider::create(), 866 makeUniqueRef<LibWebRTCProvider>() 867 ); 863 868 fillWithEmptyClients(pageConfiguration); 864 869 m_overlayPage = std::make_unique<Page>(WTFMove(pageConfiguration)); -
trunk/Source/WebCore/page/Page.cpp
r211114 r211161 56 56 #include "InspectorController.h" 57 57 #include "InspectorInstrumentation.h" 58 #include "LibWebRTCProvider.h" 58 59 #include "Logging.h" 59 60 #include "MainFrame.h" … … 202 203 , m_diagnosticLoggingClient(WTFMove(pageConfiguration.diagnosticLoggingClient)) 203 204 , m_webGLStateTracker(WTFMove(pageConfiguration.webGLStateTracker)) 205 , m_libWebRTCProvider(WTFMove(pageConfiguration.libWebRTCProvider)) 204 206 , m_openedByDOM(false) 205 207 , m_tabKeyCyclesThroughElements(true) -
trunk/Source/WebCore/page/Page.h
r211052 r211161 98 98 class InspectorClient; 99 99 class InspectorController; 100 class LibWebRTCProvider; 100 101 class MainFrame; 101 102 class MediaCanStartListener; … … 110 111 class PluginInfoProvider; 111 112 class PluginViewBase; 112 #if ENABLE(POINTER_LOCK)113 113 class PointerLockController; 114 #endif115 114 class ProgressTracker; 116 115 class ProgressTrackerClient; … … 224 223 PointerLockController& pointerLockController() const { return *m_pointerLockController; } 225 224 #endif 225 LibWebRTCProvider& libWebRTCProvider() { return m_libWebRTCProvider.get(); } 226 226 227 227 ValidationMessageClient* validationMessageClient() const { return m_validationMessageClient.get(); } … … 632 632 std::unique_ptr<WebGLStateTracker> m_webGLStateTracker; 633 633 634 UniqueRef<LibWebRTCProvider> m_libWebRTCProvider; 635 634 636 int m_nestedRunLoopCount { 0 }; 635 637 std::function<void()> m_unnestCallback; -
trunk/Source/WebCore/page/PageConfiguration.cpp
r210753 r211161 21 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 24 */ 25 25 … … 32 32 #include "DiagnosticLoggingClient.h" 33 33 #include "EditorClient.h" 34 #include "LibWebRTCProvider.h" 34 35 #include "PluginInfoProvider.h" 35 36 #include "SocketProvider.h" … … 42 43 namespace WebCore { 43 44 44 PageConfiguration::PageConfiguration(UniqueRef<EditorClient>&& editorClient, Ref<SocketProvider>&& socketProvider )45 PageConfiguration::PageConfiguration(UniqueRef<EditorClient>&& editorClient, Ref<SocketProvider>&& socketProvider, UniqueRef<LibWebRTCProvider>&& libWebRTCProvider) 45 46 : editorClient(WTFMove(editorClient)) 46 47 , socketProvider(WTFMove(socketProvider)) 48 , libWebRTCProvider(WTFMove(libWebRTCProvider)) 47 49 { 48 50 } -
trunk/Source/WebCore/page/PageConfiguration.h
r210753 r211161 21 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 24 */ 25 25 … … 36 36 class BackForwardClient; 37 37 class ChromeClient; 38 class ContextMenuClient; 38 39 class DatabaseProvider; 39 40 class DiagnosticLoggingClient; … … 42 43 class FrameLoaderClient; 43 44 class InspectorClient; 45 class LibWebRTCProvider; 44 46 class PaymentCoordinatorClient; 45 47 class PlugInClient; … … 53 55 class WebGLStateTracker; 54 56 55 #if ENABLE(CONTEXT_MENUS)56 class ContextMenuClient;57 #endif58 59 57 class PageConfiguration { 60 58 WTF_MAKE_NONCOPYABLE(PageConfiguration); WTF_MAKE_FAST_ALLOCATED; 61 59 public: 62 WEBCORE_EXPORT PageConfiguration(UniqueRef<EditorClient>&&, Ref<SocketProvider>&& );60 WEBCORE_EXPORT PageConfiguration(UniqueRef<EditorClient>&&, Ref<SocketProvider>&&, UniqueRef<LibWebRTCProvider>&&); 63 61 WEBCORE_EXPORT ~PageConfiguration(); 64 62 … … 75 73 PaymentCoordinatorClient* paymentCoordinatorClient { nullptr }; 76 74 #endif 75 76 UniqueRef<LibWebRTCProvider> libWebRTCProvider; 77 77 78 78 PlugInClient* plugInClient { nullptr }; -
trunk/Source/WebCore/svg/graphics/SVGImage.cpp
r210492 r211161 41 41 #include "IntRect.h" 42 42 #include "JSDOMWindowBase.h" 43 #include "LibWebRTCProvider.h" 43 44 #include "MainFrame.h" 44 45 #include "Page.h" … … 415 416 416 417 if (allDataReceived) { 417 PageConfiguration pageConfiguration(createEmptyEditorClient(), SocketProvider::create()); 418 PageConfiguration pageConfiguration( 419 createEmptyEditorClient(), 420 SocketProvider::create(), 421 makeUniqueRef<LibWebRTCProvider>() 422 ); 418 423 fillWithEmptyClients(pageConfiguration); 419 424 m_chromeClient = std::make_unique<SVGImageChromeClient>(this); -
trunk/Source/WebKit/mac/ChangeLog
r211158 r211161 1 2017-01-24 Youenn Fablet <youennf@gmail.com> 2 3 [WebRTC] Introduce libwebrtc abstraction for WK1/WK2 implementations 4 https://bugs.webkit.org/show_bug.cgi?id=167294 5 6 Reviewed by Alex Christensen. 7 8 * WebView/WebView.mm: 9 (-[WebView _commonInitializationWithFrameName:groupName:]): 10 1 11 2017-01-25 Wenson Hsieh <wenson_hsieh@apple.com> 2 12 -
trunk/Source/WebKit/mac/WebView/WebView.mm
r211135 r211161 158 158 #import <WebCore/JSNodeList.h> 159 159 #import <WebCore/JSNotification.h> 160 #import <WebCore/LibWebRTCProvider.h> 160 161 #import <WebCore/LocalizedStrings.h> 161 162 #import <WebCore/LogInitialization.h> … … 1343 1344 _private->group->addWebView(self); 1344 1345 1345 PageConfiguration pageConfiguration(makeUniqueRef<WebEditorClient>(self), SocketProvider::create()); 1346 PageConfiguration pageConfiguration( 1347 makeUniqueRef<WebEditorClient>(self), 1348 SocketProvider::create(), 1349 makeUniqueRef<WebCore::LibWebRTCProvider>() 1350 ); 1346 1351 #if !PLATFORM(IOS) 1347 1352 pageConfiguration.chromeClient = new WebChromeClient(self); … … 1598 1603 _private->group->addWebView(self); 1599 1604 1600 PageConfiguration pageConfiguration(makeUniqueRef<WebEditorClient>(self), SocketProvider::create()); 1605 PageConfiguration pageConfiguration( 1606 makeUniqueRef<WebEditorClient>(self), 1607 SocketProvider::create(), 1608 makeUniqueRef<WebCore::LibWebRTCProvider>() 1609 ); 1601 1610 pageConfiguration.chromeClient = new WebChromeClientIOS(self); 1602 1611 #if ENABLE(DRAG_SUPPORT) -
trunk/Source/WebKit/win/ChangeLog
r211042 r211161 1 2017-01-24 Youenn Fablet <youennf@gmail.com> 2 3 [WebRTC] Introduce libwebrtc abstraction for WK1/WK2 implementations 4 https://bugs.webkit.org/show_bug.cgi?id=167294 5 6 Reviewed by Alex Christensen. 7 8 * WebView.cpp: 9 (WebView::initWithFrame): 10 1 11 2017-01-23 Chris Dumez <cdumez@apple.com> 2 12 -
trunk/Source/WebKit/win/WebView.cpp
r211033 r211161 123 123 #include <WebCore/JSElement.h> 124 124 #include <WebCore/KeyboardEvent.h> 125 #include <WebCore/LibWebRTCProvider.h> 125 126 #include <WebCore/LogInitialization.h> 126 127 #include <WebCore/Logging.h> … … 3100 3101 m_inspectorClient = new WebInspectorClient(this); 3101 3102 3102 PageConfiguration configuration(makeUniqueRef<WebEditorClient>(this), SocketProvider::create()); 3103 PageConfiguration configuration( 3104 makeUniqueRef<WebEditorClient>(this), 3105 SocketProvider::create(), 3106 makeUniqueRef<LibWebRTCProvider>() 3107 ); 3103 3108 configuration.backForwardClient = BackForwardList::create(); 3104 3109 configuration.chromeClient = new WebChromeClient(this); -
trunk/Source/WebKit2/ChangeLog
r211160 r211161 1 2017-01-25 Youenn Fablet <youennf@gmail.com> 2 3 [WebRTC] Introduce libwebrtc abstraction for WK1/WK2 implementations 4 https://bugs.webkit.org/show_bug.cgi?id=167294 5 6 Reviewed by Alex Christensen. 7 8 * WebProcess/WebPage/WebPage.cpp: 9 (WebKit::m_userInterfaceLayoutDirection): 10 1 11 2017-01-25 Andy Estes <aestes@apple.com> 2 12 -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r211095 r211161 148 148 #include <WebCore/JSDOMWindow.h> 149 149 #include <WebCore/KeyboardEvent.h> 150 #include <WebCore/LibWebRTCProvider.h> 150 151 #include <WebCore/MIMETypeRegistry.h> 151 152 #include <WebCore/MainFrame.h> … … 374 375 #endif 375 376 376 PageConfiguration pageConfiguration(makeUniqueRef<WebEditorClient>(this), WebSocketProvider::create()); 377 PageConfiguration pageConfiguration( 378 makeUniqueRef<WebEditorClient>(this), 379 WebSocketProvider::create(), 380 makeUniqueRef<WebCore::LibWebRTCProvider>() 381 ); 377 382 pageConfiguration.chromeClient = new WebChromeClient(*this); 378 383 #if ENABLE(CONTEXT_MENUS)
Note: See TracChangeset
for help on using the changeset viewer.