Index: content/browser/service_worker/embedded_worker_instance.cc |
diff --git a/content/browser/service_worker/embedded_worker_instance.cc b/content/browser/service_worker/embedded_worker_instance.cc |
index 88c4b03e17f55e25b489ba0eb82853e6218608e0..a376562913c51b7794f2be651eafa1826f256004 100644 |
--- a/content/browser/service_worker/embedded_worker_instance.cc |
+++ b/content/browser/service_worker/embedded_worker_instance.cc |
@@ -85,12 +85,22 @@ void EmbeddedWorkerInstance::OnStarted(int thread_id) { |
DCHECK(status_ == STARTING); |
status_ = RUNNING; |
thread_id_ = thread_id; |
+ FOR_EACH_OBSERVER(Observer, observer_list_, OnStarted()); |
} |
void EmbeddedWorkerInstance::OnStopped() { |
status_ = STOPPED; |
process_id_ = -1; |
thread_id_ = -1; |
+ FOR_EACH_OBSERVER(Observer, observer_list_, OnStopped()); |
+} |
+ |
+void EmbeddedWorkerInstance::AddObserver(Observer* observer) { |
+ observer_list_.AddObserver(observer); |
+} |
+ |
+void EmbeddedWorkerInstance::RemoveObserver(Observer* observer) { |
+ observer_list_.RemoveObserver(observer); |
} |
bool EmbeddedWorkerInstance::ChooseProcess() { |