| OLD | NEW | 
|   1 /* |   1 /* | 
|   2  * Copyright (C) 2012 Google Inc. All rights reserved. |   2  * Copyright (C) 2012 Google Inc. All rights reserved. | 
|   3  * |   3  * | 
|   4  * Redistribution and use in source and binary forms, with or without |   4  * Redistribution and use in source and binary forms, with or without | 
|   5  * modification, are permitted provided that the following conditions |   5  * modification, are permitted provided that the following conditions | 
|   6  * are met: |   6  * are met: | 
|   7  *  * Redistributions of source code must retain the above copyright |   7  *  * Redistributions of source code must retain the above copyright | 
|   8  *    notice, this list of conditions and the following disclaimer. |   8  *    notice, this list of conditions and the following disclaimer. | 
|   9  *  * Redistributions in binary form must reproduce the above copyright |   9  *  * Redistributions in binary form must reproduce the above copyright | 
|  10  *    notice, this list of conditions and the following disclaimer in the |  10  *    notice, this list of conditions and the following disclaimer in the | 
|  11  *    documentation and/or other materials provided with the distribution. |  11  *    documentation and/or other materials provided with the distribution. | 
|  12  * |  12  * | 
|  13  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY |  13  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY | 
|  14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |  14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
|  15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |  15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 
|  16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR |  16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR | 
|  17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |  17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | 
|  18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |  18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | 
|  19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |  19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 
|  20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |  20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 
|  21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |  21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
|  22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |  22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
|  23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |  23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
|  24  */ |  24  */ | 
|  25  |  25  | 
|  26 #ifndef SpeechRecognitionController_h |  26 #ifndef SpeechRecognitionController_h | 
|  27 #define SpeechRecognitionController_h |  27 #define SpeechRecognitionController_h | 
|  28  |  28  | 
|  29 #include "core/page/Page.h" |  29 #include "core/page/Page.h" | 
 |  30 #include "core/page/PageSupplementable.h" | 
|  30 #include "modules/speech/SpeechRecognitionClient.h" |  31 #include "modules/speech/SpeechRecognitionClient.h" | 
|  31 #include "wtf/PassOwnPtr.h" |  32 #include "wtf/PassOwnPtr.h" | 
|  32  |  33  | 
|  33 namespace blink { |  34 namespace blink { | 
|  34  |  35  | 
|  35 class MediaStreamTrack; |  36 class MediaStreamTrack; | 
 |  37 class Page; | 
|  36  |  38  | 
|  37 class SpeechRecognitionController final : public NoBaseWillBeGarbageCollectedFin
    alized<SpeechRecognitionController>, public WillBeHeapSupplement<Page> { |  39 class SpeechRecognitionController final : public NoBaseWillBeGarbageCollectedFin
    alized<SpeechRecognitionController>, public WillBeHeapSupplement<Page> { | 
|  38     WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(SpeechRecognitionController); |  40     WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(SpeechRecognitionController); | 
|  39 public: |  41 public: | 
|  40     virtual ~SpeechRecognitionController(); |  42     virtual ~SpeechRecognitionController(); | 
|  41  |  43  | 
|  42     void start(SpeechRecognition* recognition, const SpeechGrammarList* grammars
    , const String& lang, bool continuous, bool interimResults, unsigned long maxAlt
    ernatives, MediaStreamTrack* audioTrack) |  44     void start(SpeechRecognition* recognition, const SpeechGrammarList* grammars
    , const String& lang, bool continuous, bool interimResults, unsigned long maxAlt
    ernatives, MediaStreamTrack* audioTrack) | 
|  43     { |  45     { | 
|  44         m_client->start(recognition, grammars, lang, continuous, interimResults,
     maxAlternatives, audioTrack); |  46         m_client->start(recognition, grammars, lang, continuous, interimResults,
     maxAlternatives, audioTrack); | 
|  45     } |  47     } | 
|  46  |  48  | 
|  47     void stop(SpeechRecognition* recognition) { m_client->stop(recognition); } |  49     void stop(SpeechRecognition* recognition) { m_client->stop(recognition); } | 
|  48     void abort(SpeechRecognition* recognition) { m_client->abort(recognition); } |  50     void abort(SpeechRecognition* recognition) { m_client->abort(recognition); } | 
|  49  |  51  | 
|  50     static PassOwnPtrWillBeRawPtr<SpeechRecognitionController> create(PassOwnPtr
    <SpeechRecognitionClient>); |  52     static PassOwnPtrWillBeRawPtr<SpeechRecognitionController> create(PassOwnPtr
    <SpeechRecognitionClient>); | 
|  51     static const char* supplementName(); |  53     static const char* supplementName(); | 
|  52     static SpeechRecognitionController* from(Page* page) { return static_cast<Sp
    eechRecognitionController*>(WillBeHeapSupplement<Page>::from(page, supplementNam
    e())); } |  54     static SpeechRecognitionController* from(Page* page) { return static_cast<Sp
    eechRecognitionController*>(WillBeHeapSupplement<Page>::from(page, supplementNam
    e())); } | 
|  53  |  55  | 
|  54     DEFINE_INLINE_VIRTUAL_TRACE() { WillBeHeapSupplement<Page>::trace(visitor); 
    } |  56     DEFINE_INLINE_VIRTUAL_TRACE() { WillBeHeapSupplement<Page>::trace(visitor); 
    } | 
|  55  |  57  | 
|  56 private: |  58 private: | 
|  57     explicit SpeechRecognitionController(PassOwnPtr<SpeechRecognitionClient>); |  59     explicit SpeechRecognitionController(PassOwnPtr<SpeechRecognitionClient>); | 
|  58  |  60  | 
|  59     OwnPtr<SpeechRecognitionClient> m_client; |  61     OwnPtr<SpeechRecognitionClient> m_client; | 
|  60 }; |  62 }; | 
|  61  |  63  | 
|  62 } // namespace blink |  64 } // namespace blink | 
|  63  |  65  | 
|  64 #endif // SpeechRecognitionController_h |  66 #endif // SpeechRecognitionController_h | 
| OLD | NEW |