| Index: Source/modules/speech/SpeechRecognitionController.h
|
| diff --git a/Source/modules/speech/SpeechRecognitionController.h b/Source/modules/speech/SpeechRecognitionController.h
|
| index 6a5fa1bde2914598430a0d9aefae086e28fd4e74..f45dc85c0a236272544dcf9c2c6911e46a471a69 100644
|
| --- a/Source/modules/speech/SpeechRecognitionController.h
|
| +++ b/Source/modules/speech/SpeechRecognitionController.h
|
| @@ -27,34 +27,33 @@
|
| #define SpeechRecognitionController_h
|
|
|
| #include "core/page/Page.h"
|
| +#include "core/page/PageLifecycleObserver.h"
|
| #include "modules/speech/SpeechRecognitionClient.h"
|
| -#include "wtf/PassOwnPtr.h"
|
| +#include "platform/Supplementable.h"
|
| +#include "platform/heap/Handle.h"
|
| +#include "wtf/Forward.h"
|
|
|
| namespace blink {
|
|
|
| class MediaStreamTrack;
|
|
|
| -class SpeechRecognitionController final : public NoBaseWillBeGarbageCollectedFinalized<SpeechRecognitionController>, public WillBeHeapSupplement<Page> {
|
| +class SpeechRecognitionController final : public NoBaseWillBeGarbageCollectedFinalized<SpeechRecognitionController>, public WillBeHeapSupplement<Page>, public PageLifecycleObserver {
|
| WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(SpeechRecognitionController);
|
| public:
|
| + static PassOwnPtrWillBeRawPtr<SpeechRecognitionController> create(Page*, PassOwnPtr<SpeechRecognitionClient>);
|
| virtual ~SpeechRecognitionController();
|
|
|
| - void start(SpeechRecognition* recognition, const SpeechGrammarList* grammars, const String& lang, bool continuous, bool interimResults, unsigned long maxAlternatives, MediaStreamTrack* audioTrack)
|
| - {
|
| - m_client->start(recognition, grammars, lang, continuous, interimResults, maxAlternatives, audioTrack);
|
| - }
|
| + void start(SpeechRecognition*, const SpeechGrammarList*, const String& lang, bool continuous, bool interimResults, unsigned long maxAlternatives, MediaStreamTrack* audioTrack);
|
| + void stop(SpeechRecognition*);
|
| + void abort(SpeechRecognition*);
|
|
|
| - void stop(SpeechRecognition* recognition) { m_client->stop(recognition); }
|
| - void abort(SpeechRecognition* recognition) { m_client->abort(recognition); }
|
| -
|
| - static PassOwnPtrWillBeRawPtr<SpeechRecognitionController> create(PassOwnPtr<SpeechRecognitionClient>);
|
| + static SpeechRecognitionController* from(Page*);
|
| static const char* supplementName();
|
| - static SpeechRecognitionController* from(Page* page) { return static_cast<SpeechRecognitionController*>(WillBeHeapSupplement<Page>::from(page, supplementName())); }
|
|
|
| - DEFINE_INLINE_VIRTUAL_TRACE() { WillBeHeapSupplement<Page>::trace(visitor); }
|
| + DECLARE_VIRTUAL_TRACE();
|
|
|
| private:
|
| - explicit SpeechRecognitionController(PassOwnPtr<SpeechRecognitionClient>);
|
| + SpeechRecognitionController(Page*, PassOwnPtr<SpeechRecognitionClient>);
|
|
|
| OwnPtr<SpeechRecognitionClient> m_client;
|
| };
|
|
|