Chromium Code Reviews| Index: chrome/browser/speech/extension_api/tts_engine_extension_api.cc |
| diff --git a/chrome/browser/speech/extension_api/tts_engine_extension_api.cc b/chrome/browser/speech/extension_api/tts_engine_extension_api.cc |
| index 4c9b8d55efb89dc177fcb9e011085dee6364687b..624c7ee4c56c6a33cfed8db484f514bf68eace3f 100644 |
| --- a/chrome/browser/speech/extension_api/tts_engine_extension_api.cc |
| +++ b/chrome/browser/speech/extension_api/tts_engine_extension_api.cc |
| @@ -25,6 +25,8 @@ namespace constants = tts_extension_api_constants; |
| namespace tts_engine_events { |
| const char kOnSpeak[] = "ttsEngine.onSpeak"; |
| const char kOnStop[] = "ttsEngine.onStop"; |
| +const char kOnPause[] = "ttsEngine.onPause"; |
| +const char kOnResume[] = "ttsEngine.onResume"; |
| }; // namespace tts_engine_events |
| void GetExtensionVoices(Profile* profile, std::vector<VoiceData>* out_voices) { |
| @@ -131,6 +133,24 @@ void ExtensionTtsEngineStop(Utterance* utterance) { |
| DispatchEventToExtension(utterance->extension_id(), event.Pass()); |
| } |
| +void ExtensionTtsEnginePause(Utterance* utterance) { |
| + scoped_ptr<ListValue> args(new ListValue()); |
| + scoped_ptr<extensions::Event> event(new extensions::Event( |
| + tts_engine_events::kOnPause, args.Pass())); |
| + event->restrict_to_profile = utterance->profile(); |
| + extensions::ExtensionSystem::Get(utterance->profile())->event_router()-> |
| + DispatchEventToExtension(utterance->extension_id(), event.Pass()); |
| +} |
| + |
| +void ExtensionTtsEngineResume(Utterance* utterance) { |
| + scoped_ptr<ListValue> args(new ListValue()); |
| + scoped_ptr<extensions::Event> event(new extensions::Event( |
| + tts_engine_events::kOnResume, args.Pass())); |
| + event->restrict_to_profile = utterance->profile(); |
| + extensions::ExtensionSystem::Get(utterance->profile())->event_router()-> |
| + DispatchEventToExtension(utterance->extension_id(), event.Pass()); |
|
not at google - send to devlin
2013/05/13 14:46:53
Consider sending a warning to the console of the t
dmazzoni
2013/05/14 16:50:27
You were thinking of UIThreadExtensionFunction::Wr
|
| +} |
| + |
| bool ExtensionTtsEngineSendTtsEventFunction::RunImpl() { |
| int utterance_id; |
| std::string error_message; |
| @@ -192,6 +212,12 @@ bool ExtensionTtsEngineSendTtsEventFunction::RunImpl() { |
| event->GetString(constants::kErrorMessageKey, &error_message); |
| controller->OnTtsEvent( |
| utterance_id, TTS_EVENT_ERROR, char_index, error_message); |
| + } else if (event_type == constants::kEventTypePause) { |
| + controller->OnTtsEvent( |
| + utterance_id, TTS_EVENT_PAUSE, char_index, std::string()); |
| + } else if (event_type == constants::kEventTypeResume) { |
| + controller->OnTtsEvent( |
| + utterance_id, TTS_EVENT_RESUME, char_index, std::string()); |
| } else { |
| EXTENSION_FUNCTION_VALIDATE(false); |
| } |