Title: [271311] trunk/Tools
- Revision
- 271311
- Author
- [email protected]
- Date
- 2021-01-08 11:56:10 -0800 (Fri, 08 Jan 2021)
Log Message
Stop using MediaRecorder in API test WebKit2.SpeechRecognitionErrorWhenStartingAudioCaptureOnDifferentPage
https://bugs.webkit.org/show_bug.cgi?id=220347
Patch by Sihui Liu <[email protected]> on 2021-01-08
Reviewed by Youenn Fablet.
Because MediaRecorder (with real backend) is only supported in some recent MacOS versions now.
* TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/speechrecognition-basic.html:
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (271310 => 271311)
--- trunk/Tools/ChangeLog 2021-01-08 19:54:41 UTC (rev 271310)
+++ trunk/Tools/ChangeLog 2021-01-08 19:56:10 UTC (rev 271311)
@@ -1,3 +1,16 @@
+2021-01-08 Sihui Liu <[email protected]>
+
+ Stop using MediaRecorder in API test WebKit2.SpeechRecognitionErrorWhenStartingAudioCaptureOnDifferentPage
+ https://bugs.webkit.org/show_bug.cgi?id=220347
+
+ Reviewed by Youenn Fablet.
+
+ Because MediaRecorder (with real backend) is only supported in some recent MacOS versions now.
+
+ * TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm:
+ (TestWebKitAPI::TEST):
+ * TestWebKitAPI/Tests/WebKitCocoa/speechrecognition-basic.html:
+
2021-01-08 Jonathan Bedard <[email protected]>
[webkitcorepy] Add standard mechanism for packaging pip packages (work-around)
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm (271310 => 271311)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm 2021-01-08 19:54:41 UTC (rev 271310)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/SpeechRecognition.mm 2021-01-08 19:56:10 UTC (rev 271311)
@@ -183,7 +183,7 @@
// First page is muted when second page starts media recorder.
receivedScriptMessage = false;
[secondWebView synchronouslyLoadTestPageNamed:@"speechrecognition-basic"];
- [secondWebView stringByEvaluatingJavaScript:@"startRecorder()"];
+ [secondWebView stringByEvaluatingJavaScript:@"startAudio()"];
TestWebKitAPI::Util::run(&receivedScriptMessage);
EXPECT_WK_STREQ(@"Error: audio-capture - Source is muted", [lastScriptMessage body]);
@@ -191,7 +191,7 @@
receivedScriptMessage = false;
[firstWebView synchronouslyLoadHTMLString:@"<script>speechRecognition = new webkitSpeechRecognition(); speechRecognition.start();</script>" baseURL:[NSURL URLWithString:@"https://webkit.org"]];
TestWebKitAPI::Util::run(&receivedScriptMessage);
- EXPECT_WK_STREQ(@"Recorder Mute", [lastScriptMessage body]);
+ EXPECT_WK_STREQ(@"Audio Mute", [lastScriptMessage body]);
}
// FIXME: enable this test on iOS when https://webkit.org/b/175204 is fixed.
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/speechrecognition-basic.html (271310 => 271311)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/speechrecognition-basic.html 2021-01-08 19:54:41 UTC (rev 271310)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/speechrecognition-basic.html 2021-01-08 19:56:10 UTC (rev 271311)
@@ -1,4 +1,7 @@
<html>
+<body>
+<audio id="audio" autoplay></audio>
+
<script>
var speechRecognition = null;
@@ -24,33 +27,23 @@
function gotMedia(stream) {
try {
var tracks = stream.getAudioTracks();
- tracks[0]._onmute_ = () => window.webkit.messageHandlers.testHandler.postMessage("Recorder Mute");
-
- if (!recorder)
- recorder = new MediaRecorder(stream);
-
- recorder._onerror_ = (event) => window.webkit.messageHandlers.testHandler.postMessage("Recorder Error: " + event.code + " - " + event.message);
- recorder.start();
+ tracks[0]._onmute_ = () => window.webkit.messageHandlers.testHandler.postMessage("Audio Mute");
+ var audio = document.getElementById('audio');
+ audio.srcObject = stream;
+ audio.play();
} catch(e) {
- window.webkit.messageHandlers.testHandler.postMessage("Recorder Error : " + e);
+ window.webkit.messageHandlers.testHandler.postMessage("gotMedia Error : " + e);
}
}
-function startRecorder() {
- if (recorder) {
- recorder.start();
- return;
- }
-
+function startAudio()
+{
navigator.mediaDevices.getUserMedia({ audio: true })
.then(gotMedia)
- .catch(e => { window.webkit.messageHandlers.testHandler.postMessage("UserMedia Error: " + e); });
+ .catch(e => { window.webkit.messageHandlers.testHandler.postMessage("startAudio Error: " + e); });
}
-function stopRecorder() {
- if (recorder)
- recorder.stop();
-}
+</script>
-</script>
+</body>
</html>
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes