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 <stddef.h> | 7 #include <stddef.h> |
8 | |
9 #include <string> | 8 #include <string> |
| 9 #include <utility> |
10 | 10 |
11 #include "base/lazy_instance.h" | 11 #include "base/lazy_instance.h" |
12 #include "base/values.h" | 12 #include "base/values.h" |
13 #include "chrome/browser/profiles/profile.h" | 13 #include "chrome/browser/profiles/profile.h" |
14 #include "chrome/browser/speech/extension_api/tts_engine_extension_api.h" | 14 #include "chrome/browser/speech/extension_api/tts_engine_extension_api.h" |
15 #include "chrome/browser/speech/extension_api/tts_engine_extension_observer.h" | 15 #include "chrome/browser/speech/extension_api/tts_engine_extension_observer.h" |
16 #include "chrome/browser/speech/extension_api/tts_extension_api_constants.h" | 16 #include "chrome/browser/speech/extension_api/tts_extension_api_constants.h" |
17 #include "chrome/browser/speech/tts_controller.h" | 17 #include "chrome/browser/speech/tts_controller.h" |
18 #include "extensions/browser/event_router.h" | 18 #include "extensions/browser/event_router.h" |
19 #include "extensions/browser/extension_function_registry.h" | 19 #include "extensions/browser/extension_function_registry.h" |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 details->SetString(constants::kErrorMessageKey, error_message); | 132 details->SetString(constants::kErrorMessageKey, error_message); |
133 } | 133 } |
134 details->SetInteger(constants::kSrcIdKey, utterance->src_id()); | 134 details->SetInteger(constants::kSrcIdKey, utterance->src_id()); |
135 details->SetBoolean(constants::kIsFinalEventKey, utterance->finished()); | 135 details->SetBoolean(constants::kIsFinalEventKey, utterance->finished()); |
136 | 136 |
137 scoped_ptr<base::ListValue> arguments(new base::ListValue()); | 137 scoped_ptr<base::ListValue> arguments(new base::ListValue()); |
138 arguments->Set(0, details.release()); | 138 arguments->Set(0, details.release()); |
139 | 139 |
140 scoped_ptr<extensions::Event> event( | 140 scoped_ptr<extensions::Event> event( |
141 new extensions::Event(::extensions::events::TTS_ON_EVENT, | 141 new extensions::Event(::extensions::events::TTS_ON_EVENT, |
142 ::events::kOnEvent, arguments.Pass())); | 142 ::events::kOnEvent, std::move(arguments))); |
143 event->restrict_to_browser_context = utterance->browser_context(); | 143 event->restrict_to_browser_context = utterance->browser_context(); |
144 event->event_url = utterance->src_url(); | 144 event->event_url = utterance->src_url(); |
145 extensions::EventRouter::Get(utterance->browser_context()) | 145 extensions::EventRouter::Get(utterance->browser_context()) |
146 ->DispatchEventToExtension(src_extension_id_, event.Pass()); | 146 ->DispatchEventToExtension(src_extension_id_, std::move(event)); |
147 | 147 |
148 if (utterance->finished()) | 148 if (utterance->finished()) |
149 delete this; | 149 delete this; |
150 } | 150 } |
151 | 151 |
152 bool TtsSpeakFunction::RunAsync() { | 152 bool TtsSpeakFunction::RunAsync() { |
153 std::string text; | 153 std::string text; |
154 EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &text)); | 154 EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &text)); |
155 if (text.size() > 32768) { | 155 if (text.size() > 32768) { |
156 error_ = constants::kErrorUtteranceTooLong; | 156 error_ = constants::kErrorUtteranceTooLong; |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 } | 366 } |
367 | 367 |
368 static base::LazyInstance<BrowserContextKeyedAPIFactory<TtsAPI> > g_factory = | 368 static base::LazyInstance<BrowserContextKeyedAPIFactory<TtsAPI> > g_factory = |
369 LAZY_INSTANCE_INITIALIZER; | 369 LAZY_INSTANCE_INITIALIZER; |
370 | 370 |
371 BrowserContextKeyedAPIFactory<TtsAPI>* TtsAPI::GetFactoryInstance() { | 371 BrowserContextKeyedAPIFactory<TtsAPI>* TtsAPI::GetFactoryInstance() { |
372 return g_factory.Pointer(); | 372 return g_factory.Pointer(); |
373 } | 373 } |
374 | 374 |
375 } // namespace extensions | 375 } // namespace extensions |
OLD | NEW |