OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/service_worker/service_worker_dispatcher_host.h" | 5 #include "content/browser/service_worker/service_worker_dispatcher_host.h" |
6 | 6 |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "content/browser/service_worker/embedded_worker_registry.h" | 8 #include "content/browser/service_worker/embedded_worker_registry.h" |
9 #include "content/browser/service_worker/service_worker_context_core.h" | 9 #include "content/browser/service_worker/service_worker_context_core.h" |
10 #include "content/browser/service_worker/service_worker_context_wrapper.h" | 10 #include "content/browser/service_worker/service_worker_context_wrapper.h" |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
73 IPC_BEGIN_MESSAGE_MAP_EX( | 73 IPC_BEGIN_MESSAGE_MAP_EX( |
74 ServiceWorkerDispatcherHost, message, *message_was_ok) | 74 ServiceWorkerDispatcherHost, message, *message_was_ok) |
75 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_RegisterServiceWorker, | 75 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_RegisterServiceWorker, |
76 OnRegisterServiceWorker) | 76 OnRegisterServiceWorker) |
77 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_UnregisterServiceWorker, | 77 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_UnregisterServiceWorker, |
78 OnUnregisterServiceWorker) | 78 OnUnregisterServiceWorker) |
79 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderCreated, | 79 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderCreated, |
80 OnProviderCreated) | 80 OnProviderCreated) |
81 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderDestroyed, | 81 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ProviderDestroyed, |
82 OnProviderDestroyed) | 82 OnProviderDestroyed) |
83 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_AddScriptClient, | |
84 OnAddScriptClient) | |
85 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_RemoveScriptClient, | |
86 OnRemoveScriptClient) | |
83 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerStarted, | 87 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerStarted, |
84 OnWorkerStarted) | 88 OnWorkerStarted) |
85 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerStopped, | 89 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_WorkerStopped, |
86 OnWorkerStopped) | 90 OnWorkerStopped) |
87 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_SendMessageToBrowser, | 91 IPC_MESSAGE_HANDLER(EmbeddedWorkerHostMsg_SendMessageToBrowser, |
88 OnSendMessageToBrowser) | 92 OnSendMessageToBrowser) |
89 IPC_MESSAGE_UNHANDLED(handled = false) | 93 IPC_MESSAGE_UNHANDLED(handled = false) |
90 IPC_END_MESSAGE_MAP() | 94 IPC_END_MESSAGE_MAP() |
91 | 95 |
92 return handled; | 96 return handled; |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
168 void ServiceWorkerDispatcherHost::OnProviderDestroyed(int provider_id) { | 172 void ServiceWorkerDispatcherHost::OnProviderDestroyed(int provider_id) { |
169 if (!context_) | 173 if (!context_) |
170 return; | 174 return; |
171 if (!context_->GetProviderHost(render_process_id_, provider_id)) { | 175 if (!context_->GetProviderHost(render_process_id_, provider_id)) { |
172 BadMessageReceived(); | 176 BadMessageReceived(); |
173 return; | 177 return; |
174 } | 178 } |
175 context_->RemoveProviderHost(render_process_id_, provider_id); | 179 context_->RemoveProviderHost(render_process_id_, provider_id); |
176 } | 180 } |
177 | 181 |
182 void ServiceWorkerDispatcherHost::OnAddScriptClient( | |
183 int thread_id, int provider_id) { | |
184 if (!context_) | |
185 return; | |
186 ServiceWorkerProviderHost* provider_host = | |
187 context_->GetProviderHost(render_process_id_, provider_id); | |
188 if (!provider_host) { | |
michaeln
2014/03/07 02:24:09
This might not be indicative of a bad message depe
kinuko
2014/03/07 02:37:13
Hmm, good point. Changed to just return in null c
| |
189 BadMessageReceived(); | |
190 return; | |
191 } | |
192 provider_host->AddScriptClient(thread_id); | |
193 } | |
194 | |
195 void ServiceWorkerDispatcherHost::OnRemoveScriptClient( | |
196 int thread_id, int provider_id) { | |
197 if (!context_) | |
198 return; | |
199 ServiceWorkerProviderHost* provider_host = | |
200 context_->GetProviderHost(render_process_id_, provider_id); | |
201 if (!provider_host) { | |
michaeln
2014/03/07 02:24:09
ditto can we trust blink on this?
| |
202 BadMessageReceived(); | |
203 return; | |
204 } | |
205 provider_host->RemoveScriptClient(thread_id); | |
206 } | |
207 | |
178 void ServiceWorkerDispatcherHost::RegistrationComplete( | 208 void ServiceWorkerDispatcherHost::RegistrationComplete( |
179 int32 thread_id, | 209 int32 thread_id, |
180 int32 request_id, | 210 int32 request_id, |
181 ServiceWorkerStatusCode status, | 211 ServiceWorkerStatusCode status, |
182 int64 registration_id) { | 212 int64 registration_id) { |
183 if (status != SERVICE_WORKER_OK) { | 213 if (status != SERVICE_WORKER_OK) { |
184 SendRegistrationError(thread_id, request_id, status); | 214 SendRegistrationError(thread_id, request_id, status); |
185 return; | 215 return; |
186 } | 216 } |
187 | 217 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
232 ServiceWorkerStatusCode status) { | 262 ServiceWorkerStatusCode status) { |
233 base::string16 error_message; | 263 base::string16 error_message; |
234 blink::WebServiceWorkerError::ErrorType error_type; | 264 blink::WebServiceWorkerError::ErrorType error_type; |
235 GetServiceWorkerRegistrationStatusResponse( | 265 GetServiceWorkerRegistrationStatusResponse( |
236 status, &error_type, &error_message); | 266 status, &error_type, &error_message); |
237 Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError( | 267 Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError( |
238 thread_id, request_id, error_type, error_message)); | 268 thread_id, request_id, error_type, error_message)); |
239 } | 269 } |
240 | 270 |
241 } // namespace content | 271 } // namespace content |
OLD | NEW |