Title: [287607] trunk
Revision
287607
Author
you...@apple.com
Date
2022-01-05 00:24:22 -0800 (Wed, 05 Jan 2022)

Log Message

WebPageProxy::requestUserMediaPermissionForSpeechRecognition should return early in case of no capture devices
https://bugs.webkit.org/show_bug.cgi?id=234837
<rdar://87055505>

Reviewed by Chris Dumez.

Source/WebKit:

Test: fast/speechrecognition/start-recognition-without-devices.html

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestUserMediaPermissionForSpeechRecognition):

LayoutTests:

* fast/speechrecognition/start-recognition-without-devices-expected.txt: Added.
* fast/speechrecognition/start-recognition-without-devices.html: Added.
* platform/mac-wk1/TestExpectations:
* platform/win/TestExpectations:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (287606 => 287607)


--- trunk/LayoutTests/ChangeLog	2022-01-05 08:22:38 UTC (rev 287606)
+++ trunk/LayoutTests/ChangeLog	2022-01-05 08:24:22 UTC (rev 287607)
@@ -1,3 +1,16 @@
+2022-01-05  Youenn Fablet  <you...@apple.com>
+
+        WebPageProxy::requestUserMediaPermissionForSpeechRecognition should return early in case of no capture devices
+        https://bugs.webkit.org/show_bug.cgi?id=234837
+        <rdar://87055505>
+
+        Reviewed by Chris Dumez.
+
+        * fast/speechrecognition/start-recognition-without-devices-expected.txt: Added.
+        * fast/speechrecognition/start-recognition-without-devices.html: Added.
+        * platform/mac-wk1/TestExpectations:
+        * platform/win/TestExpectations:
+
 2022-01-04  Frédéric Wang  <fw...@igalia.com>
 
         Protect frame from destruction in HTMLMediaElement::setupAndCallJS

Added: trunk/LayoutTests/fast/speechrecognition/start-recognition-without-devices-expected.txt (0 => 287607)


--- trunk/LayoutTests/fast/speechrecognition/start-recognition-without-devices-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/speechrecognition/start-recognition-without-devices-expected.txt	2022-01-05 08:24:22 UTC (rev 287607)
@@ -0,0 +1,3 @@
+
+PASS Speech recognition without devices
+

Added: trunk/LayoutTests/fast/speechrecognition/start-recognition-without-devices.html (0 => 287607)


--- trunk/LayoutTests/fast/speechrecognition/start-recognition-without-devices.html	                        (rev 0)
+++ trunk/LayoutTests/fast/speechrecognition/start-recognition-without-devices.html	2022-01-05 08:24:22 UTC (rev 287607)
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<body>
+<script src=""
+<script src=""
+<script>
+promise_test(async () => {
+    if (window.testRunner)
+        testRunner.clearMockMediaDevices();
+    const recognition = new webkitSpeechRecognition();
+    recognition.start();
+    return new Promise(resolve => recognition._onerror_ = resolve);
+}, "Speech recognition without devices");
+</script>
+</body>
+</html>

Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (287606 => 287607)


--- trunk/LayoutTests/platform/mac-wk1/TestExpectations	2022-01-05 08:22:38 UTC (rev 287606)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations	2022-01-05 08:24:22 UTC (rev 287607)
@@ -72,6 +72,7 @@
 
 fast/speechrecognition/start-recognition-after-gum.html [ Skip ]
 fast/speechrecognition/start-recognition-after-denied-gum.html [ Skip ]
+fast/speechrecognition/start-recognition-without-devices.html [ Skip ]
 
 # Datalist is unsupported in WK1
 accessibility/datalist.html [ WontFix ]

Modified: trunk/LayoutTests/platform/win/TestExpectations (287606 => 287607)


--- trunk/LayoutTests/platform/win/TestExpectations	2022-01-05 08:22:38 UTC (rev 287606)
+++ trunk/LayoutTests/platform/win/TestExpectations	2022-01-05 08:24:22 UTC (rev 287607)
@@ -911,6 +911,7 @@
 
 fast/speechrecognition/start-recognition-after-gum.html [ Skip ]
 fast/speechrecognition/start-recognition-after-denied-gum.html [ Skip ]
+fast/speechrecognition/start-recognition-without-devices.html [ Skip ]
 
 # needs enhanced eventSender.contextMenu() return value
 #webkit.org/b/45021 media/context-menu-actions.html

Modified: trunk/Source/WebKit/ChangeLog (287606 => 287607)


--- trunk/Source/WebKit/ChangeLog	2022-01-05 08:22:38 UTC (rev 287606)
+++ trunk/Source/WebKit/ChangeLog	2022-01-05 08:24:22 UTC (rev 287607)
@@ -1,3 +1,16 @@
+2022-01-05  Youenn Fablet  <you...@apple.com>
+
+        WebPageProxy::requestUserMediaPermissionForSpeechRecognition should return early in case of no capture devices
+        https://bugs.webkit.org/show_bug.cgi?id=234837
+        <rdar://87055505>
+
+        Reviewed by Chris Dumez.
+
+        Test: fast/speechrecognition/start-recognition-without-devices.html
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::requestUserMediaPermissionForSpeechRecognition):
+
 2022-01-04  Wenson Hsieh  <wenson_hs...@apple.com>
 
         ASSERTION FAILED: pathnames.size() == sandboxExtensionsHandleArray.size() in WebKit::WebPlatformStrategies::getPathnamesForType()

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (287606 => 287607)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2022-01-05 08:22:38 UTC (rev 287606)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2022-01-05 08:24:22 UTC (rev 287607)
@@ -10880,8 +10880,10 @@
 {
 #if ENABLE(MEDIA_STREAM)
     auto captureDevice = SpeechRecognitionCaptureSource::findCaptureDevice();
-    if (!captureDevice)
+    if (!captureDevice) {
         completionHandler(false);
+        return;
+    }
 
     userMediaPermissionRequestManager().checkUserMediaPermissionForSpeechRecognition(frameIdentifier, requestingOrigin, topOrigin, *captureDevice, WTFMove(completionHandler));
 #else
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to