WebKit Bugzilla
Attachment 348362 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-20180828171008.patch (text/plain), 21.44 KB, created by
youenn fablet
on 2018-08-28 17:10:09 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
youenn fablet
Created:
2018-08-28 17:10:09 PDT
Size:
21.44 KB
patch
obsolete
>Subversion Revision: 235392 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index e0a5feb96dce2b71ef3a1e1e5fef7e0e6b3bd780..5c774d893b56d51556def43738485cd961401819 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> > > MediaDevices should be collectable as soon as its document is stopped >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index b0933664def1faf18c03121a6bb82384fcaa212e..9a8875ddb7ddd2d458d40488db94678eab236f94 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 Wenson Hsieh <wenson_hsieh@apple.com> > > [Cocoa] Exception (fileType 'dyn.agq8u' is not a valid UTI) raised when dragging an attachment whose file wrapper is a directory >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 8b35f6557fe18cfcb6bbb3ccbc79c547b7d630e2..e917f0ced1e9d6244ccf6018a2946b478e92300d 100644 >--- a/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp >+++ b/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp >@@ -80,6 +80,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; >@@ -197,12 +200,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; >@@ -246,6 +251,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; >@@ -261,6 +267,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; >@@ -282,11 +289,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 0e645b341d921f07900a4f15b448385c411c5226..5241296ba76d55ef49b767b38e13265cffa45df4 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 webRTCLegacyAPIEnabled() const { return m_webRTCLegacyAPIEnabled; } >@@ -321,6 +323,7 @@ private: > #endif > > #if ENABLE(WEB_RTC) >+ bool m_isWebRTCUnifiedPlanEnabled { true }; > bool m_isPeerConnectionEnabled { true }; > bool m_webRTCLegacyAPIEnabled { false }; > bool m_mdnsICECandidatesEnabled { false }; >diff --git a/Source/WebKit/Shared/WebPreferences.yaml b/Source/WebKit/Shared/WebPreferences.yaml >index 260221cb30cd25bf524c22b74e6525187fb8001c..1e767d74d9f970cc44b7ff8158171394cd9ae31a 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 f450c1ea263e8bea6afae466cad27b9cb8185aa6..99663343d593685d743909896896aaa42c0a92dc 100644 >--- a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp >+++ b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp >@@ -242,6 +242,8 @@ void InjectedBundle::overrideBoolPreferenceForTestRunner(WebPageGroupProxy* page > RuntimeEnabledFeatures::sharedFeatures().setWebRTCLegacyAPIEnabled(enabled); > 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 6cb8d2b8c88532f8fba79fb6f7646d86aa48e6bd..8cb0e1e3832807133aaf518e0a01175943a66ebc 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 Wenson Hsieh <wenson_hsieh@apple.com> > > [Cocoa] Exception (fileType 'dyn.agq8u' is not a valid UTI) raised when dragging an attachment whose file wrapper is a directory >diff --git a/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl b/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl >index 6061f0f313eba9d0411676a3a3cf3118e6956937..5b49d658d08c9265e76717e13c452194b26bc075 100644 >--- a/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl >+++ b/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl >@@ -322,6 +322,7 @@ interface TestRunner { > > void setWebRTCLegacyAPIEnabled(boolean value); > 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 d3cf06b41249e3cc8df85ffad3bfde926f9acf5e..45953568d55e200dcd26974f3f7f138b87b9736b 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 013de709e11152d31dce1522c6ac1cbbfee61776..8e044a7dba84e2bfe7da612e83388919b069cd42 100644 >--- a/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h >+++ b/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h >@@ -131,6 +131,7 @@ public: > void setMediaDevicesEnabled(bool); > void setWebRTCLegacyAPIEnabled(bool); > void setMDNSICECandidatesEnabled(bool); >+ void setWebRTCUnifiedPlanEnabled(bool); > void setCustomUserAgent(JSStringRef); > > // Special DOM functions. >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index eda953aa703c3202101054978450e34f949587a7..5b7d173f88084b510ca9cebfb3f447584142aa3e 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,16 @@ >+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!). >+ >+ * 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-28 Youenn Fablet <youenn@apple.com> > > MediaDevices should be collectable as soon as its document is stopped >diff --git a/LayoutTests/imported/w3c/ChangeLog b/LayoutTests/imported/w3c/ChangeLog >index f36cec5f20c743f358b75ffcc8e4f75dce7f24a5..8274d44fd592bdf82ba2f274a8d1d865529f6092 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 Andy Estes <aestes@apple.com> > > [Payment Request] Update payment-request web platform tests >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
Flags:
ews-watchlist
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 189068
:
348362
|
348375
|
348389
|
348412