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

Reply via email to