| Index: chrome/browser/extensions/api/copresence/copresence_api.cc
|
| diff --git a/chrome/browser/extensions/api/copresence/copresence_api.cc b/chrome/browser/extensions/api/copresence/copresence_api.cc
|
| index 8fb4faccb7cd9e5e1a573105073ff8a42b1e3859..502fa4eae19f6f1a3af38a475d29ad351f0bd689 100644
|
| --- a/chrome/browser/extensions/api/copresence/copresence_api.cc
|
| +++ b/chrome/browser/extensions/api/copresence/copresence_api.cc
|
| @@ -115,6 +115,21 @@ void CopresenceService::HandleMessages(
|
| << app_id << "\" for subscription \"" << subscription_id << "\"";
|
| }
|
|
|
| +void CopresenceService::HandleStatusUpdate(
|
| + copresence::CopresenceStatus status) {
|
| + // Update all apps using copresence with the new status update.
|
| + for (const std::string& app_id : copresence_apps_) {
|
| + scoped_ptr<Event> event(
|
| + new Event(api::copresence::OnStatusUpdated::kEventName,
|
| + api::copresence::OnStatusUpdated::Create(
|
| + api::copresence::STATUS_AUDIOFAILED),
|
| + browser_context_));
|
| + EventRouter::Get(browser_context_)
|
| + ->DispatchEventToExtension(app_id, event.Pass());
|
| + DVLOG(2) << "Sent Audio Failed status update to app_id: " << app_id;
|
| + }
|
| +}
|
| +
|
| net::URLRequestContextGetter* CopresenceService::GetRequestContext() const {
|
| return browser_context_->GetRequestContext();
|
| }
|
| @@ -167,6 +182,7 @@ ExtensionFunction::ResponseAction CopresenceExecuteFunction::Run() {
|
| return RespondNow(Error(kInvalidOperationsMessage));
|
| }
|
|
|
| + service->copresence_apps().insert(extension_id());
|
| service->manager()->ExecuteReportRequest(
|
| request,
|
| extension_id(),
|
|
|