Index: content/browser/service_worker/service_worker_version.cc |
diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc |
index d1cc1370a7825ea7be3d219d7548d0d469f5cd4e..681e2b64677ace43839630b7caade29c79e97a96 100644 |
--- a/content/browser/service_worker/service_worker_version.cc |
+++ b/content/browser/service_worker/service_worker_version.cc |
@@ -1066,12 +1066,13 @@ void ServiceWorkerVersion::DispatchActivateEventAfterStartWorker( |
void ServiceWorkerVersion::OnGetClients( |
int request_id, |
const ServiceWorkerClientQueryOptions& options) { |
+ TRACE_EVENT_ASYNC_BEGIN2( |
+ "ServiceWorker", "ServiceWorkerVersion::OnGetClients", request_id, |
+ "client_type", options.client_type, "include_uncontrolled", |
+ options.include_uncontrolled); |
+ |
if (controllee_map_.empty() && !options.include_uncontrolled) { |
- if (running_status() == RUNNING) { |
- embedded_worker_->SendMessage( |
- ServiceWorkerMsg_DidGetClients(request_id, |
- std::vector<ServiceWorkerClientInfo>())); |
- } |
+ OnGetClientsFinished(request_id, std::vector<ServiceWorkerClientInfo>()); |
return; |
} |
@@ -1084,6 +1085,18 @@ void ServiceWorkerVersion::OnGetClients( |
ServiceWorkerClients clients; |
GetNonWindowClients(request_id, options, &clients); |
+ OnGetClientsFinished(request_id, clients); |
+} |
+ |
+void ServiceWorkerVersion::OnGetClientsFinished( |
+ int request_id, |
+ const ServiceWorkerClients& clients) { |
+ DCHECK_CURRENTLY_ON(BrowserThread::IO); |
+ TRACE_EVENT_ASYNC_END1("ServiceWorker", "ServiceWorkerVersion::OnGetClients", |
+ request_id, "The number of clients", clients.size()); |
+ |
+ if (running_status() != RUNNING) |
+ return; |
embedded_worker_->SendMessage( |
ServiceWorkerMsg_DidGetClients(request_id, clients)); |
} |
@@ -1422,7 +1435,7 @@ void ServiceWorkerVersion::OnFocusClient(int request_id, |
void ServiceWorkerVersion::OnFocusClientFinished( |
int request_id, |
- const std::string& cliend_uuid, |
+ const std::string& client_uuid, |
const ServiceWorkerClientInfo& client) { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
@@ -1430,7 +1443,7 @@ void ServiceWorkerVersion::OnFocusClientFinished( |
return; |
ServiceWorkerClientInfo client_info(client); |
- client_info.client_uuid = cliend_uuid; |
+ client_info.client_uuid = client_uuid; |
embedded_worker_->SendMessage(ServiceWorkerMsg_FocusClientResponse( |
request_id, client_info)); |
@@ -1530,9 +1543,6 @@ void ServiceWorkerVersion::GetWindowClients( |
const ServiceWorkerClientQueryOptions& options) { |
DCHECK(options.client_type == blink::WebServiceWorkerClientTypeWindow || |
options.client_type == blink::WebServiceWorkerClientTypeAll); |
- TRACE_EVENT0("ServiceWorker", "ServiceWorkerVersion::GetWindowClients"); |
- |
- // 4.3.1 matchAll(options) |
std::vector<Tuple<int, int, std::string>> clients_info; |
if (!options.include_uncontrolled) { |
for (auto& controllee : controllee_map_) |
@@ -1563,14 +1573,9 @@ void ServiceWorkerVersion::DidGetWindowClients( |
const ServiceWorkerClientQueryOptions& options, |
scoped_ptr<ServiceWorkerClients> clients) { |
DCHECK_CURRENTLY_ON(BrowserThread::IO); |
- if (running_status() != RUNNING) |
- return; |
- |
if (options.client_type == blink::WebServiceWorkerClientTypeAll) |
GetNonWindowClients(request_id, options, clients.get()); |
- |
- embedded_worker_->SendMessage( |
- ServiceWorkerMsg_DidGetClients(request_id, *clients)); |
+ OnGetClientsFinished(request_id, *clients); |
} |
void ServiceWorkerVersion::GetNonWindowClients( |