Diff
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-14 07:40:37 UTC (rev 282381)
@@ -1,3 +1,29 @@
+2021-09-14 Youenn Fablet <[email protected]>
+
+ Migrate some WPT WebRTC tests our of legacy offerToReceive parameters
+ https://bugs.webkit.org/show_bug.cgi?id=230000
+
+ Reviewed by Eric Carlson.
+
+ offerToReceive options are legacy options tested in WPT webrtc-legacy folder.
+ Move to addTransceiver instead.
+
+ * web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState-expected.txt:
+ * web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState.html:
+ * web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState-expected.txt:
+ * web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html:
+ * web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer-expected.txt:
+ * web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer.html:
+ * web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer-expected.txt:
+ * web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer.html:
+ * web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-rollback.html:
+ * web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-offer-expected.txt:
+ * web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-offer.html:
+ * web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html:
+ * web-platform-tests/webrtc/RTCPeerConnection-transceivers.https-expected.txt:
+ * web-platform-tests/webrtc/RTCPeerConnection-transceivers.https.html:
+ * web-platform-tests/webrtc/protocol/RTCPeerConnection-payloadTypes.html:
+
2021-09-13 Simon Fraser <[email protected]>
Fix computed style for transform-origin on SVG boxes
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState-expected.txt (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState-expected.txt 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState-expected.txt 2021-09-14 07:40:37 UTC (rev 282381)
@@ -1,7 +1,5 @@
-Harness Error (TIMEOUT), message = null
+PASS rolling back an ICE restart when gathering is complete should not result in iceGatheringState changes
+FAIL setLocalDescription(rollback) of original offer should cause iceGatheringState to reach "new" when starting in "complete" promise_test: Unhandled rejection with value: "Unexpected gathering state: complete, was expecting gathering"
+FAIL setLocalDescription(rollback) of original offer should cause iceGatheringState to reach "new" when starting in "gathering" promise_test: Unhandled rejection with value: "Unexpected gathering state: complete, was expecting gathering"
-TIMEOUT rolling back an ICE restart when gathering is complete should not result in iceGatheringState changes Test timed out
-NOTRUN setLocalDescription(rollback) of original offer should cause iceGatheringState to reach "new" when starting in "complete"
-NOTRUN setLocalDescription(rollback) of original offer should cause iceGatheringState to reach "new" when starting in "gathering"
-
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState.html (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState.html 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-explicit-rollback-iceGatheringState.html 2021-09-14 07:40:37 UTC (rev 282381)
@@ -12,8 +12,9 @@
t.add_cleanup(() => pc1.close());
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
await initialOfferAnswerWithIceGatheringStateTransitions(
- pc1, pc2, {offerToReceiveAudio: true});
+ pc1, pc2);
await pc1.setLocalDescription(await pc1.createOffer({iceRestart: true}));
await iceGatheringStateTransitions(pc1, 'gathering', 'complete');
expectNoMoreGatheringStateChanges(t, pc1);
@@ -24,8 +25,9 @@
promise_test(async t => {
const pc = new RTCPeerConnection();
t.add_cleanup(() => pc.close());
+ pc.addTransceiver('audio', { direction: 'recvonly' });
await pc.setLocalDescription(
- await pc.createOffer({offerToReceiveAudio: true}));
+ await pc.createOffer());
await iceGatheringStateTransitions(pc, 'gathering', 'complete');
await pc.setLocalDescription({type: 'rollback'});
await iceGatheringStateTransitions(pc, 'new');
@@ -34,8 +36,9 @@
promise_test(async t => {
const pc = new RTCPeerConnection();
t.add_cleanup(() => pc.close());
+ pc.addTransceiver('audio', { direction: 'recvonly' });
await pc.setLocalDescription(
- await pc.createOffer({offerToReceiveAudio: true}));
+ await pc.createOffer());
await iceGatheringStateTransitions(pc, 'gathering');
await pc.setLocalDescription({type: 'rollback'});
// We might go directly to 'new', or we might go to 'complete' first,
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState-expected.txt (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState-expected.txt 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState-expected.txt 2021-09-14 07:40:37 UTC (rev 282381)
@@ -1,12 +1,10 @@
-Harness Error (TIMEOUT), message = null
-
PASS Initial iceGatheringState should be new
PASS iceGatheringState should eventually become complete after setLocalDescription
-TIMEOUT setLocalDescription(reoffer) with no new transports should not cause iceGatheringState to change Test timed out
-NOTRUN setLocalDescription() with no transports should not cause iceGatheringState to change
-NOTRUN setLocalDescription(reoffer) with a new transport should cause iceGatheringState to go to "checking" and then "complete"
-NOTRUN sRD does not cause ICE gathering state changes
-NOTRUN renegotiation that closes all transports should result in ICE gathering state "new"
+FAIL setLocalDescription(reoffer) with no new transports should not cause iceGatheringState to change promise_test: Unhandled rejection with value: "Unexpected gathering state: complete, was expecting gathering"
+PASS setLocalDescription() with no transports should not cause iceGatheringState to change
+FAIL setLocalDescription(reoffer) with a new transport should cause iceGatheringState to go to "checking" and then "complete" promise_test: Unhandled rejection with value: "Unexpected gathering state: complete, was expecting gathering"
+PASS sRD does not cause ICE gathering state changes
+FAIL renegotiation that closes all transports should result in ICE gathering state "new" promise_test: Unhandled rejection with value: "Unexpected gathering state: complete, was expecting gathering"
FAIL connection with one data channel should eventually have connected connection state assert_equals: Expect ICE transport to be in checking gatheringState when iceGatheringState is checking expected "gathering" but got "new"
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html 2021-09-14 07:40:37 UTC (rev 282381)
@@ -89,8 +89,9 @@
t.add_cleanup(() => pc1.close());
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
await initialOfferAnswerWithIceGatheringStateTransitions(
- pc1, pc2, {offerToReceiveAudio: true});
+ pc1, pc2);
expectNoMoreGatheringStateChanges(t, pc1);
expectNoMoreGatheringStateChanges(t, pc2);
@@ -117,8 +118,9 @@
t.add_cleanup(() => pc1.close());
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
await initialOfferAnswerWithIceGatheringStateTransitions(
- pc1, pc2, {offerToReceiveAudio:true});
+ pc1, pc2);
await pc1.setLocalDescription(await pc1.createOffer({iceRestart: true}));
await iceGatheringStateTransitions(pc1, 'gathering', 'complete');
}, 'setLocalDescription(reoffer) with a new transport should cause iceGatheringState to go to "checking" and then "complete"');
@@ -129,7 +131,8 @@
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
expectNoMoreGatheringStateChanges(t, pc2);
- const offer = await pc1.createOffer({offerToReceiveAudio: true});
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
+ const offer = await pc1.createOffer();
await pc2.setRemoteDescription(offer);
await pc2.setRemoteDescription(offer);
await pc2.setRemoteDescription({type: 'rollback'});
@@ -141,8 +144,9 @@
t.add_cleanup(() => pc1.close());
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
await initialOfferAnswerWithIceGatheringStateTransitions(
- pc1, pc2, {offerToReceiveAudio: true});
+ pc1, pc2);
const pc1waiter = iceGatheringStateTransitions(pc1, 'new');
const pc2waiter = iceGatheringStateTransitions(pc2, 'new');
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer-expected.txt (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer-expected.txt 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer-expected.txt 2021-09-14 07:40:37 UTC (rev 282381)
@@ -1,7 +1,7 @@
PASS setLocalDescription() with valid answer should succeed
FAIL setLocalDescription() with type answer and null sdp should use lastAnswer generated from createAnswer promise_test: Unhandled rejection with value: object "OperationError: Expect line: v="
-FAIL setLocalDescription() with answer not created by own createAnswer() should reject with InvalidModificationError promise_rejects_dom: function "function () { throw e }" threw object "OperationError: Failed to set local answer sdp: Failed to apply the description for m= section with mid='0': Local fingerprint does not match identity. Expected: sha-256 5A:90:E6:76:2B:68:BA:02:57:FC:0E:37:B6:BF:A7:1E:79:58:12:D4:6C:0D:84:CB:08:D2:F7:BB:01:9E:B9:CB Got: sha-256 05:68:D4:79:D9:47:72:10:F1:2A:F8:81:C7:C0:C5:28:4C:9B:B9:90:9A:60:81:E6:2C:31:35:E5:9D:C7:E2:0A" that is not a DOMException InvalidModificationError: property "code" is equal to 0, expected 13
+FAIL setLocalDescription() with answer not created by own createAnswer() should reject with InvalidModificationError promise_rejects_dom: function "function () { throw e }" threw object "OperationError: Failed to set local answer sdp: Failed to apply the description for m= section with mid='0': Local fingerprint does not match identity. Expected: sha-256 F9:83:77:F9:B1:29:47:BB:EE:88:94:E9:94:F4:EC:A7:21:5A:9D:4C:29:CA:C1:5B:25:E3:47:8D:EB:78:5D:AD Got: sha-256 9B:72:99:AB:6C:9E:5F:CA:8E:3A:76:5E:F0:5A:B7:6B:2D:3E:03:81:9B:71:B1:90:34:93:9A:E6:35:9E:37:5E" that is not a DOMException InvalidModificationError: property "code" is equal to 0, expected 13
FAIL Calling setLocalDescription(answer) from stable state should reject with InvalidModificationError promise_rejects_dom: function "function () { throw e }" threw object "InvalidStateError: Failed to set local answer sdp: no pending remote description." that is not a DOMException InvalidModificationError: property "code" is equal to 11, expected 13
FAIL Calling setLocalDescription(answer) from have-local-offer state should reject with InvalidModificationError promise_rejects_dom: function "function () { throw e }" threw object "InvalidStateError: Failed to set local answer sdp: no pending remote description." that is not a DOMException InvalidModificationError: property "code" is equal to 11, expected 13
PASS Setting previously generated answer after a call to createOffer should work
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer.html (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer.html 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-answer.html 2021-09-14 07:40:37 UTC (rev 282381)
@@ -177,11 +177,13 @@
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
- const offer = await pc1.createOffer({offerToReceiveAudio: true});
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
+ const offer = await pc1.createOffer();
await pc2.setRemoteDescription(offer);
const answer = await pc2.createAnswer(); // [[LastAnswer]] slot set
await pc2.setRemoteDescription({type: "rollback"});
- await pc2.createOffer({offerToReceiveVideo: true}); // [[LastOffer]] slot set
+ pc2.addTransceiver('video', { direction: 'recvonly' });
+ await pc2.createOffer(); // [[LastOffer]] slot set
await pc2.setRemoteDescription(offer);
await pc2.setLocalDescription(answer); // Should check against [[LastAnswer]], not [[LastOffer]]
}, "Setting previously generated answer after a call to createOffer should work");
@@ -192,7 +194,8 @@
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
- await pc2.setRemoteDescription(await pc1.createOffer({offerToReceiveAudio: true}));
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
+ await pc2.setRemoteDescription(await pc1.createOffer());
const answer = await pc2.createAnswer();
const sldPromise = pc2.setLocalDescription(answer);
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer-expected.txt (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer-expected.txt 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer-expected.txt 2021-09-14 07:40:37 UTC (rev 282381)
@@ -1,10 +1,10 @@
PASS setLocalDescription with valid offer should succeed
FAIL setLocalDescription with type offer and null sdp should use lastOffer generated from createOffer promise_test: Unhandled rejection with value: object "OperationError: Expect line: v="
-FAIL setLocalDescription() with offer not created by own createOffer() should reject with InvalidModificationError promise_rejects_dom: function "function () { throw e }" threw object "OperationError: Failed to set local offer sdp: Failed to apply the description for m= section with mid='0': Local fingerprint does not match identity. Expected: sha-256 CB:DD:6C:16:C3:EB:2B:91:4B:45:55:4F:C1:45:DC:BF:53:7C:F4:4B:F5:07:80:18:31:8A:51:3A:35:0E:36:4C Got: sha-256 DD:D9:E2:F3:33:68:9A:4C:1D:FD:BE:CA:4E:0F:35:78:FC:B5:2A:0A:C8:E5:CD:E2:93:7B:C7:7A:99:C2:31:63" that is not a DOMException InvalidModificationError: property "code" is equal to 0, expected 13
+FAIL setLocalDescription() with offer not created by own createOffer() should reject with InvalidModificationError promise_rejects_dom: function "function () { throw e }" threw object "OperationError: Failed to set local offer sdp: Failed to apply the description for m= section with mid='0': Local fingerprint does not match identity. Expected: sha-256 D8:63:74:FC:91:AB:D7:9A:50:2B:E2:6F:88:D1:42:11:A5:B4:11:A6:CC:11:A8:07:FA:54:B2:C9:46:C4:84:8D Got: sha-256 BA:25:CA:E3:4A:0A:80:3C:AB:45:0D:96:04:CD:6E:6E:E0:E9:D2:39:DA:7C:6A:21:B0:FE:5B:40:DF:F8:3D:1C" that is not a DOMException InvalidModificationError: property "code" is equal to 0, expected 13
FAIL Set created offer other than last offer should reject with InvalidModificationError assert_unreached: Should have rejected: undefined Reached unreachable code
PASS Creating and setting offer multiple times should succeed
PASS Setting previously generated offer after a call to createAnswer should work
-FAIL Negotiation works when there has been a repeated setLocalDescription(offer) assert_equals: expected 1 but got 0
+PASS Negotiation works when there has been a repeated setLocalDescription(offer)
FAIL setLocalDescription(offer) should update internal state with a queued task, in the right order assert_equals: pendingRemoteDescription should never be set due to sLD expected null but got object "[object RTCSessionDescription]"
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer.html (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer.html 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-offer.html 2021-09-14 07:40:37 UTC (rev 282381)
@@ -163,8 +163,10 @@
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
- const offer = await pc1.createOffer({offerToReceiveAudio: true}); // [[LastOffer]] set
- const offer2 = await pc2.createOffer({offerToReceiveVideo: true});
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
+ const offer = await pc1.createOffer(); // [[LastOffer]] set
+ pc2.addTransceiver('video', { direction: 'recvonly' });
+ const offer2 = await pc2.createOffer();
await pc1.setRemoteDescription(offer2);
await pc1.createAnswer(); // [[LastAnswer]] set
await pc1.setRemoteDescription({type: "rollback"});
@@ -177,7 +179,8 @@
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
- await pc1.setLocalDescription(await pc1.createOffer({offerToReceiveAudio: true}));
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
+ await pc1.setLocalDescription(await pc1.createOffer());
const offer = await pc1.createOffer();
await pc1.setLocalDescription(offer);
@@ -196,7 +199,8 @@
const pc = new RTCPeerConnection();
t.add_cleanup(() => pc.close());
- const sldPromise = pc.setLocalDescription(await pc.createOffer({offerToReceiveAudio: true}));
+ pc.addTransceiver('audio', { direction: 'recvonly' });
+ const sldPromise = pc.setLocalDescription(await pc.createOffer());
assert_equals(pc.signalingState, "stable", "signalingState should not be set synchronously after a call to sLD");
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-rollback.html (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-rollback.html 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-rollback.html 2021-09-14 07:40:37 UTC (rev 282381)
@@ -132,7 +132,8 @@
const pc = new RTCPeerConnection();
t.add_cleanup(() => pc.close());
- await pc.setLocalDescription(await pc.createOffer({offerToReceiveAudio: true}));
+ pc.addTransceiver('audio', { direction: 'recvonly' });
+ await pc.setLocalDescription(await pc.createOffer());
const sldPromise = pc.setLocalDescription({type: "rollback"});
assert_equals(pc.signalingState, "have-local-offer", "signalingState should not be set synchronously after a call to sLD");
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-offer.html (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-offer.html 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-offer.html 2021-09-14 07:40:37 UTC (rev 282381)
@@ -193,7 +193,8 @@
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
- const srdPromise = pc2.setRemoteDescription(await pc1.createOffer({offerToReceiveAudio: true}));
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
+ const srdPromise = pc2.setRemoteDescription(await pc1.createOffer());
assert_equals(pc2.signalingState, "stable", "signalingState should not be set synchronously after a call to sRD");
@@ -222,10 +223,12 @@
const pc2 = new RTCPeerConnection();
t.add_cleanup(() => pc2.close());
- await pc2.setLocalDescription(await pc2.createOffer({offerToReceiveAudio: true}));
+ pc2.addTransceiver('audio', { direction: 'recvonly' });
+ await pc2.setLocalDescription(await pc2.createOffer());
// Implicit rollback!
- const srdPromise = pc2.setRemoteDescription(await pc1.createOffer({offerToReceiveAudio: true}));
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
+ const srdPromise = pc2.setRemoteDescription(await pc1.createOffer());
assert_equals(pc2.signalingState, "have-local-offer", "signalingState should not be set synchronously after a call to sRD");
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html 2021-09-14 07:40:37 UTC (rev 282381)
@@ -121,10 +121,12 @@
t.add_cleanup(() => pc2.close());
// We don't use this right away
- const offer1 = await pc1.createOffer({offerToReceiveAudio: true});
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
+ const offer1 = await pc1.createOffer();
// Create offer from pc2, apply and rollback on pc1
- const offer2 = await pc2.createOffer({offerToReceiveAudio: true});
+ pc2.addTransceiver('audio', { direction: 'recvonly' });
+ const offer2 = await pc2.createOffer();
await pc1.setRemoteDescription(offer2);
await pc1.setRemoteDescription({type: "rollback"});
@@ -147,7 +149,9 @@
const offer1 = await pc1.createOffer();
// Create offer from pc2, apply and rollback on pc1
- const offer2 = await pc2.createOffer({offerToReceiveAudio: true, offerToReceiveVideo: true});
+ pc2.addTransceiver('audio', { direction: 'recvonly' });
+ pc2.addTransceiver('video', { direction: 'recvonly' });
+ const offer2 = await pc2.createOffer();
// pc1 now should change its mind about what level its video transceiver is
// bound to. It was 0, now it is 1.
await pc1.setRemoteDescription(offer2);
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https-expected.txt (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https-expected.txt 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https-expected.txt 2021-09-14 07:40:37 UTC (rev 282381)
@@ -41,6 +41,6 @@
PASS Can setup two-way call using a single transceiver
FAIL Closing the PC stops the transceivers assert_equals: expected (object) null but got (string) "inactive"
PASS Changing transceiver direction to 'sendrecv' makes ontrack fire
-FAIL transceiver.sender.track does not revert to an old state promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'pc1.getReceivers()[0].track')"
-FAIL transceiver.direction does not revert to an old state promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'pc1.getTransceivers()[0].direction = 'inactive'')"
+PASS transceiver.sender.track does not revert to an old state
+PASS transceiver.direction does not revert to an old state
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https.html (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https.html 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-transceivers.https.html 2021-09-14 07:40:37 UTC (rev 282381)
@@ -479,7 +479,8 @@
.then((offer) => { return pc1.setRemoteDescription(offer); })
.then(() => { return pc1.createAnswer(); })
.then((answer) => { return pc1.setLocalDescription(answer); });
- const pc1Promise = pc1.createOffer({ offerToReceiveAudio: true})
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
+ const pc1Promise = pc1.createOffer()
.then(() => { pc1.addTrack(pc1.getReceivers()[0].track); });
await Promise.all([pc1Promise, pc2Promise]);
assert_equals(pc1.getSenders()[0].track, pc1.getReceivers()[0].track);
@@ -494,7 +495,8 @@
const pc2Promise = pc2.createOffer()
.then((offer) => { return pc1.setRemoteDescription(offer); })
.then(() => { return pc1.createAnswer(); });
- const pc1Promise = pc1.createOffer({ offerToReceiveAudio: true})
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
+ const pc1Promise = pc1.createOffer()
.then(() => { pc1.getTransceivers()[0].direction = 'inactive'; });
await Promise.all([pc1Promise, pc2Promise]);
assert_equals(pc1.getTransceivers()[0].direction, 'inactive');
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/protocol/RTCPeerConnection-payloadTypes.html (282380 => 282381)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/protocol/RTCPeerConnection-payloadTypes.html 2021-09-14 07:18:22 UTC (rev 282380)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/protocol/RTCPeerConnection-payloadTypes.html 2021-09-14 07:40:37 UTC (rev 282381)
@@ -13,7 +13,9 @@
const pc1 = new RTCPeerConnection();
t.add_cleanup(() => pc1.close());
- const offer = await pc1.createOffer({offerToReceiveAudio: true, offerToReceiveVideo: true});
+ pc1.addTransceiver('audio', { direction: 'recvonly' });
+ pc1.addTransceiver('video', { direction: 'recvonly' });
+ const offer = await pc1.createOffer();
// Extract all payload types from the m= lines.
const payloadTypes = offer.sdp.split('\n')