Remove testRunner.setWebRTCUnifiedPlanEnabled
https://bugs.webkit.org/show_bug.cgi?id=202700
Reviewed by Eric Carlson.
Source/WebKit:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
Tools:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
LayoutTests:
Remove legacy tests and migrate simulcast test to unified plan.
* fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html:
* platform/gtk/TestExpectations:
* webrtc/simulcast-h264.html:
* webrtc/video-addLegacyTransceiver.html: Removed.
* webrtc/video-with-receiver.html: Removed.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@250904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 343ed9c..2826de1 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,18 @@
+2019-10-09 youenn fablet <youenn@apple.com>
+
+ Remove testRunner.setWebRTCUnifiedPlanEnabled
+ https://bugs.webkit.org/show_bug.cgi?id=202700
+
+ Reviewed by Eric Carlson.
+
+ Remove legacy tests and migrate simulcast test to unified plan.
+
+ * fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html:
+ * platform/gtk/TestExpectations:
+ * webrtc/simulcast-h264.html:
+ * webrtc/video-addLegacyTransceiver.html: Removed.
+ * webrtc/video-with-receiver.html: Removed.
+
2019-10-09 Antti Koivisto <antti@apple.com>
[CSS Shadow Parts] Allow exporting single part with multiple names using exportparts attribute
diff --git a/LayoutTests/fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html b/LayoutTests/fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html
index 79e6865..1540823 100644
--- a/LayoutTests/fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html
+++ b/LayoutTests/fast/mediastream/RTCPeerConnection-media-setup-two-dialogs.html
@@ -11,10 +11,7 @@
description("Test setting up media between two RTCPeerConnection instances with a single SDP dialog.");
- if (window.testRunner) {
- testRunner.setWebRTCUnifiedPlanEnabled(false);
- testRunner.setUserMediaPermission(true);
- } else {
+ if (!window.testRunner) {
debug("This test can not be run without the testRunner");
finishJSTest();
}
diff --git a/LayoutTests/platform/gtk/TestExpectations b/LayoutTests/platform/gtk/TestExpectations
index 2982099..1692f8b 100644
--- a/LayoutTests/platform/gtk/TestExpectations
+++ b/LayoutTests/platform/gtk/TestExpectations
@@ -541,7 +541,6 @@
webkit.org/b/85212 ietestcenter/css3/flexbox/flexbox-layout-002.htm [ ImageOnlyFailure ]
webkit.org/b/187064 webrtc/audio-peer-connection-g722.html
-webkit.org/b/187064 webrtc/video-with-receiver.html
webkit.org/b/187064 webrtc/captureCanvas-webrtc.html
webkit.org/b/187064 webrtc/video-remote-mute.html
webkit.org/b/187064 webrtc/video-addTransceiver.html
@@ -3562,8 +3561,6 @@
webkit.org/b/189345 http/tests/media/clearkey/collect-webkit-media-session.html [ Timeout ]
-webkit.org/b/189567 webrtc/video-addLegacyTransceiver.html [ Failure ]
-
webkit.org/b/189564 http/tests/xmlhttprequest/url-with-credentials.html [ Failure ]
webkit.org/b/189737 editing/pasteboard/4930986-1-paste-as-quotation.html [ Failure ]
diff --git a/LayoutTests/webrtc/simulcast-h264.html b/LayoutTests/webrtc/simulcast-h264.html
index 16f2f84..4564f15 100644
--- a/LayoutTests/webrtc/simulcast-h264.html
+++ b/LayoutTests/webrtc/simulcast-h264.html
@@ -11,11 +11,201 @@
<video id="high" playsinline autoplay width="320"></video>
</div>
<script>
-if (window.testRunner)
- testRunner.setWebRTCUnifiedPlanEnabled(false);
+// Code taken from Chrome/Firefox tests and/or simulcast playground.
+function splitUnifiedPlanOffer(offer) {
+ let sdpLines = offer.sdp.split("\r\n");
+
+ mSectionStart = sdpLines.findIndex(line => line.startsWith("m="));
+ mSection = sdpLines.splice(mSectionStart);
+
+ let ssrcs = mSection.filter((line) => {
+ return line.startsWith("a=ssrc");
+ });
+
+ let layerRIDS = mSection.filter(line => line.startsWith("a=simulcast:")).map(
+ line => line.replace("a=simulcast:send ", "").split(";")
+ )[0];
+
+ let midExtmapId = mSection.filter(line => line.includes("urn:ietf:params:rtp-hdrext:sdes:mid")).map(line =>
+ line.replace("a=extmap:", "").split(" ")[0]
+ )[0];
+
+ let ridExtmapId = mSection.filter(line => line.includes("urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id")).map(line =>
+ line.replace("a=extmap:", "").split(" ")[0]
+ )[0];
+
+ mSection = mSection.filter((line) => {
+ return !line.startsWith("a=ssrc") && !line.startsWith("a=simulcast");
+ });
+
+ sdpLines = sdpLines.map(line => {
+ if (line.startsWith("a=group:BUNDLE"))
+ return "a=group:BUNDLE " + layerRIDS.join(" ");
+
+ return line;
+ });
+
+ let counter = 0;
+ for (let layerName of layerRIDS) {
+ sdpLines = sdpLines.concat(mSection.map(line => {
+ if (line.match(/a=msid:/)) {
+ return "a=msid:" + layerName + " " + layerName;
+ }
+
+ if (line.startsWith("a=mid:"))
+ return "a=mid:" + layerName;
+
+ if (line.startsWith("a=extmap:" + midExtmapId + " "))
+ return "a=extmap:" + midExtmapId + " urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";
+
+ if (line.startsWith("a=extmap:" + ridExtmapId + " "))
+ return "a=extmap:" + ridExtmapId + " urn:ietf:params:rtp-hdrext:sdes:mid";
+
+ if (line.startsWith("a=rid:") || line.startsWith("a=simulcast:"))
+ return null;
+
+ return line;
+ }));
+ sdpLines = sdpLines.concat([ssrcs[counter]]);
+ sdpLines = sdpLines.concat([ssrcs[8 * counter + 4]]);
+ sdpLines = sdpLines.concat([ssrcs[8 * counter + 4 + 1]]);
+ sdpLines = sdpLines.concat([ssrcs[8 * counter + 4 + 2]]);
+ sdpLines = sdpLines.concat([ssrcs[8 * counter + 4 + 3]]);
+ sdpLines = sdpLines.concat([ssrcs[8 * counter + 4 + 4]]);
+ sdpLines = sdpLines.concat([ssrcs[8 * counter + 4 + 5]]);
+ sdpLines = sdpLines.concat([ssrcs[8 * counter + 4 + 6]]);
+ sdpLines = sdpLines.concat([ssrcs[8 * counter + 4 + 7]]);
+ counter = counter + 1;
+ }
+
+ offer.sdp = sdpLines
+ .filter(line => line && line.length > 0)
+ .join("\r\n") + "\r\n";
+}
+
+function splitUnifiedPlanAnswer(answer) {
+ let sdpLines = answer.sdp.split("\r\n");
+
+ let mSectionStart = sdpLines.findIndex(line => line.startsWith("m="));
+ let mSection = sdpLines.splice(mSectionStart);
+
+ // Remove extra m= sections
+ mSectionStart = mSection.slice(1).findIndex(line => line.startsWith("m="));
+ if (mSectionStart != -1)
+ mSection.splice(mSectionStart);
+
+ let midExtmapId = mSection.filter(line => line.includes("urn:ietf:params:rtp-hdrext:sdes:mid")).map(line =>
+ line.replace("a=extmap:", "").split(" ")[0]
+ )[0];
+
+ let ridExtmapId = mSection.filter(line => line.includes("urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id")).map(line =>
+ line.replace("a=extmap:", "").split(" ")[0]
+ )[0];
+
+ sdpLines = sdpLines.map(line => {
+ if (line.startsWith("a=group:BUNDLE"))
+ return "a=group:BUNDLE 0";
+
+ return line;
+ });
+
+ mSection = mSection.map(line => {
+ if (line.startsWith("a=mid:"))
+ return "a=mid:0";
+
+ if (line.startsWith("a=extmap:" + midExtmapId + " "))
+ return "a=extmap:" + midExtmapId + " urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";
+
+ if (line.startsWith("a=extmap:" + ridExtmapId + " "))
+ return "a=extmap:" + ridExtmapId + " urn:ietf:params:rtp-hdrext:sdes:mid";
+
+ return line;
+ });
+
+ let params = ["0", "1", "2"];
+ for(let r in params) {
+ mSection.push("a=rid:" + r + " recv");
+ }
+ mSection.push("a=simulcast:recv " + params.join(";"));
+
+ answer.sdp = sdpLines.concat(mSection)
+ .filter(line => line && line.length > 0).join("\r\n") + "\r\n";
+}
+
+function enableSimulcastThroughSDP(offer)
+{
+ match = offer.sdp.match(/a=ssrc:(\d+) cname:(.*)\r\n/);
+ msid = offer.sdp.match(/a=ssrc:(\d+) msid:(.*)\r\n/);
+ var lines = offer.sdp.trim().split('\r\n');
+ var removed = lines.splice(lines.length - 4, 4);
+ var videoSSRC1 = parseInt(match[1]);
+ rtxSSRC1 = offer.sdp.split('\r\n').filter((line) => { return line.startsWith('a=ssrc-group:FID ')})[0].split(' ')[2];
+ var videoSSRC2 = videoSSRC1 + 1;
+ var rtxSSRC2 = videoSSRC1 + 2;
+ var videoSSRC3 = videoSSRC1 + 3;
+ var rtxSSRC3 = videoSSRC1 + 4;
+ lines.push(removed[0]);
+ lines.push(removed[1]);
+ lines.push('a=ssrc:' + videoSSRC2 + ' cname:' + match[2]);
+ lines.push('a=ssrc:' + videoSSRC2 + ' msid:' + msid[2]);
+ lines.push('a=ssrc:' + rtxSSRC2 + ' cname:' + match[2]);
+ lines.push('a=ssrc:' + rtxSSRC2 + ' msid:' + msid[2]);
+
+ lines.push('a=ssrc:' + videoSSRC3 + ' cname:' + match[2]);
+ lines.push('a=ssrc:' + videoSSRC3 + ' msid:' + msid[2]);
+ lines.push('a=ssrc:' + rtxSSRC3 + ' cname:' + match[2]);
+ lines.push('a=ssrc:' + rtxSSRC3 + ' msid:' + msid[2]);
+
+ lines.push('a=ssrc-group:FID ' + videoSSRC2 + ' ' + rtxSSRC2);
+ lines.push('a=ssrc-group:FID ' + videoSSRC3 + ' ' + rtxSSRC3);
+ lines.push('a=ssrc-group:SIM ' + videoSSRC1 + ' ' + videoSSRC2 + ' ' + videoSSRC3);
+
+ offer.sdp = lines.join('\r\n') + '\r\n';
+}
+
+function enableSimulcastThroughSDP2(offer)
+{
+ var lines = offer.sdp.trim().split('\r\n');
+
+ lines.push('a=simulcast:send 0;1;2');
+
+ offer.sdp = lines.join('\r\n') + '\r\n';
+}
+
+</script>
+<script>
+async function setupCall(pc1, pc2)
+{
+ let pc1Offer = await pc1.createOffer();
+ enableSimulcastThroughSDP(pc1Offer);
+ await pc1.setLocalDescription(pc1Offer);
+
+ let pc2Offer = {
+ type: 'offer',
+ sdp: pc1.localDescription.sdp,
+ };
+ enableSimulcastThroughSDP2(pc2Offer);
+
+ splitUnifiedPlanOffer(pc2Offer);
+ await pc2.setRemoteDescription(pc2Offer);
+
+ let answer = await pc2.createAnswer();
+ await pc2.setLocalDescription(answer);
+ let pc1Answer = {
+ type: "answer",
+ sdp: pc2.localDescription.sdp,
+ }
+ splitUnifiedPlanAnswer(pc1Answer);
+
+ await pc1.setRemoteDescription(pc1Answer).then(() => {}, (e) => console.log(e));
+}
+
var state;
var finished = false;
-// This test is largely inspired from Chrome/Firefox/Simulcast playground tests.
+
+const pc1 = new RTCPeerConnection();
+const pc2 = new RTCPeerConnection();
+
promise_test(async (test) => {
if (window.testRunner && testRunner.timeout) {
setTimeout(() => {
@@ -26,10 +216,33 @@
state = "start";
- const pc1 = new RTCPeerConnection();
- const pc2 = new RTCPeerConnection();
- pc1.onicecandidate = (e) => pc2.addIceCandidate(e.candidate);
- pc2.onicecandidate = (e) => pc1.addIceCandidate(e.candidate);
+ pc1.onicecandidate = e => {
+ if (e.candidate) {
+ for(let layerIndex in ["0", "1", "2"]) {
+ let newCandidate = new RTCIceCandidate({
+ candidate: e.candidate.candidate,
+ sdpMid: layerIndex,
+ sdpMLineIndex: layerIndex,
+ usernameFragment: e.candidate.usernameFragment,
+ });
+ setTimeout(() => pc2.addIceCandidate(newCandidate), 5);
+ }
+ } else
+ setTimeout(() => pc1.addIceCandidate(e.candidate), 5);
+ };
+
+ pc2.onicecandidate = e => {
+ if (e.candidate) {
+ let newCandidate = new RTCIceCandidate({
+ candidate: e.candidate.candidate,
+ sdpMid: "0", //e.candidate.sdpMid,
+ sdpMLineIndex: e.candidate.sdpMLineIndex,
+ usernameFragment: e.candidate.usernameFragment,
+ });
+ setTimeout(() => pc1.addIceCandidate(newCandidate), 5);
+ } else
+ setTimeout(() => pc1.addIceCandidate(e.candidate), 5);
+ };
let counter = 0;
pc2.ontrack = (e) => {
@@ -44,68 +257,8 @@
const localStream = await navigator.mediaDevices.getUserMedia({ video: { width: 640, height: 480 } });
pc1.addTrack(localStream.getVideoTracks()[0], localStream);
- const offer = await pc1.createOffer();
- state = "got offer";
-
- match = offer.sdp.match(/a=ssrc:(\d+) cname:(.*)\r\n/);
- msid = offer.sdp.match(/a=ssrc:(\d+) msid:(.*)\r\n/);
- var lines = offer.sdp.trim().split('\r\n');
- var removed = lines.splice(lines.length - 4, 4);
- var videoSSRC1 = parseInt(match[1]);
- rtxSSRC1 = offer.sdp.split('\r\n').filter((line) => { return line.startsWith('a=ssrc-group:FID ')})[0].split(' ')[2];
- var videoSSRC2 = videoSSRC1 + 1;
- var rtxSSRC2 = videoSSRC1 + 2;
- var videoSSRC3 = videoSSRC1 + 3;
- var rtxSSRC3 = videoSSRC1 + 4;
- lines.push(removed[0]);
- lines.push(removed[1]);
- lines.push('a=ssrc:' + videoSSRC2 + ' cname:' + match[2]);
- lines.push('a=ssrc:' + videoSSRC2 + ' msid:' + msid[2]);
- lines.push('a=ssrc:' + rtxSSRC2 + ' cname:' + match[2]);
- lines.push('a=ssrc:' + rtxSSRC2 + ' msid:' + msid[2]);
-
- lines.push('a=ssrc:' + videoSSRC3 + ' cname:' + match[2]);
- lines.push('a=ssrc:' + videoSSRC3 + ' msid:' + msid[2]);
- lines.push('a=ssrc:' + rtxSSRC3 + ' cname:' + match[2]);
- lines.push('a=ssrc:' + rtxSSRC3 + ' msid:' + msid[2]);
-
- lines.push('a=ssrc-group:FID ' + videoSSRC2 + ' ' + rtxSSRC2);
- lines.push('a=ssrc-group:FID ' + videoSSRC3 + ' ' + rtxSSRC3);
- lines.push('a=ssrc-group:SIM ' + videoSSRC1 + ' ' + videoSSRC2 + ' ' + videoSSRC3);
- offer.sdp = lines.join('\r\n') + '\r\n';
-
- var offer2 = {
- type: 'offer',
- sdp: offer.sdp,
- };
- offer2.sdp = offer2.sdp.replace('a=ssrc-group:SIM ' + videoSSRC1 + ' ' + videoSSRC2 + ' ' + videoSSRC3 + '\r\n', '');
-
- offer2.sdp = offer2.sdp.replace('a=ssrc:' + videoSSRC1 + ' msid:' + msid[2], 'a=ssrc:' + videoSSRC1 + ' msid:low low');
- offer2.sdp = offer2.sdp.replace('a=ssrc:' + rtxSSRC1 + ' msid:' + msid[2], 'a=ssrc:' + rtxSSRC1 + ' msid:low low');
-
- offer2.sdp = offer2.sdp.replace('a=ssrc:' + videoSSRC2 + ' msid:' + msid[2], 'a=ssrc:' + videoSSRC2 + ' msid:mid mid');
- offer2.sdp = offer2.sdp.replace('a=ssrc:' + rtxSSRC2 + ' msid:' + msid[2], 'a=ssrc:' + rtxSSRC2 + ' msid:mid mid');
-
- offer2.sdp = offer2.sdp.replace('a=ssrc:' + videoSSRC3 + ' msid:' + msid[2], 'a=ssrc:' + videoSSRC3 + ' msid:hi hi');
- offer2.sdp = offer2.sdp.replace('a=ssrc:' + rtxSSRC3 + ' msid:' + msid[2], 'a=ssrc:' + rtxSSRC3 + ' msid:hi hi');
- await Promise.all([
- pc1.setLocalDescription(offer),
- pc2.setRemoteDescription(offer2),
- ]);
-
- state = "set description";
-
- const answer = await pc2.createAnswer();
-
- state = "got answer";
-
- await Promise.all([
- pc2.setLocalDescription(answer),
- pc1.setRemoteDescription(answer),
- ]);
-
- state = "set description 2";
+ await setupCall(pc1, pc2);
await low.play();
state = "video low plays";
diff --git a/LayoutTests/webrtc/video-addLegacyTransceiver.html b/LayoutTests/webrtc/video-addLegacyTransceiver.html
deleted file mode 100644
index e1c227c..0000000
--- a/LayoutTests/webrtc/video-addLegacyTransceiver.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Testing basic video exchange from offerer to receiver</title>
- <script src="../resources/testharness.js"></script>
- <script src="../resources/testharnessreport.js"></script>
- </head>
- <body>
- <video id="video" autoplay=""></video>
- <canvas id="canvas" width="640" height="480"></canvas>
- <script src ="routines.js"></script>
- <script>
-if (window.testRunner)
- testRunner.setWebRTCUnifiedPlanEnabled(false);
-
-test(() => {
- assert_equals(Object.keys(RTCRtpTransceiver.prototype).indexOf("currentDirection"), -1, "No currentDirection if unified plan is off");
-}, "Expose currentDirection only for unified plan");
-
-promise_test((test) => {
- var pc = new RTCPeerConnection();
- pc.addTransceiver("video");
-
- return pc.createOffer().then((offer) => {
- assert_true(offer.sdp.indexOf("mid:video") !== -1);
- assert_true(offer.sdp.indexOf("a=recvonly") !== -1);
-
- pc.addTransceiver("audio");
- return pc.createOffer();
- }).then((offer) => {
- assert_true(offer.sdp.indexOf("mid:audio") !== -1);
- });
-}, "Setting up calls with addTransceiver but with no track");
-
-promise_test((test) => {
- if (window.testRunner)
- testRunner.setUserMediaPermission(true);
-
- return navigator.mediaDevices.getUserMedia({ video: true }).then((stream) => {
- var pc = new RTCPeerConnection();
- pc.addTransceiver("video");
- pc.getSenders()[0].replaceTrack(stream.getVideoTracks()[0]);
-
- return pc.createOffer().then((offer) => {
- assert_true(offer.sdp.indexOf("mid:video") !== -1);
- // Replacing the track is not done yet so we still set it as a recvonly.
- assert_true(offer.sdp.indexOf("a=recvonly") !== -1);
- });
- });
-}, "Setting up calls with addTransceiver with a track");
-
-function testImage()
-{
- canvas.width = video.videoWidth;
- canvas.height = video.videoHeight;
- canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);
-
- imageData = canvas.getContext('2d').getImageData(10, 325, 250, 1);
- data = imageData.data;
-
- var index = 20;
- assert_true(data[index] < 100);
- assert_true(data[index + 1] < 100);
- assert_true(data[index + 2] < 100);
-
- index = 80;
- assert_true(data[index] > 200);
- assert_true(data[index + 1] > 200);
- assert_true(data[index + 2] > 200);
-
- index += 80;
- assert_true(data[index] > 200);
- assert_true(data[index + 1] > 200);
- assert_true(data[index + 2] < 100);
-}
-
-promise_test((test) => {
- if (window.testRunner)
- testRunner.setUserMediaPermission(true);
-
- return navigator.mediaDevices.getUserMedia({ video: true}).then((stream) => {
- return new Promise((resolve, reject) => {
- createConnections((firstConnection) => {
- var track = stream.getVideoTracks()[0];
- firstConnection.addTransceiver("video");
- return firstConnection.getSenders()[0].replaceTrack(stream.getVideoTracks()[0]);
- }, (secondConnection) => {
- secondConnection.ontrack = (trackEvent) => {
- resolve(trackEvent.streams[0]);
- };
- });
- setTimeout(() => reject("Test timed out"), 5000);
- });
- }).then((stream) => {
- video.srcObject = stream;
- return video.play();
- }).then(() => {
- testImage();
- });
-}, "Basic video exchange set up with addTransceiver");
-
- </script>
- </body>
-</html>
diff --git a/LayoutTests/webrtc/video-with-receiver.html b/LayoutTests/webrtc/video-with-receiver.html
deleted file mode 100644
index 63bceef..0000000
--- a/LayoutTests/webrtc/video-with-receiver.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!doctype html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Testing basic video exchange from offerer to receiver</title>
- <script src="../resources/testharness.js"></script>
- <script src="../resources/testharnessreport.js"></script>
- </head>
- <body>
- <video id="video" autoplay=""></video>
- <canvas id="canvas" width="640" height="480"></canvas>
- <script src ="routines.js"></script>
- <script>
-video = document.getElementById("video");
-canvas = document.getElementById("canvas");
-
-if (window.testRunner)
- testRunner.setWebRTCUnifiedPlanEnabled(false);
-
-function testImage()
-{
- canvas.width = video.videoWidth;
- canvas.height = video.videoHeight;
- canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);
-
- imageData = canvas.getContext('2d').getImageData(10, 325, 250, 1);
- data = imageData.data;
-
- var index = 20;
- assert_true(data[index] < 100);
- assert_true(data[index + 1] < 100);
- assert_true(data[index + 2] < 100);
-
- index = 80;
- assert_true(data[index] > 200);
- assert_true(data[index + 1] > 200);
- assert_true(data[index + 2] > 200);
-
- index += 80;
- assert_true(data[index] > 200);
- assert_true(data[index + 1] > 200);
- assert_true(data[index + 2] < 100);
-}
-
-promise_test((test) => {
- if (window.testRunner)
- testRunner.setUserMediaPermission(true);
-
- return navigator.mediaDevices.getUserMedia({ video: true}).then((stream) => {
- return new Promise((resolve, reject) => {
- createConnections((firstConnection) => {
- firstConnection.addTrack(stream.getVideoTracks()[0], stream);
- }, (secondConnection) => {
- resolve(secondConnection.addTransceiver("video").receiver.track);
- });
- setTimeout(() => reject("Test timed out"), 5000);
- });
- }).then((track) => {
- video.srcObject = new MediaStream([track]);
- return waitFor(500);
- }).then(() => {
- return video.play();
- }).then(() => {
- testImage();
- });
-}, "Basic video exchange");
- </script>
- </body>
-</html>
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index 2f5efc1..b28fcb6 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,3 +1,13 @@
+2019-10-09 youenn fablet <youenn@apple.com>
+
+ Remove testRunner.setWebRTCUnifiedPlanEnabled
+ https://bugs.webkit.org/show_bug.cgi?id=202700
+
+ Reviewed by Eric Carlson.
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+
2019-10-09 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r250597): [GTK][WPE] 2.27.1 shows HTML content as text/plain in custom protocols when passing a charset in content type
diff --git a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp
index 691f1aa..31bdd5e 100644
--- a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp
+++ b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp
@@ -235,8 +235,6 @@
#if ENABLE(WEB_RTC)
if (preference == "WebKitWebRTCMDNSICECandidatesEnabled")
RuntimeEnabledFeatures::sharedFeatures().setWebRTCMDNSICECandidatesEnabled(enabled);
- if (preference == "WebKitWebRTCUnifiedPlanEnabled")
- RuntimeEnabledFeatures::sharedFeatures().setWebRTCUnifiedPlanEnabled(enabled);
#endif
if (preference == "WebKitIsSecureContextAttributeEnabled") {
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index e6402a7..2c07f7a 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,14 @@
+2019-10-09 youenn fablet <youenn@apple.com>
+
+ Remove testRunner.setWebRTCUnifiedPlanEnabled
+ https://bugs.webkit.org/show_bug.cgi?id=202700
+
+ Reviewed by Eric Carlson.
+
+ * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
+ * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
+ * WebKitTestRunner/InjectedBundle/TestRunner.h:
+
2019-10-09 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r250597): [GTK][WPE] 2.27.1 shows HTML content as text/plain in custom protocols when passing a charset in content type
diff --git a/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl b/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl
index 09ea97a..8c97c7b 100644
--- a/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl
+++ b/Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl
@@ -360,7 +360,6 @@
void abortModal();
void setWebRTCMDNSICECandidatesEnabled(boolean value);
- void setWebRTCUnifiedPlanEnabled(boolean value);
void setCustomUserAgent(DOMString userAgent);
void setWebAPIStatisticsEnabled(boolean value);
diff --git a/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp b/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp
index 46131cc..5fea83d 100644
--- a/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp
+++ b/Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp
@@ -435,13 +435,6 @@
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 ff9f972..5f23a80 100644
--- a/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h
+++ b/Tools/WebKitTestRunner/InjectedBundle/TestRunner.h
@@ -131,7 +131,6 @@
void setEncryptedMediaAPIEnabled(bool);
void setMediaDevicesEnabled(bool);
void setWebRTCMDNSICECandidatesEnabled(bool);
- void setWebRTCUnifiedPlanEnabled(bool);
void setCustomUserAgent(JSStringRef);
void setWebAPIStatisticsEnabled(bool);