c90183202f
https://bugs.webkit.org/show_bug.cgi?id=219699 <rdar://problem/72392097> Patch by Sihui Liu <sihui_liu@appe.com> on 2021-02-03 Reviewed by Youenn Fablet. Source/WebCore: Make SpeechRecognizer take the ownerwhip of the SpeechRecognitionRequest it's about to handle, and manage its state. * Modules/speech/SpeechRecognizer.cpp: (WebCore::SpeechRecognizer::SpeechRecognizer): (WebCore::SpeechRecognizer::~SpeechRecognizer): (WebCore::SpeechRecognizer::abort): (WebCore::SpeechRecognizer::stop): (WebCore::SpeechRecognizer::clientIdentifier const): (WebCore::SpeechRecognizer::start): (WebCore::SpeechRecognizer::startCapture): (WebCore::SpeechRecognizer::stopCapture): (WebCore::SpeechRecognizer::startRecognition): (WebCore::SpeechRecognizer::abortRecognition): (WebCore::SpeechRecognizer::stopRecognition): (WebCore::SpeechRecognizer::reset): Deleted. (WebCore::SpeechRecognizer::resetRecognition): Deleted. * Modules/speech/SpeechRecognizer.h: (WebCore::SpeechRecognizer::setInactive): (WebCore::SpeechRecognizer::currentClientIdentifier const): Deleted. * Modules/speech/cocoa/SpeechRecognizerCocoa.mm: (WebCore::SpeechRecognizer::startRecognition): (WebCore::SpeechRecognizer::resetRecognition): Deleted. Source/WebKit: We used the same SpeechRecognizer for multiple requests, so we had to reset SpeechRecognizer state between requests, which makes things complicated and hard to debug (like nested reset calls). Now we have one dedicated SpeechRecognizer for each request. * UIProcess/SpeechRecognitionServer.cpp: (WebKit::SpeechRecognitionServer::requestPermissionForRequest): (WebKit::SpeechRecognitionServer::handleRequest): (WebKit::SpeechRecognitionServer::stop): (WebKit::SpeechRecognitionServer::abort): (WebKit::SpeechRecognitionServer::invalidate): * UIProcess/SpeechRecognitionServer.h: Canonical link: https://commits.webkit.org/233665@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272337 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
||
---|---|---|
.. | ||
SpeechRecognizerCocoa.mm | ||
WebSpeechRecognizerTask.h | ||
WebSpeechRecognizerTask.mm | ||
WebSpeechRecognizerTaskMock.h | ||
WebSpeechRecognizerTaskMock.mm |