| Index: content/browser/service_worker/service_worker_context_watcher.cc
|
| diff --git a/content/browser/service_worker/service_worker_context_watcher.cc b/content/browser/service_worker/service_worker_context_watcher.cc
|
| index 45b0065c623ab65aedbbebb954d1a85142556401..13e1228ec154cf3df65f99ad057107826db3d047 100644
|
| --- a/content/browser/service_worker/service_worker_context_watcher.cc
|
| +++ b/content/browser/service_worker/service_worker_context_watcher.cc
|
| @@ -9,6 +9,7 @@
|
| #include "content/browser/service_worker/service_worker_context_observer.h"
|
| #include "content/browser/service_worker/service_worker_context_wrapper.h"
|
| #include "content/browser/service_worker/service_worker_version.h"
|
| +#include "content/common/service_worker/service_worker_types.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "url/gurl.h"
|
|
|
| @@ -26,10 +27,12 @@ bool IsStoppedAndRedundant(const ServiceWorkerVersionInfo& version_info) {
|
| ServiceWorkerContextWatcher::ServiceWorkerContextWatcher(
|
| scoped_refptr<ServiceWorkerContextWrapper> context,
|
| const WorkerRegistrationUpdatedCallback& registration_callback,
|
| - const WorkerVersionUpdatedCallback& version_callback)
|
| + const WorkerVersionUpdatedCallback& version_callback,
|
| + const WorkerErrorReportedCallback& error_callback)
|
| : context_(context),
|
| registration_callback_(registration_callback),
|
| - version_callback_(version_callback) {
|
| + version_callback_(version_callback),
|
| + error_callback_(error_callback) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| }
|
|
|
| @@ -195,6 +198,18 @@ void ServiceWorkerContextWatcher::OnVersionStateChanged(
|
| version_info_map_.erase(version_id);
|
| }
|
|
|
| +void ServiceWorkerContextWatcher::OnErrorReported(int64 version_id,
|
| + int process_id,
|
| + int thread_id,
|
| + const ErrorInfo& info) {
|
| + int64 registration_id = kInvalidServiceWorkerRegistrationId;
|
| + if (ServiceWorkerVersionInfo* version = version_info_map_.get(version_id))
|
| + registration_id = version->registration_id;
|
| + BrowserThread::PostTask(
|
| + BrowserThread::UI, FROM_HERE,
|
| + base::Bind(error_callback_, registration_id, version_id, info));
|
| +}
|
| +
|
| void ServiceWorkerContextWatcher::OnRegistrationStored(int64 registration_id,
|
| const GURL& pattern) {
|
| SendRegistrationInfo(registration_id, pattern,
|
|
|