Index: content/browser/service_worker/service_worker_dispatcher_host.cc |
diff --git a/content/browser/service_worker/service_worker_dispatcher_host.cc b/content/browser/service_worker/service_worker_dispatcher_host.cc |
index c531e915e888504b1396aa27dab35bf4db51b7a3..e79290af204f6aac079a7768d13f2bbd91f9ce81 100644 |
--- a/content/browser/service_worker/service_worker_dispatcher_host.cc |
+++ b/content/browser/service_worker/service_worker_dispatcher_host.cc |
@@ -19,7 +19,6 @@ ServiceWorkerDispatcherHost::~ServiceWorkerDispatcherHost() {} |
bool ServiceWorkerDispatcherHost::OnMessageReceived(const IPC::Message& message, |
bool* message_was_ok) { |
- |
if (IPC_MESSAGE_CLASS(message) != ServiceWorkerMsgStart) |
return false; |
@@ -36,15 +35,30 @@ bool ServiceWorkerDispatcherHost::OnMessageReceived(const IPC::Message& message, |
return handled; |
} |
-void ServiceWorkerDispatcherHost::OnRegisterServiceWorker(int32 registry_id, |
- const string16& scope, |
- const GURL& script_url) { |
+// TODO(alecflett): Store the worker_id keyed by (domain+pattern, |
+// script) so we don't always return a new service worker id. |
+static int32 NextWorkerId() { |
+ static int32 worker_id = 0; |
+ return worker_id++; |
+} |
+ |
+void ServiceWorkerDispatcherHost::OnRegisterServiceWorker( |
+ int32 thread_id, |
+ int32 request_id, |
+ const string16& scope, |
+ const GURL& script_url) { |
// TODO(alecflett): Enforce that script_url must have the same |
// origin as the registering document. |
+ Send(new ServiceWorkerMsg_ServiceWorkerRegistered( |
+ thread_id, request_id, NextWorkerId())); |
} |
void ServiceWorkerDispatcherHost::OnUnregisterServiceWorker( |
- int32 registry_id, |
- const string16& scope) {} |
+ int32 thread_id, |
+ int32 request_id, |
+ const string16& scope) { |
+ Send(new ServiceWorkerMsg_ServiceWorkerUnregistered( |
+ thread_id, request_id, NextWorkerId())); |
+} |
} // namespace content |