Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / content / browser / service_worker / embedded_worker_instance.cc
index 7cfd5cb..eaa8b46 100644 (file)
@@ -15,38 +15,42 @@ EmbeddedWorkerInstance::~EmbeddedWorkerInstance() {
   registry_->RemoveWorker(process_id_, embedded_worker_id_);
 }
 
-bool EmbeddedWorkerInstance::Start(
+ServiceWorkerStatusCode EmbeddedWorkerInstance::Start(
     int64 service_worker_version_id,
     const GURL& script_url) {
   DCHECK(status_ == STOPPED);
   if (!ChooseProcess())
-    return false;
+    return SERVICE_WORKER_ERROR_PROCESS_NOT_FOUND;
   status_ = STARTING;
-  bool success = registry_->StartWorker(
+  ServiceWorkerStatusCode status = registry_->StartWorker(
       process_id_,
       embedded_worker_id_,
       service_worker_version_id,
       script_url);
-  if (!success) {
+  if (status != SERVICE_WORKER_OK) {
     status_ = STOPPED;
     process_id_ = -1;
   }
-  return success;
+  return status;
 }
 
-bool EmbeddedWorkerInstance::Stop() {
+ServiceWorkerStatusCode EmbeddedWorkerInstance::Stop() {
   DCHECK(status_ == STARTING || status_ == RUNNING);
-  const bool success = registry_->StopWorker(process_id_, embedded_worker_id_);
-  if (success)
+  ServiceWorkerStatusCode status =
+      registry_->StopWorker(process_id_, embedded_worker_id_);
+  if (status == SERVICE_WORKER_OK)
     status_ = STOPPING;
-  return success;
+  return status;
 }
 
-bool EmbeddedWorkerInstance::SendMessage(const IPC::Message& message) {
+ServiceWorkerStatusCode EmbeddedWorkerInstance::SendMessage(
+    int request_id,
+    const IPC::Message& message) {
   DCHECK(status_ == RUNNING);
   return registry_->Send(process_id_,
                          new EmbeddedWorkerContextMsg_SendMessageToWorker(
-                             thread_id_, embedded_worker_id_, message));
+                             thread_id_, embedded_worker_id_,
+                             request_id, message));
 }
 
 void EmbeddedWorkerInstance::AddProcessReference(int process_id) {
@@ -93,8 +97,10 @@ void EmbeddedWorkerInstance::OnStopped() {
   FOR_EACH_OBSERVER(Observer, observer_list_, OnStopped());
 }
 
-void EmbeddedWorkerInstance::OnMessageReceived(const IPC::Message& message) {
-  FOR_EACH_OBSERVER(Observer, observer_list_, OnMessageReceived(message));
+void EmbeddedWorkerInstance::OnMessageReceived(int request_id,
+                                               const IPC::Message& message) {
+  FOR_EACH_OBSERVER(Observer, observer_list_,
+                    OnMessageReceived(request_id, message));
 }
 
 void EmbeddedWorkerInstance::AddObserver(Observer* observer) {