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 <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
(...skipping 937 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
948 source_identifier, | 948 source_identifier, |
949 message_level, | 949 message_level, |
950 message, | 950 message, |
951 line_number, | 951 line_number, |
952 source_url)); | 952 source_url)); |
953 } | 953 } |
954 | 954 |
955 bool ServiceWorkerVersion::OnMessageReceived(const IPC::Message& message) { | 955 bool ServiceWorkerVersion::OnMessageReceived(const IPC::Message& message) { |
956 bool handled = true; | 956 bool handled = true; |
957 IPC_BEGIN_MESSAGE_MAP(ServiceWorkerVersion, message) | 957 IPC_BEGIN_MESSAGE_MAP(ServiceWorkerVersion, message) |
| 958 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetClient, OnGetClient) |
958 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetClients, | 959 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_GetClients, |
959 OnGetClients) | 960 OnGetClients) |
960 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ActivateEventFinished, | 961 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_ActivateEventFinished, |
961 OnActivateEventFinished) | 962 OnActivateEventFinished) |
962 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_InstallEventFinished, | 963 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_InstallEventFinished, |
963 OnInstallEventFinished) | 964 OnInstallEventFinished) |
964 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_FetchEventFinished, | 965 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_FetchEventFinished, |
965 OnFetchEventFinished) | 966 OnFetchEventFinished) |
966 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_OpenWindow, | 967 IPC_MESSAGE_HANDLER(ServiceWorkerHostMsg_OpenWindow, |
967 OnOpenWindow) | 968 OnOpenWindow) |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1018 int request_id = AddRequest(callback, &activate_requests_, REQUEST_ACTIVATE, | 1019 int request_id = AddRequest(callback, &activate_requests_, REQUEST_ACTIVATE, |
1019 ServiceWorkerMetrics::EventType::ACTIVATE); | 1020 ServiceWorkerMetrics::EventType::ACTIVATE); |
1020 ServiceWorkerStatusCode status = | 1021 ServiceWorkerStatusCode status = |
1021 embedded_worker_->SendMessage(ServiceWorkerMsg_ActivateEvent(request_id)); | 1022 embedded_worker_->SendMessage(ServiceWorkerMsg_ActivateEvent(request_id)); |
1022 if (status != SERVICE_WORKER_OK) { | 1023 if (status != SERVICE_WORKER_OK) { |
1023 activate_requests_.Remove(request_id); | 1024 activate_requests_.Remove(request_id); |
1024 RunSoon(base::Bind(callback, status)); | 1025 RunSoon(base::Bind(callback, status)); |
1025 } | 1026 } |
1026 } | 1027 } |
1027 | 1028 |
| 1029 void ServiceWorkerVersion::OnGetClient(int request_id, |
| 1030 const std::string& client_uuid) { |
| 1031 TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker", "ServiceWorkerVersion::OnGetClient", |
| 1032 request_id, "client_uuid", client_uuid); |
| 1033 service_worker_client_utils::GetClient( |
| 1034 weak_factory_.GetWeakPtr(), client_uuid, context_, |
| 1035 base::Bind(&ServiceWorkerVersion::OnGetClientFinished, |
| 1036 weak_factory_.GetWeakPtr(), request_id)); |
| 1037 } |
| 1038 |
| 1039 void ServiceWorkerVersion::OnGetClientFinished( |
| 1040 int request_id, |
| 1041 const ServiceWorkerClientInfo& client) { |
| 1042 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 1043 TRACE_EVENT_ASYNC_END1("ServiceWorker", "ServiceWorkerVersion::OnGetClient", |
| 1044 request_id, "client_type", client.client_type); |
| 1045 |
| 1046 // When Clients.matchAll() is called on the script evaluation phase, the |
| 1047 // running status can be STARTING here. |
| 1048 if (running_status() != STARTING && running_status() != RUNNING) |
| 1049 return; |
| 1050 |
| 1051 embedded_worker_->SendMessage( |
| 1052 ServiceWorkerMsg_DidGetClient(request_id, client)); |
| 1053 } |
| 1054 |
1028 void ServiceWorkerVersion::OnGetClients( | 1055 void ServiceWorkerVersion::OnGetClients( |
1029 int request_id, | 1056 int request_id, |
1030 const ServiceWorkerClientQueryOptions& options) { | 1057 const ServiceWorkerClientQueryOptions& options) { |
1031 TRACE_EVENT_ASYNC_BEGIN2( | 1058 TRACE_EVENT_ASYNC_BEGIN2( |
1032 "ServiceWorker", "ServiceWorkerVersion::OnGetClients", request_id, | 1059 "ServiceWorker", "ServiceWorkerVersion::OnGetClients", request_id, |
1033 "client_type", options.client_type, "include_uncontrolled", | 1060 "client_type", options.client_type, "include_uncontrolled", |
1034 options.include_uncontrolled); | 1061 options.include_uncontrolled); |
1035 service_worker_client_utils::GetClients( | 1062 service_worker_client_utils::GetClients( |
1036 weak_factory_.GetWeakPtr(), options, | 1063 weak_factory_.GetWeakPtr(), options, |
1037 base::Bind(&ServiceWorkerVersion::OnGetClientsFinished, | 1064 base::Bind(&ServiceWorkerVersion::OnGetClientsFinished, |
(...skipping 893 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1931 void ServiceWorkerVersion::OnBeginEvent() { | 1958 void ServiceWorkerVersion::OnBeginEvent() { |
1932 if (should_exclude_from_uma_ || running_status() != RUNNING || | 1959 if (should_exclude_from_uma_ || running_status() != RUNNING || |
1933 idle_time_.is_null()) { | 1960 idle_time_.is_null()) { |
1934 return; | 1961 return; |
1935 } | 1962 } |
1936 ServiceWorkerMetrics::RecordTimeBetweenEvents(base::TimeTicks::Now() - | 1963 ServiceWorkerMetrics::RecordTimeBetweenEvents(base::TimeTicks::Now() - |
1937 idle_time_); | 1964 idle_time_); |
1938 } | 1965 } |
1939 | 1966 |
1940 } // namespace content | 1967 } // namespace content |
OLD | NEW |