f196b12a0a
https://bugs.webkit.org/show_bug.cgi?id=221457 Reviewed by Eric Carlson. Source/WebCore: Add fake deviceId to play nice with capture ASSERTs. Covered by updated tests. * Modules/speech/SpeechRecognitionCaptureSource.cpp: (WebCore::SpeechRecognitionCaptureSource::createRealtimeMediaSource): Source/WebKit: Allow to create remote sources without any constraint. To do so, we serialize through IPC a MediaConstraints with isValid = false and treat it as no constraint in capture process. Make sure to send sandbox extensions and authorizations for GPUProcess to capture in case of speech recognition audio capture request. In case of GPUProcess audio capture, send the request to capture to WebProcess like done for iOS. WebProcess is then responsible to get audio samples from GPUProcess and forward them to UIProcess. A future refactoring should move speech recognition to GPUProcess. * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp: (WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints): * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: (WebKit::UserMediaPermissionRequestManagerProxy::grantRequest): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::createRealtimeMediaSourceForSpeechRecognition): * WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp: (WebKit::SpeechRecognitionRealtimeMediaSourceManager::grantSandboxExtensions): (WebKit::SpeechRecognitionRealtimeMediaSourceManager::createSource): * WebProcess/cocoa/RemoteRealtimeMediaSource.cpp: (WebKit::RemoteRealtimeMediaSource::create): (WebKit::RemoteRealtimeMediaSource::RemoteRealtimeMediaSource): (WebKit::RemoteRealtimeMediaSource::createRemoteMediaSource): (WebKit::RemoteRealtimeMediaSource::~RemoteRealtimeMediaSource): (WebKit::RemoteRealtimeMediaSource::cloneVideoSource): (WebKit::RemoteRealtimeMediaSource::gpuProcessConnectionDidClose): * WebProcess/cocoa/RemoteRealtimeMediaSource.h: * WebProcess/cocoa/UserMediaCaptureManager.cpp: (WebKit::UserMediaCaptureManager::AudioFactory::createAudioCaptureSource): (WebKit::UserMediaCaptureManager::VideoFactory::createVideoCaptureSource): (WebKit::UserMediaCaptureManager::DisplayFactory::createDisplayCaptureSource): LayoutTests: * fast/speechrecognition/ios/restart-recognition-after-stop.html: * fast/speechrecognition/ios/start-recognition-then-stop.html: * fast/speechrecognition/start-recognition-then-stop.html: * fast/speechrecognition/start-second-recognition.html: Canonical link: https://commits.webkit.org/233756@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272434 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
||
---|---|---|
.. | ||
audio-capture-expected.txt | ||
audio-capture.html | ||
restart-recognition-after-stop-expected.txt | ||
restart-recognition-after-stop.html | ||
start-recognition-then-stop-expected.txt | ||
start-recognition-then-stop.html |