1 // Copyright 2018 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "base/memory/singleton.h"
6 #include "content/public/browser/tts_controller.h"
7 
8 namespace content {
9 
UtteranceContinuousParameters()10 UtteranceContinuousParameters::UtteranceContinuousParameters()
11     : rate(1.0), pitch(1.0), volume(1.0) {}
12 
VoiceData()13 VoiceData::VoiceData() : remote(false), native(false) {}
14 
15 VoiceData::VoiceData(const VoiceData& other) = default;
16 
~VoiceData()17 VoiceData::~VoiceData() {}
18 
19 class MockTtsController : public TtsController {
20  public:
GetInstance()21   static MockTtsController* GetInstance() {
22     return base::Singleton<MockTtsController>::get();
23   }
24 
MockTtsController()25   MockTtsController() {}
26 
IsSpeaking()27   bool IsSpeaking() override { return false; }
28 
SpeakOrEnqueue(std::unique_ptr<TtsUtterance> utterance)29   void SpeakOrEnqueue(std::unique_ptr<TtsUtterance> utterance) override {}
30 
Stop()31   void Stop() override {}
32 
Stop(const GURL & source_url)33   void Stop(const GURL& source_url) override {}
34 
Pause()35   void Pause() override {}
36 
Resume()37   void Resume() override {}
38 
OnTtsEvent(int utterance_id,TtsEventType event_type,int char_index,int length,const std::string & error_message)39   void OnTtsEvent(int utterance_id,
40                   TtsEventType event_type,
41                   int char_index,
42                   int length,
43                   const std::string& error_message) override {}
44 
GetVoices(BrowserContext * browser_context,std::vector<VoiceData> * out_voices)45   void GetVoices(BrowserContext* browser_context,
46                  std::vector<VoiceData>* out_voices) override {}
47 
VoicesChanged()48   void VoicesChanged() override {}
49 
AddVoicesChangedDelegate(VoicesChangedDelegate * delegate)50   void AddVoicesChangedDelegate(VoicesChangedDelegate* delegate) override {}
51 
RemoveVoicesChangedDelegate(VoicesChangedDelegate * delegate)52   void RemoveVoicesChangedDelegate(VoicesChangedDelegate* delegate) override {}
53 
RemoveUtteranceEventDelegate(UtteranceEventDelegate * delegate)54   void RemoveUtteranceEventDelegate(UtteranceEventDelegate* delegate) override {
55   }
56 
SetTtsEngineDelegate(TtsEngineDelegate * delegate)57   void SetTtsEngineDelegate(TtsEngineDelegate* delegate) override {}
58 
GetTtsEngineDelegate()59   TtsEngineDelegate* GetTtsEngineDelegate() override { return nullptr; }
60 
SetTtsPlatform(TtsPlatform * tts_platform)61   void SetTtsPlatform(TtsPlatform* tts_platform) override {}
62 
QueueSize()63   int QueueSize() override { return 0; }
64 
StripSSML(const std::string & utterance,base::OnceCallback<void (const std::string &)> callback)65   void StripSSML(
66       const std::string& utterance,
67       base::OnceCallback<void(const std::string&)> callback) override {}
68 
69  private:
70   friend struct base::DefaultSingletonTraits<MockTtsController>;
71   DISALLOW_COPY_AND_ASSIGN(MockTtsController);
72 };
73 
74 // static
GetInstance()75 TtsController* TtsController::GetInstance() {
76   return MockTtsController::GetInstance();
77 }
78 
79 }  // namespace content
80