| OLD | NEW |
| 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/speech/extension_api/tts_extension_api.h" | 5 #include "chrome/browser/speech/extension_api/tts_extension_api.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
| 10 #include "base/values.h" | 10 #include "base/values.h" |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 262 EXTENSION_FUNCTION_VALIDATE( | 262 EXTENSION_FUNCTION_VALIDATE( |
| 263 options->GetInteger(constants::kSrcIdKey, &src_id)); | 263 options->GetInteger(constants::kSrcIdKey, &src_id)); |
| 264 } | 264 } |
| 265 | 265 |
| 266 // If we got this far, the arguments were all in the valid format, so | 266 // If we got this far, the arguments were all in the valid format, so |
| 267 // send the success response to the callback now - this ensures that | 267 // send the success response to the callback now - this ensures that |
| 268 // the callback response always arrives before events, which makes | 268 // the callback response always arrives before events, which makes |
| 269 // the behavior more predictable and easier to write unit tests for too. | 269 // the behavior more predictable and easier to write unit tests for too. |
| 270 SendResponse(true); | 270 SendResponse(true); |
| 271 | 271 |
| 272 UtteranceContinuousParameters continuous_params; | |
| 273 continuous_params.rate = rate; | |
| 274 continuous_params.pitch = pitch; | |
| 275 continuous_params.volume = volume; | |
| 276 | |
| 277 Utterance* utterance = new Utterance(GetProfile()); | 272 Utterance* utterance = new Utterance(GetProfile()); |
| 278 utterance->set_text(text); | 273 utterance->set_text(text); |
| 279 utterance->set_voice_name(voice_name); | 274 utterance->set_voice_name(voice_name); |
| 280 utterance->set_src_id(src_id); | 275 utterance->set_src_id(src_id); |
| 281 utterance->set_src_url(source_url()); | 276 utterance->set_src_url(source_url()); |
| 282 utterance->set_lang(lang); | 277 utterance->set_lang(lang); |
| 283 utterance->set_gender(gender); | 278 utterance->set_gender(gender); |
| 284 utterance->set_continuous_parameters(continuous_params); | 279 utterance->set_continuous_parameters(rate, pitch, volume); |
| 285 utterance->set_can_enqueue(can_enqueue); | 280 utterance->set_can_enqueue(can_enqueue); |
| 286 utterance->set_required_event_types(required_event_types); | 281 utterance->set_required_event_types(required_event_types); |
| 287 utterance->set_desired_event_types(desired_event_types); | 282 utterance->set_desired_event_types(desired_event_types); |
| 288 utterance->set_extension_id(voice_extension_id); | 283 utterance->set_extension_id(voice_extension_id); |
| 289 utterance->set_options(options.get()); | 284 utterance->set_options(options.get()); |
| 290 utterance->set_event_delegate(new TtsExtensionEventHandler(extension_id())); | 285 utterance->set_event_delegate(new TtsExtensionEventHandler(extension_id())); |
| 291 | 286 |
| 292 TtsController* controller = TtsController::GetInstance(); | 287 TtsController* controller = TtsController::GetInstance(); |
| 293 controller->SpeakOrEnqueue(utterance); | 288 controller->SpeakOrEnqueue(utterance); |
| 294 return true; | 289 return true; |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 } | 363 } |
| 369 | 364 |
| 370 static base::LazyInstance<BrowserContextKeyedAPIFactory<TtsAPI> > g_factory = | 365 static base::LazyInstance<BrowserContextKeyedAPIFactory<TtsAPI> > g_factory = |
| 371 LAZY_INSTANCE_INITIALIZER; | 366 LAZY_INSTANCE_INITIALIZER; |
| 372 | 367 |
| 373 BrowserContextKeyedAPIFactory<TtsAPI>* TtsAPI::GetFactoryInstance() { | 368 BrowserContextKeyedAPIFactory<TtsAPI>* TtsAPI::GetFactoryInstance() { |
| 374 return g_factory.Pointer(); | 369 return g_factory.Pointer(); |
| 375 } | 370 } |
| 376 | 371 |
| 377 } // namespace extensions | 372 } // namespace extensions |
| OLD | NEW |