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

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

Issue 149233004: Revert "Automatically trigger installation of high-quality speech synthesis extension." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Don't remove WillSpeakUtteranceWithVoice, it is dependent upon by a test now. Created 6 years, 10 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/speech/tts_controller.h" 5 #include "chrome/browser/speech/tts_controller.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/float_util.h" 10 #include "base/float_util.h"
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 GetPlatformImpl()->clear_error(); 189 GetPlatformImpl()->clear_error();
190 bool success = GetPlatformImpl()->Speak( 190 bool success = GetPlatformImpl()->Speak(
191 utterance->id(), 191 utterance->id(),
192 utterance->text(), 192 utterance->text(),
193 utterance->lang(), 193 utterance->lang(),
194 voice, 194 voice,
195 utterance->continuous_parameters()); 195 utterance->continuous_parameters());
196 if (!success) 196 if (!success)
197 current_utterance_ = NULL; 197 current_utterance_ = NULL;
198 198
199 // If the native voice wasn't able to process this speech, see if
200 // the browser has built-in TTS that isn't loaded yet.
201 if (!success &&
202 GetPlatformImpl()->LoadBuiltInTtsExtension(utterance->profile())) {
203 utterance_queue_.push(utterance);
204 return;
205 }
206
199 if (!success) { 207 if (!success) {
200 utterance->OnTtsEvent(TTS_EVENT_ERROR, kInvalidCharIndex, 208 utterance->OnTtsEvent(TTS_EVENT_ERROR, kInvalidCharIndex,
201 GetPlatformImpl()->error()); 209 GetPlatformImpl()->error());
202 delete utterance; 210 delete utterance;
203 return; 211 return;
204 } 212 }
205 } 213 }
206 } 214 }
207 215
208 void TtsController::Stop() { 216 void TtsController::Stop() {
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 307
300 // Start speaking the next utterance in the queue. Keep trying in case 308 // Start speaking the next utterance in the queue. Keep trying in case
301 // one fails but there are still more in the queue to try. 309 // one fails but there are still more in the queue to try.
302 while (!utterance_queue_.empty() && !current_utterance_) { 310 while (!utterance_queue_.empty() && !current_utterance_) {
303 Utterance* utterance = utterance_queue_.front(); 311 Utterance* utterance = utterance_queue_.front();
304 utterance_queue_.pop(); 312 utterance_queue_.pop();
305 SpeakNow(utterance); 313 SpeakNow(utterance);
306 } 314 }
307 } 315 }
308 316
317 void TtsController::RetrySpeakingQueuedUtterances() {
318 if (current_utterance_ == NULL && !utterance_queue_.empty())
319 SpeakNextUtterance();
320 }
321
309 void TtsController::ClearUtteranceQueue(bool send_events) { 322 void TtsController::ClearUtteranceQueue(bool send_events) {
310 while (!utterance_queue_.empty()) { 323 while (!utterance_queue_.empty()) {
311 Utterance* utterance = utterance_queue_.front(); 324 Utterance* utterance = utterance_queue_.front();
312 utterance_queue_.pop(); 325 utterance_queue_.pop();
313 if (send_events) 326 if (send_events)
314 utterance->OnTtsEvent(TTS_EVENT_CANCELLED, kInvalidCharIndex, 327 utterance->OnTtsEvent(TTS_EVENT_CANCELLED, kInvalidCharIndex,
315 std::string()); 328 std::string());
316 else 329 else
317 utterance->Finish(); 330 utterance->Finish();
318 delete utterance; 331 delete utterance;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 } 414 }
402 415
403 void TtsController::AddVoicesChangedDelegate(VoicesChangedDelegate* delegate) { 416 void TtsController::AddVoicesChangedDelegate(VoicesChangedDelegate* delegate) {
404 voices_changed_delegates_.insert(delegate); 417 voices_changed_delegates_.insert(delegate);
405 } 418 }
406 419
407 void TtsController::RemoveVoicesChangedDelegate( 420 void TtsController::RemoveVoicesChangedDelegate(
408 VoicesChangedDelegate* delegate) { 421 VoicesChangedDelegate* delegate) {
409 voices_changed_delegates_.erase(delegate); 422 voices_changed_delegates_.erase(delegate);
410 } 423 }
OLDNEW
« no previous file with comments | « chrome/browser/speech/tts_controller.h ('k') | chrome/browser/speech/tts_extension_loader_chromeos.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698