Changeset 212699 in webkit


Ignore:
Timestamp:
Feb 20, 2017 9:50:06 PM (7 years ago)
Author:
achristensen@apple.com
Message:

[WebRTC][Mac] Activate libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=167293
LayoutTests/imported/w3c:

<rdar://problem/30401864>

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

  • web-platform-tests/webrtc/datachannel-emptystring-expected.txt:
  • web-platform-tests/webrtc/no-media-call-expected.txt:
  • web-platform-tests/webrtc/promises-call-expected.txt:

Source/ThirdParty/libwebrtc:

<rdar://problem/30401864>

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-20
Reviewed by Alex Christensen.

Doing some clean-up.

  • Configurations/libwebrtc.xcconfig:
  • Source/webrtc/base/checks.h:
  • libwebrtc.xcodeproj/project.pbxproj:

Source/WebCore:

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-20
Reviewed by Alex Christensen.

  • Configurations/WebCore.xcconfig:
  • Configurations/WebCoreTestSupport.xcconfig:

Source/WebKit2:

<rdar://problem/30401864>

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-20
Reviewed by Alex Christensen.

Activating PeerConnection runtime flag based on successful loading of libwebrtc.dylib.

  • Configurations/WebKit.xcconfig:
  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/WebPreferences.cpp:

(WebKit::checkWebRTCAvailability):

Source/WTF:

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-20
Reviewed by Alex Christensen.

  • wtf/Platform.h:

Tools:

<rdar://problem/30401864>

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-20
Reviewed by Alex Christensen.

Fixing paths to allow loading libwebrtc.dylib successfully.

  • Scripts/build-webkit:
  • Scripts/webkitdirs.pm:

(setupMacWebKitEnvironment):
(setupIOSWebKitEnvironment):

LayoutTests:

