| 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(), | 
|  |