Index: content/browser/service_worker/service_worker_context_wrapper.h |
diff --git a/content/browser/service_worker/service_worker_context_wrapper.h b/content/browser/service_worker/service_worker_context_wrapper.h |
index bd83210679bad8f0421b844caf46995e6f4365bb..3396fedc88c430cdaffc09dc19b1ce655ae2e183 100644 |
--- a/content/browser/service_worker/service_worker_context_wrapper.h |
+++ b/content/browser/service_worker/service_worker_context_wrapper.h |
@@ -11,6 +11,7 @@ |
#include "base/memory/ref_counted.h" |
#include "base/memory/scoped_ptr.h" |
#include "content/browser/service_worker/service_worker_context_core.h" |
+#include "content/browser/service_worker/service_worker_context_observer.h" |
#include "content/common/content_export.h" |
#include "content/public/browser/service_worker_context.h" |
@@ -34,6 +35,7 @@ class ServiceWorkerContextObserver; |
// is what is used internally in the service worker lib. |
class CONTENT_EXPORT ServiceWorkerContextWrapper |
: NON_EXPORTED_BASE(public ServiceWorkerContext), |
+ public ServiceWorkerContextObserver, |
public base::RefCountedThreadSafe<ServiceWorkerContextWrapper> { |
public: |
ServiceWorkerContextWrapper(BrowserContext* browser_context); |
@@ -57,6 +59,20 @@ class CONTENT_EXPORT ServiceWorkerContextWrapper |
const ResultCallback& continuation) |
OVERRIDE; |
+ virtual void AddStatusChangeCallback( |
+ const base::Callback<void(void)>& callback) OVERRIDE; |
+ |
+ virtual void RemoveStatusChangeCallback( |
+ const base::Callback<void(void)>& callback) OVERRIDE; |
+ |
+ virtual void GetRunningServiceWorkerInfo( |
+ const GetRunningServiceWorkerInfoCallback& callback) OVERRIDE; |
+ |
+ // ServiceWorkerContextObserver |
michaeln
2014/05/01 02:52:07
can these go in the private section since it's rea
horo
2014/05/01 04:52:32
Done.
|
+ virtual void OnWorkerStarted(int64 version_id, int process_id, int thread_id); |
+ virtual void OnWorkerStopped(int64 version_id, int process_id, int thread_id); |
+ virtual void OnVersionStateChanged(int64 version_id); |
+ |
void AddObserver(ServiceWorkerContextObserver* observer); |
void RemoveObserver(ServiceWorkerContextObserver* observer); |
@@ -65,11 +81,14 @@ class CONTENT_EXPORT ServiceWorkerContextWrapper |
friend class ServiceWorkerProcessManager; |
virtual ~ServiceWorkerContextWrapper(); |
+ void CallStatusChangeCallback(); |
+ |
const scoped_refptr<ObserverListThreadSafe<ServiceWorkerContextObserver> > |
observer_list_; |
// Cleared in Shutdown(): |
BrowserContext* browser_context_; |
scoped_ptr<ServiceWorkerContextCore> context_core_; |
+ std::vector<base::Callback<void(void)> > status_change_callbacks_; |
}; |
} // namespace content |