<rdar://problem/30401864>

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-20
Reviewed by Alex Christensen.

  • TestExpectations:
  • fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt:
  • fast/mediastream/RTCPeerConnection-addTrack-reuse-sender-expected.txt:
  • fast/mediastream/RTCPeerConnection-icecandidate-event-expected.txt:
  • fast/mediastream/RTCPeerConnection-legacy-stream-based-api-expected.txt:
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt: Added.
  • platform/gtk/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt: Copied from LayoutTests/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt.
  • platform/gtk/fast/mediastream/RTCPeerConnection-addTrack-reuse-sender-expected.txt: Copied from LayoutTests/fast/mediastream/RTCPeerConnection-addTrack-reuse-sender-expected.txt.
  • platform/gtk/fast/mediastream/RTCPeerConnection-closed-state-expected.txt: Added.
  • platform/gtk/fast/mediastream/RTCPeerConnection-icecandidate-event-expected.txt: Copied from LayoutTests/fast/mediastream/RTCPeerConnection-icecandidate-event-expected.txt.
  • platform/gtk/fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event-expected.txt: Added.
  • platform/gtk/fast/mediastream/RTCPeerConnection-legacy-stream-based-api-expected.txt: Copied from LayoutTests/fast/mediastream/RTCPeerConnection-legacy-stream-based-api-expected.txt.
  • platform/gtk/fast/mediastream/RTCPeerConnection-onnegotiationneeded-expected.txt: Added.
  • platform/gtk/fast/mediastream/RTCPeerConnection-overloaded-operations-params-expected.txt: Added.
  • platform/gtk/fast/mediastream/RTCRtpSender-replaceTrack-expected.txt: Added.
  • platform/gtk/fast/mediastream/no-media-call-expected.txt: Added.
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
Location:
trunk
Files:
11 added
29 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r212698 r212699  
     12017-02-20  Youenn Fablet  <youenn@apple.com>
     2
     3        [WebRTC][Mac] Activate libwebrtc
     4        https://bugs.webkit.org/show_bug.cgi?id=167293
     5        <rdar://problem/30401864>
     6
     7        Reviewed by Alex Christensen.
     8
     9        * TestExpectations:
     10        * fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt:
     11        * fast/mediastream/RTCPeerConnection-addTrack-reuse-sender-expected.txt:
     12        * fast/mediastream/RTCPeerConnection-icecandidate-event-expected.txt:
     13        * fast/mediastream/RTCPeerConnection-legacy-stream-based-api-expected.txt:
     14        * platform/gtk/TestExpectations:
     15        * platform/gtk/fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt: Added.
     16        * platform/gtk/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt: Copied from LayoutTests/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt.
     17        * platform/gtk/fast/mediastream/RTCPeerConnection-addTrack-reuse-sender-expected.txt: Copied from LayoutTests/fast/mediastream/RTCPeerConnection-addTrack-reuse-sender-expected.txt.
     18        * platform/gtk/fast/mediastream/RTCPeerConnection-closed-state-expected.txt: Added.
     19        * platform/gtk/fast/mediastream/RTCPeerConnection-icecandidate-event-expected.txt: Copied from LayoutTests/fast/mediastream/RTCPeerConnection-icecandidate-event-expected.txt.
     20        * platform/gtk/fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event-expected.txt: Added.
     21        * platform/gtk/fast/mediastream/RTCPeerConnection-legacy-stream-based-api-expected.txt: Copied from LayoutTests/fast/mediastream/RTCPeerConnection-legacy-stream-based-api-expected.txt.
     22        * platform/gtk/fast/mediastream/RTCPeerConnection-onnegotiationneeded-expected.txt: Added.
     23        * platform/gtk/fast/mediastream/RTCPeerConnection-overloaded-operations-params-expected.txt: Added.
     24        * platform/gtk/fast/mediastream/RTCRtpSender-replaceTrack-expected.txt: Added.
     25        * platform/gtk/fast/mediastream/no-media-call-expected.txt: Added.
     26        * platform/ios-simulator-wk2/TestExpectations:
     27        * platform/mac-wk1/TestExpectations:
     28
    1292017-02-20  Joseph Pecoraro  <pecoraro@apple.com>
    230
  • trunk/LayoutTests/TestExpectations

    r212698 r212699  
    693693webrtc [ Skip ]
    694694fast/mediastream/getUserMedia-webaudio.html [ Skip ]
     695fast/mediastream/RTCPeerConnection-AddRemoveStream.html [ Skip ]
     696fast/mediastream/RTCPeerConnection-closed-state.html [ Skip ]
     697fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event.html [ Skip ]
     698fast/mediastream/RTCPeerConnection-more-media-to-negotiate.html [ Skip ]
     699fast/mediastream/RTCPeerConnection-onnegotiationneeded.html [ Skip ]
     700fast/mediastream/RTCPeerConnection-overloaded-operations-params.html [ Skip ]
     701fast/mediastream/RTCRtpSender-replaceTrack.html [ Skip ]
     702fast/mediastream/RTCPeerConnection-icecandidate-event.html [ Pass Failure ]
    695703
    696704# Only iOS WK1 has testRunner.setPagePaused.
  • trunk/LayoutTests/fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt

    r211436 r212699  
    1212*** Define sdpMid, badSdpMid, sdpMLineIndex and badSdpMLineIndex for testing
    1313PASS sdpMLineIndex is not badSdpMLineIndex
    14 PASS sdpMid is not null
    15 PASS sdpMid is not badSdpMid
    16 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: validCandidate, sdpMid: badSdpMid})) rejected with OperationError (DOM Exception 34): sdpMid did not match any media description
    17 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: validCandidate, sdpMLineIndex: badSdpMLineIndex})) rejected with OperationError (DOM Exception 34): sdpMLineIndex is out of range
    18 *** A (bad) sdpMid takes precedesce over valid sdpMLineIndex
    19 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: validCandidate, sdpMid: badSdpMid, sdpMLineIndex: sdpMLineIndex})) rejected with OperationError (DOM Exception 34): sdpMid did not match any media description
    20 *** Test bad candidate content with valid sdpMid
    21 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: 'bad content', sdpMid: sdpMid})) rejected with OperationError (DOM Exception 34): Invalid candidate content
    22 *** Test bad candidate content with valid sdpMLineIndex
    23 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: 'bad content', sdpMLineIndex: sdpMLineIndex})) rejected with OperationError (DOM Exception 34): Invalid candidate content
    24 
    25 *** Test some OK input
    26 PASS promise pc.addIceCandidate({candidate: validCandidate, sdpMid: sdpMid}) fulfilled with undefined
    27 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: validCandidate, sdpMLineIndex: sdpMLineIndex})) fulfilled with undefined
    28 *** A valid sdpMid takes precedesce over a bad sdpMLineIndex
    29 PASS promise pc.addIceCandidate(new RTCIceCandidate({candidate: validCandidate, sdpMid: sdpMid, sdpMLineIndex: badSdpMLineIndex})) fulfilled with undefined
    30 PASS End of test promise chain
     14FAIL Error in promise chain: TypeError: undefined is not an object (evaluating 'pc.getTransceivers()[0].mid')
    3115PASS successfullyParsed is true
    3216
  • trunk/LayoutTests/fast/mediastream/RTCPeerConnection-addTrack-reuse-sender-expected.txt

    r201999 r212699  
    55
    66*** Remote description with audio offer set
    7 PASS pc.getSenders().length is 1
    8 PASS pc.getReceivers().length is 1
    9 PASS pc.getReceivers()[0].track.kind is 'audio'
    10 PASS pc.getTransceivers().length is 1
     7FAIL pc.getSenders().length should be 1. Was 0.
     8FAIL pc.getReceivers().length should be 1. Was 0.
     9FAIL pc.getReceivers()[0].track.kind should be audio. Threw exception TypeError: undefined is not an object (evaluating 'pc.getReceivers()[0].track')
     10FAIL pc.getTransceivers().length should be 1. Was 0.
    1111
    1212*** Check unused sender
    1313audioSender = pc.getSenders()[0]
    14 PASS audioSender.track is null
     14FAIL audioSender.track should be null. Threw exception TypeError: undefined is not an object (evaluating 'audioSender.track')
    1515
    1616*** Adding a video track should not reuse audioSender (wrong kind)
     
    1919
    2020*** An extra sender should have been added
    21 PASS pc.getSenders().length is 2
    22 PASS pc.getSenders().includes(audioSender) is true
     21FAIL pc.getSenders().length should be 2. Was 1.
     22FAIL pc.getSenders().includes(audioSender) should be true. Was false.
    2323PASS pc.getSenders().includes(senderFromAddTrack) is true
    2424
    2525*** Adding an audio track should reuse audioSender
    2626senderFromAddTrack = pc.addTrack(audioTrack, stream)
    27 PASS senderFromAddTrack is audioSender
    28 PASS audioSender.track is audioTrack
     27FAIL senderFromAddTrack should be undefined (of type undefined). Was [object RTCRtpSender] (of type object).
     28FAIL audioSender.track should be [object MediaStreamTrack]. Threw exception TypeError: undefined is not an object (evaluating 'audioSender.track')
    2929
    3030*** The number of senders should not have changed
  • trunk/LayoutTests/fast/mediastream/RTCPeerConnection-icecandidate-event-expected.txt

    r206856 r212699  
    44
    55
     6PASS Got candidate
     7PASS event.candidate instanceof RTCIceCandidate is true
     8PASS event.candidate.sdpMLineIndex is 0
     9FAIL event.candidate.sdpMid should be null (of type object). Was 1 (of type string).
     10PASS event.candidate.candidate: 2013266431 1 udp 2013266432 192.168.0.100 38838 typ host generation 0
    611PASS Local description set
    712PASS End of test promise chain
     
    914PASS event.candidate instanceof RTCIceCandidate is true
    1015PASS event.candidate.sdpMLineIndex is 0
    11 PASS event.candidate.sdpMid is pc.getTransceivers()[0].mid
    12 PASS event.candidate.candidate: candidate:1 1 UDP 2013266431 192.168.0.100 38838 typ host
    13 
     16FAIL event.candidate.sdpMid should be null (of type object). Was 1 (of type string).
     17PASS event.candidate.candidate: 1019216383 1 tcp 1019216384 192.168.0.100 9 typ host tcptype passive generation 0
    1418PASS Got candidate
    1519PASS event.candidate instanceof RTCIceCandidate is true
    1620PASS event.candidate.sdpMLineIndex is 0
    17 PASS event.candidate.sdpMid is pc.getTransceivers()[0].mid
    18 PASS event.candidate.candidate: candidate:2 1 TCP 1019216383 192.168.0.100 9 typ host tcptype active
    19 
    20 PASS Got candidate
    21 PASS event.candidate instanceof RTCIceCandidate is true
    22 PASS event.candidate.sdpMLineIndex is 0
    23 PASS event.candidate.sdpMid is pc.getTransceivers()[0].mid
    24 PASS event.candidate.candidate: candidate:3 1 UDP 1677722111 172.18.0.1 47989 typ srflx raddr 192.168.0.100 rport 47989
    25 
     21FAIL event.candidate.sdpMid should be null (of type object). Was 1 (of type string).
     22PASS event.candidate.candidate: 1677722111 1 tcp 1677722112 172.18.0.1 47989 typ srflx raddr 192.168.0.100 rport 47989 generation 0
    2623PASS Got end of candidates
    2724PASS event.candidate is null
  • trunk/LayoutTests/fast/mediastream/RTCPeerConnection-legacy-stream-based-api-expected.txt

    r202376 r212699  
    4949Create remote offer
    5050Got remote offer, set it
    51 PASS Got 'addstream' event (before setRemoteDescription promise fulfilled)
    52 PASS remoteStream.getTracks().length is 2
    53 PASS pc.getRemoteStreams().length is 1
    54 PASS pc.getRemoteStreams()[0] is remoteStream
    55 PASS pc.getStreamById(remoteStream.id) is remoteStream
    5651Remote offer set
    5752PASS End of test promise chain
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r212656 r212699  
     12017-02-20  Youenn Fablet  <youennf@gmail.com>
     2
     3        [WebRTC][Mac] Activate libwebrtc
     4        https://bugs.webkit.org/show_bug.cgi?id=167293
     5        <rdar://problem/30401864>
     6
     7        Reviewed by Alex Christensen.
     8
     9        * web-platform-tests/webrtc/datachannel-emptystring-expected.txt:
     10        * web-platform-tests/webrtc/no-media-call-expected.txt:
     11        * web-platform-tests/webrtc/promises-call-expected.txt:
     12
    1132017-02-20  Romain Bellessort  <romain.bellessort@crf.canon.fr>
    214
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/datachannel-emptystring-expected.txt

    r211886 r212699  
    11
    2 Harness Error (TIMEOUT), message = null
    3 
    4 TIMEOUT Can send empty strings across a WebRTC data channel. Test timed out
     2FAIL Can send empty strings across a WebRTC data channel. assert_unreached: Error TypeError: Argument 1 ('description') to RTCPeerConnection.setRemoteDescription must be an instance of RTCSessionDescription Reached unreachable code
    53Messages exchanged
    64
    7 Sent: [empty string]
    8 Sent: "done"
    95
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/no-media-call-expected.txt

    r211886 r212699  
    11
    2 Harness Error (TIMEOUT), message = null
    3 
    4 TIMEOUT Can set up a basic WebRTC call with no data. Test timed out
     2FAIL Can set up a basic WebRTC call with no data. assert_unreached: WebRTC called error callback for setRemoteDescription first Reached unreachable code
    53iceConnectionState info
    64
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/promises-call-expected.txt

    r211886 r212699  
    11
    2 Harness Error (TIMEOUT), message = null
    3 
    4 TIMEOUT Can set up a basic WebRTC call with only data using promises. Test timed out
     2FAIL Can set up a basic WebRTC call with only data using promises. assert_unreached: Error TypeError: Argument 1 ('description') to RTCPeerConnection.setRemoteDescription must be an instance of RTCSessionDescription happened at step Set remote description at second Reached unreachable code
    53iceConnectionState info
    64
  • trunk/LayoutTests/platform/gtk/TestExpectations

    r212691 r212699  
    340340webkit.org/b/160996 fast/mediastream/MediaStream-video-element-video-tracks-disabled.html [ ImageOnlyFailure ]
    341341webkit.org/b/161956 fast/mediastream/MediaStream-video-element-displays-buffer.html [ Failure ]
     342
     343# Test skipped in the main expectation file.
     344fast/mediastream/RTCPeerConnection-AddRemoveStream.html [ Pass ]
     345fast/mediastream/RTCPeerConnection-closed-state.html [ Pass ]
     346fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event.html [ Pass ]
     347fast/mediastream/RTCPeerConnection-more-media-to-negotiate.html [ Pass ]
     348fast/mediastream/RTCPeerConnection-onnegotiationneeded.html [ Pass ]
     349fast/mediastream/RTCPeerConnection-overloaded-operations-params.html [ Pass ]
     350fast/mediastream/RTCRtpSender-replaceTrack.html [ Pass ]
    342351
    343352# Proximity Events is not supported.
  • trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations

    r212590 r212699  
    19161916
    19171917webkit.org/b/167258 media/modern-media-controls/audio/audio-controls-metrics.html [ Skip ]
     1918
     1919imported/w3c/web-platform-tests/webrtc [ Skip ]
  • trunk/LayoutTests/platform/mac-wk1/TestExpectations

    r212617 r212699  
    9494http/tests/media/media-stream
    9595http/tests/ssl/media-stream
     96
     97# Skip WebRTC for now in WK1
     98imported/w3c/web-platform-tests/webrtc [ Skip ]
    9699
    97100# These tests test the Shadow DOM based HTML form validation UI but Mac WK1 is using native dialogs instead.
  • trunk/Source/ThirdParty/libwebrtc/ChangeLog

    r212560 r212699  
     12017-02-20  Youenn Fablet  <youenn@apple.com>
     2
     3        [WebRTC][Mac] Activate libwebrtc
     4        https://bugs.webkit.org/show_bug.cgi?id=167293
     5        <rdar://problem/30401864>
     6
     7        Reviewed by Alex Christensen.
     8
     9        Doing some clean-up.
     10
     11        * Configurations/libwebrtc.xcconfig:
     12        * Source/webrtc/base/checks.h:
     13        * libwebrtc.xcodeproj/project.pbxproj:
     14
    1152017-02-17  Alex Christensen  <achristensen@webkit.org>
    216
  • trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig

    r212401 r212699  
    99HEADER_SEARCH_PATHS = Source Source/third_party/jsoncpp/source/include Source/third_party/libsrtp/crypto/include Source/third_party/libsrtp/include Source/third_party/boringssl/src/include Source/third_party/libyuv/include Source/third_party/usrsctp/usrsctplib Source/third_party/usrsctp/usrsctplib/usrsctplib Source/webrtc/sdk/objc/Framework/Headers Source/webrtc/common_audio/signal_processing/include Source/webrtc/modules/audio_coding/codecs/isac/main/include Source/third_party/opus/src/celt Source/third_party/opus/src/include Source/third_party/opus/src/src Source/webrtc/modules/audio_device/mac Source/third_party/usrsctp/usrsctplib/usrsctplib/netinet Source/webrtc/modules/audio_device/ios;
    1010
    11 INSTALL_PATH = /usr/local/lib;
    1211PUBLIC_HEADERS_FOLDER_PATH = /usr/local/include/libwebrtc;
    1312USE_HEADERMAP = NO;
     
    2221EXCLUDED_SOURCE_FILE_NAMES[sdk=iphoneos*] = *_sse.cc *_sse2.cc macutils.cc macwindowpicker.cc audio_device_mac.cc audio_mixer_manager_mac.cc;
    2322EXCLUDED_SOURCE_FILE_NAMES[sdk=iphonesimulator*] = macutils.cc macwindowpicker.cc audio_device_mac.cc audio_mixer_manager_mac.cc;
    24 EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*] = audio_device_ios.mm voice_processing_audio_unit.mm audio_device_not_implemented_ios.mm RTCAudioSessionConfiguration.m RTCAudioSessionDelegateAdapter.mm RTCAudioSession.mm RTCAudioSession+Configuration.mm RTCUIApplication.mm;
     23EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*] = voice_processing_audio_unit.mm;
  • trunk/Source/ThirdParty/libwebrtc/Source/webrtc/base/checks.h

    r212456 r212699  
    212212
    213213// This is identical to LogMessageVoidify but in name.
    214 class WEBRTC_EXPORT FatalMessageVoidify {
     214class FatalMessageVoidify {
    215215 public:
    216216  FatalMessageVoidify() { }
  • trunk/Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj

    r212560 r212699  
    24142414                5CFD53811E4BA4F500482908 /* voice_processing_audio_unit.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CFD537A1E4BA4F500482908 /* voice_processing_audio_unit.h */; };
    24152415                5CFD53821E4BA4F500482908 /* voice_processing_audio_unit.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD537B1E4BA4F500482908 /* voice_processing_audio_unit.mm */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; };
    2416                 5CFD53841E4BBD8D00482908 /* audio_device_not_implemented_ios.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53831E4BBD8D00482908 /* audio_device_not_implemented_ios.mm */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; };
    24172416                5CFD538D1E4BD3A300482908 /* compare_neon.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53851E4BD3A300482908 /* compare_neon.cc */; };
    24182417                5CFD538E1E4BD3A300482908 /* compare_neon64.cc in Sources */ = {isa = PBXBuildFile; fileRef = 5CFD53861E4BD3A300482908 /* compare_neon64.cc */; };
     
    1102411023                                5C119FFE1E457400004F0987 /* audio_device_generic.cc in Sources */,
    1102511024                                5C11A00B1E457448004F0987 /* audio_device_mac.cc in Sources */,
    11026                                 5CFD53841E4BBD8D00482908 /* audio_device_not_implemented_ios.mm in Sources */,
    1102711025                                5CDD84171E439B2900621E92 /* audio_encoder.cc in Sources */,
    1102811026                                5CDD8CA71E43C6F700621E92 /* audio_encoder_cng.cc in Sources */,
  • trunk/Source/WTF/ChangeLog

    r212692 r212699  
     12017-02-20  Youenn Fablet  <youenn@apple.com>
     2
     3        [WebRTC][Mac] Activate libwebrtc
     4        https://bugs.webkit.org/show_bug.cgi?id=167293
     5
     6        Reviewed by Alex Christensen.
     7
     8        * wtf/Platform.h:
     9
    1102017-02-20  Mark Lam  <mark.lam@apple.com>
    211
  • trunk/Source/WTF/wtf/Platform.h

    r212691 r212699  
    12091209#endif /* PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101201 && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200 */
    12101210
     1211#if PLATFORM(MAC)
     1212#define USE_LIBWEBRTC 1
     1213#endif
     1214
    12111215#endif /* WTF_Platform_h */
  • trunk/Source/WebCore/ChangeLog

    r212698 r212699  
     12017-02-20  Youenn Fablet  <youenn@apple.com>
     2
     3        [WebRTC][Mac] Activate libwebrtc
     4        https://bugs.webkit.org/show_bug.cgi?id=167293
     5
     6        Reviewed by Alex Christensen.
     7
     8        * Configurations/WebCore.xcconfig:
     9        * Configurations/WebCoreTestSupport.xcconfig:
     10
    1112017-02-20  Joseph Pecoraro  <pecoraro@apple.com>
    212
  • trunk/Source/WebCore/Configurations/WebCore.xcconfig

    r212042 r212699  
    7272OTHER_LDFLAGS_PLATFORM[sdk=iphoneos*] = $(OTHER_LDFLAGS_BASE_ios) -framework IOSurface -framework GraphicsServices;
    7373OTHER_LDFLAGS_PLATFORM[sdk=iphonesimulator*] = $(OTHER_LDFLAGS_BASE_ios);
    74 OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = $(OTHER_LDFLAGS_BASE) -sub_library libobjc -umbrella WebKit -allowable_client WebCoreTestSupport -allowable_client WebKit2 -allowable_client WebKitLegacy -framework ApplicationServices -framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework DataDetectorsCore -framework IOSurface -framework OpenGL -framework SystemConfiguration;
     74OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = $(OTHER_LDFLAGS_BASE) -sub_library libobjc -umbrella WebKit -allowable_client WebCoreTestSupport -allowable_client WebKit2 -allowable_client WebKitLegacy -framework ApplicationServices -framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework DataDetectorsCore -framework IOSurface -framework OpenGL -framework SystemConfiguration -framework VideoToolbox -framework CoreMedia -weak-lwebrtc;
    7575
    7676SECTORDER_FLAGS = $(SECTORDER_FLAGS_$(CONFIGURATION));
  • trunk/Source/WebCore/Configurations/WebCoreTestSupport.xcconfig

    r212042 r212699  
    5050GCC_SYMBOLS_PRIVATE_EXTERN = YES;
    5151OTHER_LDFLAGS = $(ASAN_OTHER_LDFLAGS);
    52 OTHER_LDFLAGS[sdk=macos*] = $(ASAN_OTHER_LDFLAGS) -framework AppKit;
     52OTHER_LDFLAGS[sdk=macos*] = $(ASAN_OTHER_LDFLAGS) -framework AppKit -weak-lwebrtc;
     53
    5354OTHER_LDFLAGS[sdk=iphoneos*] = $(ASAN_OTHER_LDFLAGS) -lAccessibility -F$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/PhonyWebKitLegacy;
    5455OTHER_LDFLAGS[sdk=iphonesimulator*] = $(ASAN_OTHER_LDFLAGS) -lAccessibility -F$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/PhonyWebKitLegacy;
  • trunk/Source/WebKit2/ChangeLog

    r212691 r212699  
     12017-02-20  Youenn Fablet  <youenn@apple.com>
     2
     3        [WebRTC][Mac] Activate libwebrtc
     4        https://bugs.webkit.org/show_bug.cgi?id=167293
     5        <rdar://problem/30401864>
     6
     7        Reviewed by Alex Christensen.
     8
     9        Activating PeerConnection runtime flag based on successful loading of libwebrtc.dylib.
     10
     11        * Configurations/WebKit.xcconfig:
     12        * Shared/WebPreferencesDefinitions.h:
     13        * UIProcess/WebPreferences.cpp:
     14        (WebKit::checkWebRTCAvailability):
     15
    1162017-02-20  Ryan Haddad  <ryanhaddad@apple.com>
    217
  • trunk/Source/WebKit2/Configurations/WebKit.xcconfig

    r212691 r212699  
    4646
    4747OTHER_LDFLAGS = $(inherited) $(UNEXPORTED_SYMBOL_LDFLAGS) $(ASAN_OTHER_LDFLAGS) $(FRAMEWORK_AND_LIBRARY_LDFLAGS) $(OTHER_LDFLAGS_PLATFORM) -framework WebKitLegacy -sub_umbrella WebKitLegacy;
    48 OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = -sub_umbrella WebCore;
     48OTHER_LDFLAGS_PLATFORM[sdk=macosx*] = -sub_umbrella WebCore -weak-lwebrtc;
    4949OTHER_LDFLAGS_PLATFORM[sdk=iphoneos*] = -lAccessibility;
    5050OTHER_LDFLAGS_PLATFORM[sdk=iphonesimulator*] = -lAccessibility;
  • trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h

    r212557 r212699  
    306306//   wider testing).
    307307
     308// Disable webrtc feature if libwebrtc library is not present
     309namespace WebKit {
     310bool checkWebRTCAvailability();
     311}
     312
    308313#define FOR_EACH_WEBKIT_EXPERIMENTAL_FEATURE_PREFERENCE(macro) \
    309314    macro(SpringTimingFunctionEnabled, springTimingFunctionEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "CSS Spring Animations", "CSS Spring Animation prototype") \
     
    312317    macro(ModernMediaControlsEnabled, modernMediaControlsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Modern Media Controls", "Use modern media controls look") \
    313318    macro(InputEventsEnabled, inputEventsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Input Events", "Enable InputEvents support") \
    314     macro(PeerConnectionEnabled, peerConnectionEnabled, Bool, bool, false, "WebRTC", "Enable WebRTC API") \
     319    macro(PeerConnectionEnabled, peerConnectionEnabled, Bool, bool, checkWebRTCAvailability(), "WebRTC", "Enable WebRTC API") \
    315320    macro(SubtleCryptoEnabled, subtleCryptoEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "SubtleCrypto", "Enable SubtleCrypto support") \
    316321    macro(UserTimingEnabled, userTimingEnabled, Bool, bool, false, "User Timing", "Enable UserTiming API") \
  • trunk/Source/WebKit2/UIProcess/WebPreferences.cpp

    r212434 r212699  
    3030#include "WebPreferencesKeys.h"
    3131#include "WebProcessPool.h"
     32#include <dlfcn.h>
    3233#include <wtf/NeverDestroyed.h>
    3334#include <wtf/ThreadingPrimitives.h>
     
    196197#undef DEFINE_PREFERENCE_GETTER_AND_SETTERS
    197198
     199bool checkWebRTCAvailability()
     200{
     201#if USE(LIBWEBRTC)
     202    void* libwebrtcLibrary = dlopen("libwebrtc.dylib", RTLD_NOW);
     203    if (!libwebrtcLibrary)
     204        return false;
     205    dlclose(libwebrtcLibrary);
     206    return true;
     207#else
     208    return true;
     209#endif
     210}
     211
    198212#define DEFINE_EXPERIMENTAL_PREFERENCE_GETTER_AND_SETTERS(KeyUpper, KeyLower, TypeName, Type, DefaultValue, HumanReadableName, HumanReadableDescription) \
    199213    void WebPreferences::set##KeyUpper(const Type& value) \
  • trunk/Tools/ChangeLog

    r212691 r212699  
     12017-02-20  Youenn Fablet  <youenn@apple.com>
     2
     3        [WebRTC][Mac] Activate libwebrtc
     4        https://bugs.webkit.org/show_bug.cgi?id=167293
     5        <rdar://problem/30401864>
     6
     7        Reviewed by Alex Christensen.
     8
     9        Fixing paths to allow loading libwebrtc.dylib successfully.
     10
     11        * Scripts/build-webkit:
     12        * Scripts/webkitdirs.pm:
     13        (setupMacWebKitEnvironment):
     14        (setupIOSWebKitEnvironment):
     15
    1162017-02-20  Ryan Haddad  <ryanhaddad@apple.com>
    217
  • trunk/Tools/Scripts/build-webkit

    r212306 r212699  
    185185    # ANGLE and libwebrtc must come before WebCore
    186186    splice @projects, 0, 0, ("Source/ThirdParty/ANGLE");
     187    splice @projects, 0, 0, ("Source/ThirdParty/libwebrtc");
    187188
    188189    push @projects, ("Source/WebKit2");
  • trunk/Tools/Scripts/webkitdirs.pm

    r212298 r212699  
    21382138    prependToEnvironmentVariableList("DYLD_FRAMEWORK_PATH", $dyldFrameworkPath);
    21392139    prependToEnvironmentVariableList("__XPC_DYLD_FRAMEWORK_PATH", $dyldFrameworkPath);
     2140    prependToEnvironmentVariableList("DYLD_LIBRARY_PATH", $dyldFrameworkPath);
     2141    prependToEnvironmentVariableList("__XPC_DYLD_LIBRARY_PATH", $dyldFrameworkPath);
    21402142    $ENV{WEBKIT_UNSET_DYLD_FRAMEWORK_PATH} = "YES";
    21412143
     
    21502152    prependToEnvironmentVariableList("DYLD_FRAMEWORK_PATH", $dyldFrameworkPath);
    21512153    prependToEnvironmentVariableList("DYLD_LIBRARY_PATH", $dyldFrameworkPath);
     2154    prependToEnvironmentVariableList("DYLD_LIBRARY_PATH", $dyldFrameworkPath);
     2155    prependToEnvironmentVariableList("__XPC_DYLD_LIBRARY_PATH", $dyldFrameworkPath);
    21522156
    21532157    setUpGuardMallocIfNeeded();
Note: See TracChangeset for help on using the changeset viewer.