WebKit Bugzilla
Attachment 348389 Details for
Bug 189068
: Add a runtime flag for WebRTC unified plan
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-189068-20180828212133.patch (text/plain), 22.40 KB, created by
youenn fablet
on 2018-08-28 21:21:35 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
youenn fablet
Created:
2018-08-28 21:21:35 PDT
Size:
22.40 KB
patch
obsolete
>Subversion Revision: 235451 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index c74c169a3474bbc2a1565b1ef38774e8e1e55f93..eb12b696c1fa47713f48b6701be27b50e9cc4916 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,27 @@ >+2018-08-28 Youenn Fablet <youenn@apple.com> >+ >+ Add a runtime flag for WebRTC unified plan >+ https://bugs.webkit.org/show_bug.cgi?id=189068 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Covered by existing updated tests. >+ Main change is to call addTrack with a stream parameter so that on the other side, the track will be tied to a stream. >+ Receive-only case in unified plan is not yet supported. >+ This will be supported in follow-up patches. >+ >+ * Modules/mediastream/RTCPeerConnection.cpp: >+ (WebCore::RTCPeerConnection::setConfiguration): Set the correct exception type. Drive by fix. >+ * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: >+ (WebCore::LibWebRTCMediaEndpoint::setConfiguration): Activate unified plan based on runtime flag. >+ (WebCore::LibWebRTCMediaEndpoint::addTrack): Do not use AddStream in case of unified plan. >+ (WebCore::LibWebRTCMediaEndpoint::shouldOfferAllowToReceiveAudio const): >+ (WebCore::LibWebRTCMediaEndpoint::shouldOfferAllowToReceiveVideo const): >+ (WebCore::LibWebRTCMediaEndpoint::doCreateOffer): Use legacy webrtc option for receive only cases only in plan B case. >+ * page/RuntimeEnabledFeatures.h: >+ (WebCore::RuntimeEnabledFeatures::webRTCUnifiedPlanEnabled const): >+ (WebCore::RuntimeEnabledFeatures::setWebRTCUnifiedPlanEnabled): >+ > 2018-08-28 Youenn Fablet <youenn@apple.com> > > IDBDatabase should not return true to hasPendingActivity after being stopped >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 960a1b818c0930f3f865cf845e50ad25c8f0f7c3..e521ddb1936b58d00dfbdb9e32c74321bf20e864 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,14 @@ >+2018-08-28 Youenn Fablet <youenn@apple.com> >+ >+ Add a runtime flag for WebRTC unified plan >+ https://bugs.webkit.org/show_bug.cgi?id=189068 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * Shared/WebPreferences.yaml: >+ * WebProcess/InjectedBundle/InjectedBundle.cpp: >+ (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): >+ > 2018-08-27 Youenn Fablet <youenn@apple.com> > > Remove WebRTC legacy API implementation >diff --git a/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp b/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp >index a04f81e1fb12727cffbd508918b23c760a22baef..786a0e1bc5a9604779e5cf039bc8d2d3ef52779d 100644 >--- a/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp >+++ b/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp >@@ -370,7 +370,7 @@ ExceptionOr<void> RTCPeerConnection::setConfiguration(RTCConfiguration&& configu > return servers.releaseException(); > > if (!m_backend->setConfiguration({ servers.releaseReturnValue(), configuration.iceTransportPolicy, configuration.bundlePolicy, configuration.iceCandidatePoolSize })) >- return Exception { InvalidAccessError, "Bad Configuration Parameters" }; >+ return Exception { InvalidModificationError, "Bad Configuration Parameters" }; > > m_configuration = WTFMove(configuration); > return { }; >diff --git a/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp b/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp >index 0ae30342f30a118f592e1dd5ec1cb1b82cfe8d46..0ba49473714dd9e2747f31d26bcfdca5804fa94f 100644 >--- a/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp >+++ b/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp >@@ -79,6 +79,9 @@ LibWebRTCMediaEndpoint::LibWebRTCMediaEndpoint(LibWebRTCPeerConnectionBackend& p > > bool LibWebRTCMediaEndpoint::setConfiguration(LibWebRTCProvider& client, webrtc::PeerConnectionInterface::RTCConfiguration&& configuration) > { >+ if (RuntimeEnabledFeatures::sharedFeatures().webRTCUnifiedPlanEnabled()) >+ configuration.sdp_semantics = webrtc::SdpSemantics::kUnifiedPlan; >+ > if (!m_backend) { > m_backend = client.createPeerConnection(*this, WTFMove(configuration)); > return !!m_backend; >@@ -196,12 +199,14 @@ bool LibWebRTCMediaEndpoint::addTrack(RTCRtpSender& sender, MediaStreamTrack& tr > { > ASSERT(m_backend); > >- String mediaStreamId = mediaStreamIds.isEmpty() ? createCanonicalUUIDString() : mediaStreamIds[0]; >- rtc::scoped_refptr<webrtc::MediaStreamInterface> mediaStream = m_localStreams.get(mediaStreamId); >- if (!mediaStream) { >- mediaStream = m_peerConnectionFactory.CreateLocalMediaStream(mediaStreamId.utf8().data()); >- m_backend->AddStream(mediaStream); >- m_localStreams.add(mediaStreamId, mediaStream); >+ if (!RuntimeEnabledFeatures::sharedFeatures().webRTCUnifiedPlanEnabled()) { >+ String mediaStreamId = mediaStreamIds.isEmpty() ? createCanonicalUUIDString() : mediaStreamIds[0]; >+ rtc::scoped_refptr<webrtc::MediaStreamInterface> mediaStream = m_localStreams.get(mediaStreamId); >+ if (!mediaStream) { >+ mediaStream = m_peerConnectionFactory.CreateLocalMediaStream(mediaStreamId.utf8().data()); >+ m_backend->AddStream(mediaStream); >+ m_localStreams.add(mediaStreamId, mediaStream); >+ } > } > > std::vector<std::string> ids; >@@ -245,6 +250,7 @@ void LibWebRTCMediaEndpoint::removeTrack(RTCRtpSender& sender) > > bool LibWebRTCMediaEndpoint::shouldOfferAllowToReceiveAudio() const > { >+ ASSERT(!RuntimeEnabledFeatures::sharedFeatures().webRTCUnifiedPlanEnabled()); > for (const auto& transceiver : m_peerConnectionBackend.connection().getTransceivers()) { > if (transceiver->sender().trackKind() != "audio") > continue; >@@ -260,6 +266,7 @@ bool LibWebRTCMediaEndpoint::shouldOfferAllowToReceiveAudio() const > > bool LibWebRTCMediaEndpoint::shouldOfferAllowToReceiveVideo() const > { >+ ASSERT(!RuntimeEnabledFeatures::sharedFeatures().webRTCUnifiedPlanEnabled()); > for (const auto& transceiver : m_peerConnectionBackend.connection().getTransceivers()) { > if (transceiver->sender().trackKind() != "video") > continue; >@@ -281,11 +288,13 @@ void LibWebRTCMediaEndpoint::doCreateOffer(const RTCOfferOptions& options) > webrtc::PeerConnectionInterface::RTCOfferAnswerOptions rtcOptions; > rtcOptions.ice_restart = options.iceRestart; > rtcOptions.voice_activity_detection = options.voiceActivityDetection; >- // FIXME: offer_to_receive_audio and offer_to_receive_video are used as libwebrtc does not support transceivers yet. >- if (shouldOfferAllowToReceiveAudio()) >- rtcOptions.offer_to_receive_audio = webrtc::PeerConnectionInterface::RTCOfferAnswerOptions::kOfferToReceiveMediaTrue; >- if (shouldOfferAllowToReceiveVideo()) >- rtcOptions.offer_to_receive_video = webrtc::PeerConnectionInterface::RTCOfferAnswerOptions::kOfferToReceiveMediaTrue; >+ >+ if (!RuntimeEnabledFeatures::sharedFeatures().webRTCUnifiedPlanEnabled()) { >+ if (shouldOfferAllowToReceiveAudio()) >+ rtcOptions.offer_to_receive_audio = webrtc::PeerConnectionInterface::RTCOfferAnswerOptions::kOfferToReceiveMediaTrue; >+ if (shouldOfferAllowToReceiveVideo()) >+ rtcOptions.offer_to_receive_video = webrtc::PeerConnectionInterface::RTCOfferAnswerOptions::kOfferToReceiveMediaTrue; >+ } > m_backend->CreateOffer(&m_createSessionDescriptionObserver, rtcOptions); > } > >diff --git a/Source/WebCore/page/RuntimeEnabledFeatures.h b/Source/WebCore/page/RuntimeEnabledFeatures.h >index cd9193af6a41dc4d2ed94d1bc6e14c8040394750..a60d8a38ef08f63726483181b7d2b752c6a82467 100644 >--- a/Source/WebCore/page/RuntimeEnabledFeatures.h >+++ b/Source/WebCore/page/RuntimeEnabledFeatures.h >@@ -116,6 +116,8 @@ public: > #endif > > #if ENABLE(WEB_RTC) >+ bool webRTCUnifiedPlanEnabled() const { return m_isWebRTCUnifiedPlanEnabled; } >+ void setWebRTCUnifiedPlanEnabled(bool isEnabled) { m_isWebRTCUnifiedPlanEnabled = isEnabled; } > bool peerConnectionEnabled() const { return m_isPeerConnectionEnabled; } > void setPeerConnectionEnabled(bool isEnabled) { m_isPeerConnectionEnabled = isEnabled; } > bool mdnsICECandidatesEnabled() const { return m_mdnsICECandidatesEnabled; } >@@ -319,6 +321,7 @@ private: > #endif > > #if ENABLE(WEB_RTC) >+ bool m_isWebRTCUnifiedPlanEnabled { true }; > bool m_isPeerConnectionEnabled { true }; > bool m_mdnsICECandidatesEnabled { false }; > #endif >diff --git a/Source/WebKit/Shared/WebPreferences.yaml b/Source/WebKit/Shared/WebPreferences.yaml >index 97bb9bd0d443dacdd11df080501474e869e7ead1..1f41929008bbecd0ca6d0b6e327f118da9d690ba 100644 >--- a/Source/WebKit/Shared/WebPreferences.yaml >+++ b/Source/WebKit/Shared/WebPreferences.yaml >@@ -494,6 +494,15 @@ PeerConnectionEnabled: > webcoreBinding: RuntimeEnabledFeatures > condition: ENABLE(WEB_RTC) > >+WebRTCUnifiedPlanEnabled: >+ type: bool >+ defaultValue: true >+ webcoreBinding: RuntimeEnabledFeatures >+ condition: ENABLE(WEB_RTC) >+ humanReadableName: "WebRTC Unified Plan" >+ humanReadableDescription: "Use WebRTC Unified Plan" >+ category: experimental >+ > UseLegacyTextAlignPositionedElementBehavior: > type: bool > defaultValue: false >diff --git a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp >index 38e2bcf6fcfbc158980814455cf3027b9187961d..ff0e185d08aa30e4c12789b7e88a33dc1965cf47 100644 >--- a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp >+++ b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp >@@ -241,6 +241,8 @@ void InjectedBundle::overrideBoolPreferenceForTestRunner(WebPageGroupProxy* page > #if ENABLE(WEB_RTC) > if (preference == "WebKitMDNSICECandidatesEnabled") > RuntimeEnabledFeatures::sharedFeatures().setMDNSICECandidatesEnabled(enabled); >+ if (preference == "WebKitWebRTCUnifiedPlanEnabled") >+ RuntimeEnabledFeatures::sharedFeatures().setWebRTCUnifiedPlanEnabled(enabled); > #endif > > if (preference == "WebKitIsSecureContextAttributeEnabled") { >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index d5340c5aaf3935276ed42858c2f2a15a5ac5648e..48869f3954557107b11a4693d1179be3bd5430d1 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,15 @@ >+2018-08-28 Youenn Fablet <youenn@apple.com> >+ >+ Add a runtime flag for WebRTC unified plan >+ https://bugs.webkit.org/show_bug.cgi?id=189068 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: >+ * WebKitTestRunner/InjectedBundle/TestRunner.cpp: >+ (WTR::TestRunner::setWebRTCUnifiedPlanEnabled): >+ * WebKitTestRunner/InjectedBundle/TestRunner.h: >+ > 2018-08-27 Youenn Fablet <youenn@apple.com> > > Remove WebRTC legacy API implementation >diff --git a/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl b/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl >index 9a55d9213262eaae1fb8c7f1ecca92051f0556a2..a46c46e5b0f94533ff4511f298ea93fab32b4d07 100644 >--- a/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl >+++ b/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl >@@ -321,6 +321,7 @@ interface TestRunner { > void setOpenPanelFiles(object filesArray); > > void setMDNSICECandidatesEnabled(boolean value); >+ void setWebRTCUnifiedPlanEnabled(boolean value); > void setCustomUserAgent(DOMString userAgent); > > void terminateNetworkProcess(); >diff --git a/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp b/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp >index ef98e634c162d50f02c6d6d7adb3582db1e0d254..d4bcaaef023ac95122c1ef720c712d19c6ae20ba 100644 >--- a/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp >+++ b/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp >@@ -442,6 +442,13 @@ void TestRunner::setMDNSICECandidatesEnabled(bool enabled) > WKBundleOverrideBoolPreferenceForTestRunner(injectedBundle.bundle(), injectedBundle.pageGroup(), key.get(), enabled); > } > >+void TestRunner::setWebRTCUnifiedPlanEnabled(bool enabled) >+{ >+ WKRetainPtr<WKStringRef> key(AdoptWK, WKStringCreateWithUTF8CString("WebKitWebRTCUnifiedPlanEnabled")); >+ auto& injectedBundle = InjectedBundle::singleton(); >+ WKBundleOverrideBoolPreferenceForTestRunner(injectedBundle.bundle(), injectedBundle.pageGroup(), key.get(), enabled); >+} >+ > void TestRunner::setCustomUserAgent(JSStringRef userAgent) > { > WKRetainPtr<WKStringRef> messageName(AdoptWK, WKStringCreateWithUTF8CString("SetCustomUserAgent")); >diff --git a/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h b/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h >index 92964889a9a6ec606672a3c4a23862130dc3eeab..bb7a0cfd4e95873cecd2cee69159ad0cd79c1c8c 100644 >--- a/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h >+++ b/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h >@@ -131,6 +131,7 @@ public: > void setEncryptedMediaAPIEnabled(bool); > void setMediaDevicesEnabled(bool); > void setMDNSICECandidatesEnabled(bool); >+ void setWebRTCUnifiedPlanEnabled(bool); > void setCustomUserAgent(JSStringRef); > > // Special DOM functions. >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index aebc9939977504dda94aea41fe1f2a51f266a9bc..c8d8eef590b533efad12c12e8008476871c811ac 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,17 @@ >+2018-08-28 Youenn Fablet <youenn@apple.com> >+ >+ Add a runtime flag for WebRTC unified plan >+ https://bugs.webkit.org/show_bug.cgi?id=189068 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt: >+ * webrtc/peer-connection-audio-mute2.html: >+ * webrtc/peer-connection-remote-audio-mute2.html: >+ * webrtc/video-addTrack-expected.txt: >+ * webrtc/video-addTrack.html: >+ * webrtc/video-addTransceiver.html: >+ > 2018-08-27 Youenn Fablet <youenn@apple.com> > > Remove WebRTC legacy API implementation >diff --git a/LayoutTests/imported/w3c/ChangeLog b/LayoutTests/imported/w3c/ChangeLog >index 75ac6a409b0aa8bb0839be0dca254f24129abb3e..abb9d1ff458ee439bec630a4ed19529e4c454170 100644 >--- a/LayoutTests/imported/w3c/ChangeLog >+++ b/LayoutTests/imported/w3c/ChangeLog >@@ -1,3 +1,13 @@ >+2018-08-28 Youenn Fablet <youenn@apple.com> >+ >+ Add a runtime flag for WebRTC unified plan >+ https://bugs.webkit.org/show_bug.cgi?id=189068 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * web-platform-tests/webrtc/RTCConfiguration-iceServers-expected.txt: >+ * web-platform-tests/webrtc/RTCPeerConnection-addTrack.https-expected.txt: >+ > 2018-08-27 Youenn Fablet <youenn@apple.com> > > Remove WebRTC legacy API implementation >diff --git a/LayoutTests/fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt b/LayoutTests/fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt >index 89bcf5203409ee1ecc6ce961918332765fc4d761..d81f83330a233d7b7360efc1b9e2f9e6cc3367c4 100644 >--- a/LayoutTests/fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt >+++ b/LayoutTests/fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt >@@ -33,10 +33,10 @@ PASS transceiver.receiver is receiver > PASS transceiver.stopped is false > Try to add same track again > PASS sender = pc.addTrack(track, stream) threw exception InvalidAccessError: The object does not support the operation or argument.. >-FAIL sender2 = pc.addTrack(track2, stream, stream2) should not throw exception. Threw exception InvalidAccessError: Unable to add track. >+PASS sender2 = pc.addTrack(track2, stream, stream2) did not throw exception. > PASS pc.getSenders().length is 2 > PASS pc.getSenders()[0] is sender >-FAIL pc.getSenders()[1] should be undefined (of type undefined). Was [object RTCRtpSender] (of type object). >+PASS pc.getSenders()[1] is sender2 > PASS pc.removeTrack(sender) did not throw exception. > Sender is still in getSenders() list > PASS pc.getSenders().length is 2 >diff --git a/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCConfiguration-iceServers-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCConfiguration-iceServers-expected.txt >index cd680aa4a7e714a85baf50e1b4d687bffad6ffa8..65c3e261965dc9cffd10e52f1e90492a6d854532 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCConfiguration-iceServers-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCConfiguration-iceServers-expected.txt >@@ -73,7 +73,7 @@ FAIL new RTCPeerConnection(config) - with invalid stun url should throw SyntaxEr > FAIL setConfiguration(config) - with invalid stun url should throw SyntaxError assert_throws: function "() => > makePc({ iceServers: [{ > urls: 'stun://example.org/foo?x=y' >- }] })" threw object "InvalidAccessError: Bad Configuration Parameters" that is not a DOMException SyntaxError: property "code" is equal to 15, expected 12 >+ }] })" threw object "InvalidModificationError: Bad Configuration Parameters" that is not a DOMException SyntaxError: property "code" is equal to 13, expected 12 > FAIL new RTCPeerConnection(config) - with empty urls and credentialType password should succeed assert_equals: expected (string) "password" but got (undefined) undefined > FAIL setConfiguration(config) - with empty urls and credentialType password should succeed assert_equals: expected (string) "password" but got (undefined) undefined > FAIL new RTCPeerConnection(config) - with empty urls and credentialType oauth should succeed assert_equals: expected (string) "oauth" but got (undefined) undefined >diff --git a/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https-expected.txt >index 78a29d490eb3a616f0e8aec2c00b4aaa7b8aa635..78565279eb53ebda2af9176227842185b4760859 100644 >--- a/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https-expected.txt >+++ b/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-addTrack.https-expected.txt >@@ -2,7 +2,7 @@ > PASS addTrack when pc is closed should throw InvalidStateError > PASS addTrack with single track argument and no mediaStream should succeed > PASS addTrack with single track argument and single mediaStream should succeed >-FAIL addTrack with single track argument and multiple mediaStreams should succeed promise_test: Unhandled rejection with value: object "InvalidAccessError: Unable to add track" >+PASS addTrack with single track argument and multiple mediaStreams should succeed > PASS Adding the same track multiple times should throw InvalidAccessError > PASS addTrack with existing sender with null track, same kind, and recvonly direction should reuse sender > PASS addTrack with existing sender with null track, same kind, and sendrecv direction should create new sender >diff --git a/LayoutTests/webrtc/peer-connection-audio-mute2.html b/LayoutTests/webrtc/peer-connection-audio-mute2.html >index 9dda885fd39ffdb72e6f7f8a44f94697a920dcf0..caa757f85614f4112ef7e0eee76fc6cde28e235d 100644 >--- a/LayoutTests/webrtc/peer-connection-audio-mute2.html >+++ b/LayoutTests/webrtc/peer-connection-audio-mute2.html >@@ -17,7 +17,7 @@ > var remoteStream; > return new Promise((resolve, reject) => { > createConnections((firstConnection) => { >- firstConnection.addTrack(localTrack); >+ firstConnection.addTrack(localTrack, localStream); > }, (secondConnection) => { > secondConnection.ontrack = (trackEvent) => { > remoteStream = trackEvent.streams[0]; >diff --git a/LayoutTests/webrtc/peer-connection-remote-audio-mute2.html b/LayoutTests/webrtc/peer-connection-remote-audio-mute2.html >index 1ba5d33772ae9b9191d916a1ea3a6011e86a1629..ccd2eb29d4f54c9ab604586b9da32199316901f0 100644 >--- a/LayoutTests/webrtc/peer-connection-remote-audio-mute2.html >+++ b/LayoutTests/webrtc/peer-connection-remote-audio-mute2.html >@@ -16,7 +16,7 @@ > var remoteStream; > return new Promise((resolve, reject) => { > createConnections((firstConnection) => { >- firstConnection.addTrack(localStream.getAudioTracks()[0]); >+ firstConnection.addTrack(localStream.getAudioTracks()[0], localStream); > }, (secondConnection) => { > secondConnection.ontrack = (trackEvent) => { > remoteStream = trackEvent.streams[0]; >diff --git a/LayoutTests/webrtc/video-addTrack-expected.txt b/LayoutTests/webrtc/video-addTrack-expected.txt >index 609e289dae91a26d564ff2c518804a70e3ba3044..5af3fbeefde291304dd614d20d3bb4f3bad4924b 100644 >--- a/LayoutTests/webrtc/video-addTrack-expected.txt >+++ b/LayoutTests/webrtc/video-addTrack-expected.txt >@@ -1,4 +1,4 @@ >- >+ > > PASS Basic video exchange with addTrack - waiting for second track before playing > PASS Basic video exchange with addTrack - not waiting for second track to play >@@ -7,5 +7,5 @@ PASS track 1, wait = true > PASS Testing image result, wait = true > PASS track 0, wait = false > PASS track 1, wait = false >-FAIL Testing image result, wait = false The index is not in the allowed range. >+PASS Testing image result, wait = false > >diff --git a/LayoutTests/webrtc/video-addTrack.html b/LayoutTests/webrtc/video-addTrack.html >index 137d4e9a7242daea040e9b9ce5f0cd36524cb0db..45a1baa00870259c3b62ccb3d80c6e6a9e4326ef 100644 >--- a/LayoutTests/webrtc/video-addTrack.html >+++ b/LayoutTests/webrtc/video-addTrack.html >@@ -51,7 +51,7 @@ function testBasicVideoExchangeWithAddTrack(waitForSecondTrack) > return new Promise((resolve, reject) => { > createConnections((firstConnection) => { > assert_equals(stream.getTracks().length, 2); >- stream.getTracks().forEach(track => firstConnection.addTrack(track)); >+ stream.getTracks().forEach(track => firstConnection.addTrack(track, stream)); > }, (secondConnection) => { > var count = 0; > secondConnection.ontrack = (trackEvent) => { >diff --git a/LayoutTests/webrtc/video-addTransceiver.html b/LayoutTests/webrtc/video-addTransceiver.html >index 58f6773c0adbed467cbe5bf77e8b6a475b9a80d6..3ca754c6e692f8468909bd888ec8836a3ec4a388 100644 >--- a/LayoutTests/webrtc/video-addTransceiver.html >+++ b/LayoutTests/webrtc/video-addTransceiver.html >@@ -11,6 +11,8 @@ > <canvas id="canvas" width="640" height="480"></canvas> > <script src ="routines.js"></script> > <script> >+if (window.testRunner) >+ testRunner.setWebRTCUnifiedPlanEnabled(false); > > promise_test((test) => { > var pc = new RTCPeerConnection();
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 189068
:
348362
|
348375
|
348389
|
348412