Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(272)

Side by Side Diff: content/renderer/service_worker/embedded_worker_dispatcher.cc

Issue 538913002: ServiceWorker: Insert TRACE_EVENT to watch a breakdown of the ServiceWorker's performance on chome:… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unnecessary include Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/renderer/service_worker/embedded_worker_dispatcher.h" 5 #include "content/renderer/service_worker/embedded_worker_dispatcher.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/strings/string16.h" 8 #include "base/strings/string16.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "content/child/child_process.h" 10 #include "content/child/child_process.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 void EmbeddedWorkerDispatcher::WorkerContextDestroyed( 62 void EmbeddedWorkerDispatcher::WorkerContextDestroyed(
63 int embedded_worker_id) { 63 int embedded_worker_id) {
64 RenderThreadImpl::current()->thread_safe_sender()->Send( 64 RenderThreadImpl::current()->thread_safe_sender()->Send(
65 new EmbeddedWorkerHostMsg_WorkerStopped(embedded_worker_id)); 65 new EmbeddedWorkerHostMsg_WorkerStopped(embedded_worker_id));
66 workers_.Remove(embedded_worker_id); 66 workers_.Remove(embedded_worker_id);
67 } 67 }
68 68
69 void EmbeddedWorkerDispatcher::OnStartWorker( 69 void EmbeddedWorkerDispatcher::OnStartWorker(
70 const EmbeddedWorkerMsg_StartWorker_Params& params) { 70 const EmbeddedWorkerMsg_StartWorker_Params& params) {
71 DCHECK(!workers_.Lookup(params.embedded_worker_id)); 71 DCHECK(!workers_.Lookup(params.embedded_worker_id));
72 TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerDispatcher::OnStartWorker");
72 RenderThread::Get()->EnsureWebKitInitialized(); 73 RenderThread::Get()->EnsureWebKitInitialized();
73 scoped_ptr<WorkerWrapper> wrapper( 74 scoped_ptr<WorkerWrapper> wrapper(
74 new WorkerWrapper(blink::WebEmbeddedWorker::create( 75 new WorkerWrapper(blink::WebEmbeddedWorker::create(
75 new EmbeddedWorkerContextClient( 76 new EmbeddedWorkerContextClient(
76 params.embedded_worker_id, 77 params.embedded_worker_id,
77 params.service_worker_version_id, 78 params.service_worker_version_id,
78 params.scope, 79 params.scope,
79 params.script_url, 80 params.script_url,
80 params.worker_devtools_agent_route_id), 81 params.worker_devtools_agent_route_id),
81 NULL), 82 NULL),
(...skipping 16 matching lines...) Expand all
98 start_data.startMode = 99 start_data.startMode =
99 params.wait_for_debugger ? 100 params.wait_for_debugger ?
100 blink::WebEmbeddedWorkerStartModePauseOnStart : 101 blink::WebEmbeddedWorkerStartModePauseOnStart :
101 blink::WebEmbeddedWorkerStartModeDontPauseOnStart; 102 blink::WebEmbeddedWorkerStartModeDontPauseOnStart;
102 103
103 wrapper->worker()->startWorkerContext(start_data); 104 wrapper->worker()->startWorkerContext(start_data);
104 workers_.AddWithID(wrapper.release(), params.embedded_worker_id); 105 workers_.AddWithID(wrapper.release(), params.embedded_worker_id);
105 } 106 }
106 107
107 void EmbeddedWorkerDispatcher::OnStopWorker(int embedded_worker_id) { 108 void EmbeddedWorkerDispatcher::OnStopWorker(int embedded_worker_id) {
109 TRACE_EVENT0("ServiceWorker", "EmbeddedWorkerDispatcher::OnStopWorker");
108 WorkerWrapper* wrapper = workers_.Lookup(embedded_worker_id); 110 WorkerWrapper* wrapper = workers_.Lookup(embedded_worker_id);
109 if (!wrapper) { 111 if (!wrapper) {
110 LOG(WARNING) << "Got OnStopWorker for nonexistent worker"; 112 LOG(WARNING) << "Got OnStopWorker for nonexistent worker";
111 return; 113 return;
112 } 114 }
113 115
114 // This should eventually call WorkerContextDestroyed. (We may need to post 116 // This should eventually call WorkerContextDestroyed. (We may need to post
115 // a delayed task to forcibly abort the worker context if we find it 117 // a delayed task to forcibly abort the worker context if we find it
116 // necessary) 118 // necessary)
117 wrapper->worker()->terminateWorkerContext(); 119 wrapper->worker()->terminateWorkerContext();
118 } 120 }
119 121
120 void EmbeddedWorkerDispatcher::OnResumeAfterDownload(int embedded_worker_id) { 122 void EmbeddedWorkerDispatcher::OnResumeAfterDownload(int embedded_worker_id) {
123 TRACE_EVENT0("ServiceWorker",
124 "EmbeddedWorkerDispatcher::OnResumeAfterDownload");
121 WorkerWrapper* wrapper = workers_.Lookup(embedded_worker_id); 125 WorkerWrapper* wrapper = workers_.Lookup(embedded_worker_id);
122 if (!wrapper) { 126 if (!wrapper) {
123 LOG(WARNING) << "Got OnResumeAfterDownload for nonexistent worker"; 127 LOG(WARNING) << "Got OnResumeAfterDownload for nonexistent worker";
124 return; 128 return;
125 } 129 }
126 wrapper->worker()->resumeAfterDownload(); 130 wrapper->worker()->resumeAfterDownload();
127 } 131 }
128 132
129 } // namespace content 133 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698