Index: chrome/browser/extensions/api/hotword_private/hotword_private_api.cc |
diff --git a/chrome/browser/extensions/api/hotword_private/hotword_private_api.cc b/chrome/browser/extensions/api/hotword_private/hotword_private_api.cc |
index 495acdfacd339bffd02007c008342e907052cced..05206ac0b42ed590cedbf0ae26d5defe4ed2950b 100644 |
--- a/chrome/browser/extensions/api/hotword_private/hotword_private_api.cc |
+++ b/chrome/browser/extensions/api/hotword_private/hotword_private_api.cc |
@@ -102,6 +102,10 @@ void HotwordPrivateEventService::OnDeleteSpeakerModel() { |
SignalEvent(api::hotword_private::OnDeleteSpeakerModel::kEventName); |
} |
+void HotwordPrivateEventService::OnSpeakerModelExists() { |
+ SignalEvent(api::hotword_private::OnSpeakerModelExists::kEventName); |
+} |
+ |
void HotwordPrivateEventService::SignalEvent(const std::string& event_name) { |
EventRouter* router = EventRouter::Get(profile_); |
if (!router || !router->HasEventListener(event_name)) |
@@ -453,4 +457,18 @@ void HotwordPrivateGetAudioHistoryEnabledFunction::SetResultAndSendResponse( |
SendResponse(true); |
} |
+bool HotwordPrivateSpeakerModelExistsResultFunction::RunSync() { |
+ scoped_ptr<api::hotword_private::SpeakerModelExistsResult::Params> params( |
+ api::hotword_private::SpeakerModelExistsResult::Params::Create(*args_)); |
+ EXTENSION_FUNCTION_VALIDATE(params.get()); |
+ |
+ HotwordService* hotword_service = |
+ HotwordServiceFactory::GetForProfile(GetProfile()); |
+ if (!hotword_service) |
+ return false; |
+ |
+ hotword_service->SpeakerModelExistsComplete(params->exists); |
+ return true; |
+} |
+ |
} // namespace extensions |