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

Side by Side Diff: chrome/browser/speech/tts_chromeos.cc

Issue 434083003: Remove the dependency of Extension API from tts_chromeos (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compilation error on ChromeOS Created 6 years, 4 months 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 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/component_loader.h"
6 #include "chrome/browser/extensions/extension_service.h"
7 #include "chrome/browser/profiles/profile.h"
8 #include "chrome/browser/speech/extension_api/tts_engine_extension_observer.h"
9 #include "chrome/browser/speech/tts_platform.h" 5 #include "chrome/browser/speech/tts_platform.h"
10 #include "chrome/common/extensions/extension_constants.h"
11 #include "extensions/browser/extension_system.h"
12 6
13 // Chrome OS doesn't have native TTS, instead it includes a built-in 7 // Chrome OS doesn't have native TTS, instead it includes a built-in
14 // component extension that provides speech synthesis. This class includes 8 // component extension that provides speech synthesis. This class includes
15 // an implementation of LoadBuiltInTtsExtension and dummy implementations of 9 // an implementation of LoadBuiltInTtsExtension and dummy implementations of
16 // everything else. 10 // everything else.
17 class TtsPlatformImplChromeOs 11
18 : public TtsPlatformImpl { 12 class Profile;
13
14 class TtsPlatformImplChromeOs : public TtsPlatformImpl {
19 public: 15 public:
20 // TtsPlatformImpl overrides: 16 // TtsPlatformImpl overrides:
21 virtual bool PlatformImplAvailable() OVERRIDE { 17 virtual bool PlatformImplAvailable() OVERRIDE {
22 return false; 18 return false;
23 } 19 }
24 20
25 virtual bool LoadBuiltInTtsExtension(Profile* profile) OVERRIDE { 21 virtual bool LoadBuiltInTtsExtension(Profile* profile) OVERRIDE {
26 // Check to see if the engine was previously loaded. 22 TtsEngineDelegate* tts_engine_delegate =
27 if (TtsEngineExtensionObserver::GetInstance(profile)->SawExtensionLoad( 23 TtsController::GetInstance()->GetTtsEngineDelegate();
28 extension_misc::kSpeechSynthesisExtensionId, true)) { 24 if (tts_engine_delegate)
29 return false; 25 return tts_engine_delegate->LoadBuiltInTtsExtension(profile);
30 } 26 return false;
31
32 // Load the component extension into this profile.
33 ExtensionService* extension_service =
34 extensions::ExtensionSystem::Get(profile)->extension_service();
35 DCHECK(extension_service);
36 extension_service->component_loader()
37 ->AddChromeOsSpeechSynthesisExtension();
38 return true;
39 } 27 }
40 28
41 virtual bool Speak( 29 virtual bool Speak(
42 int utterance_id, 30 int utterance_id,
43 const std::string& utterance, 31 const std::string& utterance,
44 const std::string& lang, 32 const std::string& lang,
45 const VoiceData& voice, 33 const VoiceData& voice,
46 const UtteranceContinuousParameters& params) OVERRIDE { 34 const UtteranceContinuousParameters& params) OVERRIDE {
47 return false; 35 return false;
48 } 36 }
(...skipping 28 matching lines...) Expand all
77 // static 65 // static
78 TtsPlatformImpl* TtsPlatformImpl::GetInstance() { 66 TtsPlatformImpl* TtsPlatformImpl::GetInstance() {
79 return TtsPlatformImplChromeOs::GetInstance(); 67 return TtsPlatformImplChromeOs::GetInstance();
80 } 68 }
81 69
82 // static 70 // static
83 TtsPlatformImplChromeOs* 71 TtsPlatformImplChromeOs*
84 TtsPlatformImplChromeOs::GetInstance() { 72 TtsPlatformImplChromeOs::GetInstance() {
85 return Singleton<TtsPlatformImplChromeOs>::get(); 73 return Singleton<TtsPlatformImplChromeOs>::get();
86 } 74 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698