| Index: Source/web/WebLocalFrameImpl.cpp
|
| diff --git a/Source/web/WebLocalFrameImpl.cpp b/Source/web/WebLocalFrameImpl.cpp
|
| index 01a3c0d3ad5c6d8980dfc63ab0fb35975f8a9127..87aced94260a1c1abc2e3e93fe539fb4e5e6bc19 100644
|
| --- a/Source/web/WebLocalFrameImpl.cpp
|
| +++ b/Source/web/WebLocalFrameImpl.cpp
|
| @@ -152,6 +152,7 @@
|
| #include "modules/notifications/NotificationPermissionClient.h"
|
| #include "modules/push_messaging/PushController.h"
|
| #include "modules/screen_orientation/ScreenOrientationController.h"
|
| +#include "modules/speech/SpeechRecognitionController.h"
|
| #include "platform/TraceEvent.h"
|
| #include "platform/UserGestureIndicator.h"
|
| #include "platform/clipboard/ClipboardUtilities.h"
|
| @@ -194,6 +195,7 @@
|
| #include "public/web/WebScriptSource.h"
|
| #include "public/web/WebSecurityOrigin.h"
|
| #include "public/web/WebSerializedScriptValue.h"
|
| +#include "public/web/WebViewClient.h"
|
| #include "web/AssociatedURLLoader.h"
|
| #include "web/CompositionUnderlineVectorBuilder.h"
|
| #include "web/FindInPageCoordinates.h"
|
| @@ -203,6 +205,7 @@
|
| #include "web/NotificationPermissionClientImpl.h"
|
| #include "web/PageOverlay.h"
|
| #include "web/SharedWorkerRepositoryClientImpl.h"
|
| +#include "web/SpeechRecognitionClientProxy.h"
|
| #include "web/SuspendableScriptExecutor.h"
|
| #include "web/TextFinder.h"
|
| #include "web/WebDataSourceImpl.h"
|
| @@ -1598,11 +1601,16 @@ void WebLocalFrameImpl::setCoreFrame(PassRefPtrWillBeRawPtr<LocalFrame> frame)
|
| provideUserMediaTo(*m_frame, &m_userMediaClientImpl);
|
| provideGeolocationTo(*m_frame, m_geolocationClientProxy.get());
|
| m_geolocationClientProxy->setController(GeolocationController::from(m_frame.get()));
|
| - provideMIDITo(*m_frame, MIDIClientProxy::create(m_client ? m_client->webMIDIClient() : 0));
|
| + provideMIDITo(*m_frame, MIDIClientProxy::create(m_client ? m_client->webMIDIClient() : nullptr));
|
| provideLocalFileSystemTo(*m_frame, LocalFileSystemClient::create());
|
| + // FIXME: using WebViewClient as a temporary measure if there is no client on the WebFrame.
|
| + if (m_client && m_client->speechRecognizer())
|
| + SpeechRecognitionController::provideTo(*m_frame, SpeechRecognitionClientProxy::create(m_client->speechRecognizer()));
|
| + else
|
| + SpeechRecognitionController::provideTo(*m_frame, SpeechRecognitionClientProxy::create(viewImpl()->client() ? viewImpl()->client()->speechRecognizer() : nullptr));
|
|
|
| if (RuntimeEnabledFeatures::screenOrientationEnabled())
|
| - ScreenOrientationController::provideTo(*m_frame, m_client ? m_client->webScreenOrientationClient() : 0);
|
| + ScreenOrientationController::provideTo(*m_frame, m_client ? m_client->webScreenOrientationClient() : nullptr);
|
| }
|
| }
|
|
|
|
|