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

Unified Diff: chrome/browser/speech/extension_api/tts_engine_extension_api.cc

Issue 15108002: Add Pause and Resume to Web TTS & Extension TTS APIs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix typo Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698