| 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_version.h" | 5 #include "content/browser/service_worker/service_worker_version.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
| 9 #include "base/strings/string16.h" |
| 9 #include "content/browser/service_worker/embedded_worker_instance.h" | 10 #include "content/browser/service_worker/embedded_worker_instance.h" |
| 10 #include "content/browser/service_worker/embedded_worker_registry.h" | 11 #include "content/browser/service_worker/embedded_worker_registry.h" |
| 11 #include "content/browser/service_worker/service_worker_context_core.h" | 12 #include "content/browser/service_worker/service_worker_context_core.h" |
| 12 #include "content/browser/service_worker/service_worker_registration.h" | 13 #include "content/browser/service_worker/service_worker_registration.h" |
| 13 #include "content/common/service_worker/service_worker_messages.h" | 14 #include "content/common/service_worker/service_worker_messages.h" |
| 14 #include "content/public/browser/browser_thread.h" | 15 #include "content/public/browser/browser_thread.h" |
| 15 #include "content/public/common/content_switches.h" | 16 #include "content/public/common/content_switches.h" |
| 16 | 17 |
| 17 namespace content { | 18 namespace content { |
| 18 | 19 |
| (...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetClientDocuments, | 423 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetClientDocuments, |
| 423 OnGetClientDocuments) | 424 OnGetClientDocuments) |
| 424 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ActivateEventFinished, | 425 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ActivateEventFinished, |
| 425 OnActivateEventFinished) | 426 OnActivateEventFinished) |
| 426 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_InstallEventFinished, | 427 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_InstallEventFinished, |
| 427 OnInstallEventFinished) | 428 OnInstallEventFinished) |
| 428 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_FetchEventFinished, | 429 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_FetchEventFinished, |
| 429 OnFetchEventFinished) | 430 OnFetchEventFinished) |
| 430 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_SyncEventFinished, | 431 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_SyncEventFinished, |
| 431 OnSyncEventFinished) | 432 OnSyncEventFinished) |
| 433 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_PostMessageToDocument, |
| 434 OnPostMessageToDocument) |
| 432 IPC_MESSAGE_UNHANDLED(handled = false) | 435 IPC_MESSAGE_UNHANDLED(handled = false) |
| 433 IPC_END_MESSAGE_MAP() | 436 IPC_END_MESSAGE_MAP() |
| 434 return handled; | 437 return handled; |
| 435 } | 438 } |
| 436 | 439 |
| 437 void ServiceWorkerVersion::RunStartWorkerCallbacksOnError( | 440 void ServiceWorkerVersion::RunStartWorkerCallbacksOnError( |
| 438 ServiceWorkerStatusCode status) { | 441 ServiceWorkerStatusCode status) { |
| 439 if (status != SERVICE_WORKER_OK) | 442 if (status != SERVICE_WORKER_OK) |
| 440 RunCallbacks(this, &start_callbacks_, status); | 443 RunCallbacks(this, &start_callbacks_, status); |
| 441 } | 444 } |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 540 if (!callback) { | 543 if (!callback) { |
| 541 NOTREACHED() << "Got unexpected message: " << request_id; | 544 NOTREACHED() << "Got unexpected message: " << request_id; |
| 542 return; | 545 return; |
| 543 } | 546 } |
| 544 | 547 |
| 545 scoped_refptr<ServiceWorkerVersion> protect(this); | 548 scoped_refptr<ServiceWorkerVersion> protect(this); |
| 546 callback->Run(SERVICE_WORKER_OK); | 549 callback->Run(SERVICE_WORKER_OK); |
| 547 sync_callbacks_.Remove(request_id); | 550 sync_callbacks_.Remove(request_id); |
| 548 } | 551 } |
| 549 | 552 |
| 553 void ServiceWorkerVersion::OnPostMessageToDocument( |
| 554 int client_id, |
| 555 const base::string16& message, |
| 556 const std::vector<int>& sent_message_port_ids) { |
| 557 ServiceWorkerProviderHost* provider_host = |
| 558 controllee_by_id_.Lookup(client_id); |
| 559 if (!provider_host) { |
| 560 // The client may already have been closed, just ignore. |
| 561 return; |
| 562 } |
| 563 provider_host->PostMessage(message, sent_message_port_ids); |
| 564 } |
| 565 |
| 550 } // namespace content | 566 } // namespace content |
| OLD | NEW |