Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(113)

Side by Side Diff: Source/modules/speech/SpeechRecognitionController.h

Issue 636863002: Make SpeechRecognitionController per frame instead of per page. Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
(...skipping 16 matching lines...) Expand all
27 #define SpeechRecognitionController_h 27 #define SpeechRecognitionController_h
28 28
29 #include "core/page/Page.h" 29 #include "core/page/Page.h"
30 #include "modules/speech/SpeechRecognitionClient.h" 30 #include "modules/speech/SpeechRecognitionClient.h"
31 #include "wtf/PassOwnPtr.h" 31 #include "wtf/PassOwnPtr.h"
32 32
33 namespace blink { 33 namespace blink {
34 34
35 class MediaStreamTrack; 35 class MediaStreamTrack;
36 36
37 class SpeechRecognitionController final : public NoBaseWillBeGarbageCollectedFin alized<SpeechRecognitionController>, public WillBeHeapSupplement<Page> { 37 class SpeechRecognitionController final
38 : public NoBaseWillBeGarbageCollectedFinalized<SpeechRecognitionController>,
39 public WillBeHeapSupplement<LocalFrame> {
dcheng 2014/11/11 08:09:58 Alignment. I think git cl format mostly handles Bl
mlamouri (slow - plz ping) 2014/11/28 10:43:04 Done.
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>);
51 static const char* supplementName(); 52 static const char* supplementName();
52 static SpeechRecognitionController* from(Page* page) { return static_cast<Sp eechRecognitionController*>(WillBeHeapSupplement<Page>::from(page, supplementNam e())); } 53 static void provideTo(LocalFrame&, PassOwnPtr<SpeechRecognitionClient>);
54 static SpeechRecognitionController* from(LocalFrame&);
53 55
54 virtual void trace(Visitor* visitor) override { WillBeHeapSupplement<Page>:: trace(visitor); } 56 void trace(Visitor*) override;
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698