Index: content/child/service_worker/service_worker_dispatcher.cc |
diff --git a/content/child/service_worker/service_worker_dispatcher.cc b/content/child/service_worker/service_worker_dispatcher.cc |
index 0a45eb405110e08fc192c2965ececc0f9598cc16..832a171977886761d80378646c7a23bcfd959483 100644 |
--- a/content/child/service_worker/service_worker_dispatcher.cc |
+++ b/content/child/service_worker/service_worker_dispatcher.cc |
@@ -4,6 +4,7 @@ |
#include "content/child/service_worker/service_worker_dispatcher.h" |
+#include "base/debug/trace_event.h" |
#include "base/lazy_instance.h" |
#include "base/stl_util.h" |
#include "base/threading/thread_local.h" |
@@ -97,6 +98,11 @@ void ServiceWorkerDispatcher::RegisterServiceWorker( |
} |
int request_id = pending_registration_callbacks_.Add(callbacks); |
+ TRACE_EVENT_ASYNC_BEGIN2("ServiceWorker", |
+ "ServiceWorkerDispatcher::RegisterServiceWorker", |
+ request_id, |
+ "Pettern", pattern.spec(), |
+ "Script URL", script_url.spec()); |
thread_safe_sender_->Send(new ServiceWorkerHostMsg_RegisterServiceWorker( |
CurrentWorkerId(), request_id, provider_id, pattern, script_url)); |
} |
@@ -117,6 +123,10 @@ void ServiceWorkerDispatcher::UnregisterServiceWorker( |
} |
int request_id = pending_unregistration_callbacks_.Add(callbacks); |
+ TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker", |
+ "ServiceWorkerDispatcher::UnregisterServiceWorker", |
+ request_id, |
+ "Pettern", pattern.spec()); |
thread_safe_sender_->Send(new ServiceWorkerHostMsg_UnregisterServiceWorker( |
CurrentWorkerId(), request_id, provider_id, pattern)); |
} |
@@ -244,6 +254,10 @@ void ServiceWorkerDispatcher::OnRegistered( |
int request_id, |
const ServiceWorkerRegistrationObjectInfo& info, |
const ServiceWorkerVersionAttributes& attrs) { |
+ TRACE_EVENT_ASYNC_STEP_INTO0("ServiceWorker", |
+ "ServiceWorkerDispatcher::RegisterServiceWorker", |
+ request_id, |
+ "OnRegistered"); |
WebServiceWorkerRegistrationCallbacks* callbacks = |
pending_registration_callbacks_.Lookup(request_id); |
DCHECK(callbacks); |
@@ -258,6 +272,9 @@ void ServiceWorkerDispatcher::OnRegistered( |
callbacks->onSuccess(registration); |
pending_registration_callbacks_.Remove(request_id); |
+ TRACE_EVENT_ASYNC_END0("ServiceWorker", |
+ "ServiceWorkerDispatcher::RegisterServiceWorker", |
+ request_id); |
} |
void ServiceWorkerDispatcher::OnUnregistered( |
@@ -265,12 +282,20 @@ void ServiceWorkerDispatcher::OnUnregistered( |
int request_id) { |
WebServiceWorkerUnregistrationCallbacks* callbacks = |
pending_unregistration_callbacks_.Lookup(request_id); |
+ TRACE_EVENT_ASYNC_STEP_INTO0( |
+ "ServiceWorker", |
+ "ServiceWorkerDispatcher::UnregisterServiceWorker", |
+ request_id, |
+ "OnUnregistered"); |
DCHECK(callbacks); |
if (!callbacks) |
return; |
bool is_success = true; |
callbacks->onSuccess(&is_success); |
pending_unregistration_callbacks_.Remove(request_id); |
+ TRACE_EVENT_ASYNC_END0("ServiceWorker", |
+ "ServiceWorkerDispatcher::UnregisterServiceWorker", |
+ request_id); |
} |
void ServiceWorkerDispatcher::OnRegistrationError( |
@@ -278,6 +303,10 @@ void ServiceWorkerDispatcher::OnRegistrationError( |
int request_id, |
WebServiceWorkerError::ErrorType error_type, |
const base::string16& message) { |
+ TRACE_EVENT_ASYNC_STEP_INTO0("ServiceWorker", |
+ "ServiceWorkerDispatcher::RegisterServiceWorker", |
+ request_id, |
+ "OnRegistrationError"); |
WebServiceWorkerRegistrationCallbacks* callbacks = |
pending_registration_callbacks_.Lookup(request_id); |
DCHECK(callbacks); |
@@ -288,6 +317,9 @@ void ServiceWorkerDispatcher::OnRegistrationError( |
new WebServiceWorkerError(error_type, message)); |
callbacks->onError(error.release()); |
pending_registration_callbacks_.Remove(request_id); |
+ TRACE_EVENT_ASYNC_END0("ServiceWorker", |
+ "ServiceWorkerDispatcher::RegisterServiceWorker", |
+ request_id); |
} |
void ServiceWorkerDispatcher::OnUnregistrationError( |
@@ -295,6 +327,11 @@ void ServiceWorkerDispatcher::OnUnregistrationError( |
int request_id, |
WebServiceWorkerError::ErrorType error_type, |
const base::string16& message) { |
+ TRACE_EVENT_ASYNC_STEP_INTO0( |
+ "ServiceWorker", |
+ "ServiceWorkerDispatcher::UnregisterServiceWorker", |
+ request_id, |
+ "OnUnregistrationError"); |
WebServiceWorkerUnregistrationCallbacks* callbacks = |
pending_unregistration_callbacks_.Lookup(request_id); |
DCHECK(callbacks); |
@@ -305,12 +342,19 @@ void ServiceWorkerDispatcher::OnUnregistrationError( |
new WebServiceWorkerError(error_type, message)); |
callbacks->onError(error.release()); |
pending_unregistration_callbacks_.Remove(request_id); |
+ TRACE_EVENT_ASYNC_END0("ServiceWorker", |
+ "ServiceWorkerDispatcher::UnregisterServiceWorker", |
+ request_id); |
} |
void ServiceWorkerDispatcher::OnServiceWorkerStateChanged( |
int thread_id, |
int handle_id, |
blink::WebServiceWorkerState state) { |
+ TRACE_EVENT2("ServiceWorker", |
+ "ServiceWorkerDispatcher::OnServiceWorkerStateChanged", |
+ "Thread ID", thread_id, |
+ "State", state); |
WorkerObjectMap::iterator worker = service_workers_.find(handle_id); |
if (worker != service_workers_.end()) |
worker->second->OnStateChanged(state); |
@@ -326,6 +370,9 @@ void ServiceWorkerDispatcher::OnSetVersionAttributes( |
int registration_handle_id, |
int changed_mask, |
const ServiceWorkerVersionAttributes& attributes) { |
+ TRACE_EVENT1("ServiceWorker", |
+ "ServiceWorkerDispatcher::OnSetVersionAttributes", |
+ "Thread ID", thread_id); |
ChangedVersionAttributesMask mask(changed_mask); |
if (mask.installing_changed()) { |
SetInstallingServiceWorker(provider_id, |
@@ -347,6 +394,8 @@ void ServiceWorkerDispatcher::OnSetVersionAttributes( |
void ServiceWorkerDispatcher::OnUpdateFound( |
int thread_id, |
const ServiceWorkerRegistrationObjectInfo& info) { |
+ TRACE_EVENT0("ServiceWorker", |
+ "ServiceWorkerDispatcher::OnUpdateFound"); |
RegistrationObjectMap::iterator found = registrations_.find(info.handle_id); |
if (found != registrations_.end()) |
found->second->OnUpdateFound(); |
@@ -440,6 +489,10 @@ void ServiceWorkerDispatcher::OnSetControllerServiceWorker( |
int thread_id, |
int provider_id, |
const ServiceWorkerObjectInfo& info) { |
+ TRACE_EVENT2("ServiceWorker", |
+ "ServiceWorkerDispatcher::OnSetControllerServiceWorker", |
+ "Thread ID", thread_id, |
+ "Provider ID", provider_id); |
ProviderContextMap::iterator provider = provider_contexts_.find(provider_id); |
if (provider != provider_contexts_.end()) { |
provider->second->OnSetControllerServiceWorker(provider_id, info); |
@@ -462,6 +515,9 @@ void ServiceWorkerDispatcher::OnPostMessage( |
// Make sure we're on the main document thread. (That must be the only |
// thread we get this message) |
DCHECK(ChildThread::current()); |
+ TRACE_EVENT1("ServiceWorker", |
+ "ServiceWorkerDispatcher::OnPostMessage", |
+ "Thread ID", thread_id); |
ScriptClientMap::iterator found = script_clients_.find(provider_id); |
if (found == script_clients_.end()) { |