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

Side by Side Diff: content/browser/service_worker/service_worker_dispatcher_host.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/browser/service_worker/service_worker_dispatcher_host.h" 5 #include "content/browser/service_worker/service_worker_dispatcher_host.h"
6 6
7 #include "base/debug/trace_event.h"
7 #include "base/logging.h" 8 #include "base/logging.h"
8 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
9 #include "content/browser/message_port_message_filter.h" 10 #include "content/browser/message_port_message_filter.h"
10 #include "content/browser/message_port_service.h" 11 #include "content/browser/message_port_service.h"
11 #include "content/browser/service_worker/embedded_worker_registry.h" 12 #include "content/browser/service_worker/embedded_worker_registry.h"
12 #include "content/browser/service_worker/service_worker_context_core.h" 13 #include "content/browser/service_worker/service_worker_context_core.h"
13 #include "content/browser/service_worker/service_worker_context_wrapper.h" 14 #include "content/browser/service_worker/service_worker_context_wrapper.h"
14 #include "content/browser/service_worker/service_worker_handle.h" 15 #include "content/browser/service_worker/service_worker_handle.h"
15 #include "content/browser/service_worker/service_worker_registration.h" 16 #include "content/browser/service_worker/service_worker_registration.h"
16 #include "content/browser/service_worker/service_worker_registration_handle.h" 17 #include "content/browser/service_worker/service_worker_registration_handle.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 base::Bind(&ServiceWorkerDispatcherHost::Init, 83 base::Bind(&ServiceWorkerDispatcherHost::Init,
83 this, make_scoped_refptr(context_wrapper))); 84 this, make_scoped_refptr(context_wrapper)));
84 return; 85 return;
85 } 86 }
86 context_wrapper_ = context_wrapper; 87 context_wrapper_ = context_wrapper;
87 GetContext()->embedded_worker_registry()->AddChildProcessSender( 88 GetContext()->embedded_worker_registry()->AddChildProcessSender(
88 render_process_id_, this); 89 render_process_id_, this);
89 } 90 }
90 91
91 void ServiceWorkerDispatcherHost::OnFilterAdded(IPC::Sender* sender) { 92 void ServiceWorkerDispatcherHost::OnFilterAdded(IPC::Sender* sender) {
93 TRACE_EVENT0("ServiceWorker",
94 "ServiceWorkerDispatcherHost::OnFilterAdded");
92 BrowserMessageFilter::OnFilterAdded(sender); 95 BrowserMessageFilter::OnFilterAdded(sender);
93 channel_ready_ = true; 96 channel_ready_ = true;
94 std::vector<IPC::Message*> messages; 97 std::vector<IPC::Message*> messages;
95 pending_messages_.release(&messages); 98 pending_messages_.release(&messages);
96 for (size_t i = 0; i < messages.size(); ++i) { 99 for (size_t i = 0; i < messages.size(); ++i) {
97 BrowserMessageFilter::Send(messages[i]); 100 BrowserMessageFilter::Send(messages[i]);
98 } 101 }
99 } 102 }
100 103
101 void ServiceWorkerDispatcherHost::OnDestruct() const { 104 void ServiceWorkerDispatcherHost::OnDestruct() const {
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 int handle_id = handle->handle_id(); 180 int handle_id = handle->handle_id();
178 registration_handles_.AddWithID(handle.release(), handle_id); 181 registration_handles_.AddWithID(handle.release(), handle_id);
179 } 182 }
180 183
181 void ServiceWorkerDispatcherHost::OnRegisterServiceWorker( 184 void ServiceWorkerDispatcherHost::OnRegisterServiceWorker(
182 int thread_id, 185 int thread_id,
183 int request_id, 186 int request_id,
184 int provider_id, 187 int provider_id,
185 const GURL& pattern, 188 const GURL& pattern,
186 const GURL& script_url) { 189 const GURL& script_url) {
190 TRACE_EVENT0("ServiceWorker",
191 "ServiceWorkerDispatcherHost::OnRegisterServiceWorker");
187 if (!GetContext()) { 192 if (!GetContext()) {
188 Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError( 193 Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError(
189 thread_id, 194 thread_id,
190 request_id, 195 request_id,
191 WebServiceWorkerError::ErrorTypeAbort, 196 WebServiceWorkerError::ErrorTypeAbort,
192 base::ASCIIToUTF16(kShutdownErrorMessage))); 197 base::ASCIIToUTF16(kShutdownErrorMessage)));
193 return; 198 return;
194 } 199 }
195 200
196 ServiceWorkerProviderHost* provider_host = GetContext()->GetProviderHost( 201 ServiceWorkerProviderHost* provider_host = GetContext()->GetProviderHost(
197 render_process_id_, provider_id); 202 render_process_id_, provider_id);
198 if (!provider_host) { 203 if (!provider_host) {
199 BadMessageReceived(); 204 BadMessageReceived();
200 return; 205 return;
201 } 206 }
202 if (!provider_host->IsContextAlive()) { 207 if (!provider_host->IsContextAlive()) {
203 Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError( 208 Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError(
204 thread_id, 209 thread_id,
205 request_id, 210 request_id,
206 WebServiceWorkerError::ErrorTypeAbort, 211 WebServiceWorkerError::ErrorTypeAbort,
207 base::ASCIIToUTF16(kShutdownErrorMessage))); 212 base::ASCIIToUTF16(kShutdownErrorMessage)));
208 return; 213 return;
209 } 214 }
210 215
211 if (!CanRegisterServiceWorker( 216 if (!CanRegisterServiceWorker(
212 provider_host->document_url(), pattern, script_url)) { 217 provider_host->document_url(), pattern, script_url)) {
213 BadMessageReceived(); 218 BadMessageReceived();
214 return; 219 return;
215 } 220 }
221 TRACE_EVENT_ASYNC_BEGIN2("ServiceWorker",
222 "ServiceWorkerDispatcherHost::RegisterServiceWorker",
223 request_id,
224 "Pattern", pattern.spec(),
225 "Script URL", script_url.spec());
216 GetContext()->RegisterServiceWorker( 226 GetContext()->RegisterServiceWorker(
217 pattern, 227 pattern,
218 script_url, 228 script_url,
219 render_process_id_, 229 render_process_id_,
220 provider_host, 230 provider_host,
221 base::Bind(&ServiceWorkerDispatcherHost::RegistrationComplete, 231 base::Bind(&ServiceWorkerDispatcherHost::RegistrationComplete,
222 this, 232 this,
223 thread_id, 233 thread_id,
224 provider_id, 234 provider_id,
225 request_id)); 235 request_id));
226 } 236 }
227 237
228 void ServiceWorkerDispatcherHost::OnUnregisterServiceWorker( 238 void ServiceWorkerDispatcherHost::OnUnregisterServiceWorker(
229 int thread_id, 239 int thread_id,
230 int request_id, 240 int request_id,
231 int provider_id, 241 int provider_id,
232 const GURL& pattern) { 242 const GURL& pattern) {
243 TRACE_EVENT0("ServiceWorker",
244 "ServiceWorkerDispatcherHost::OnUnregisterServiceWorker");
233 if (!GetContext()) { 245 if (!GetContext()) {
234 Send(new ServiceWorkerMsg_ServiceWorkerUnregistrationError( 246 Send(new ServiceWorkerMsg_ServiceWorkerUnregistrationError(
235 thread_id, 247 thread_id,
236 request_id, 248 request_id,
237 blink::WebServiceWorkerError::ErrorTypeAbort, 249 blink::WebServiceWorkerError::ErrorTypeAbort,
238 base::ASCIIToUTF16(kShutdownErrorMessage))); 250 base::ASCIIToUTF16(kShutdownErrorMessage)));
239 return; 251 return;
240 } 252 }
241 253
242 ServiceWorkerProviderHost* provider_host = GetContext()->GetProviderHost( 254 ServiceWorkerProviderHost* provider_host = GetContext()->GetProviderHost(
243 render_process_id_, provider_id); 255 render_process_id_, provider_id);
244 if (!provider_host) { 256 if (!provider_host) {
245 BadMessageReceived(); 257 BadMessageReceived();
246 return; 258 return;
247 } 259 }
248 if (!provider_host->IsContextAlive()) { 260 if (!provider_host->IsContextAlive()) {
249 Send(new ServiceWorkerMsg_ServiceWorkerUnregistrationError( 261 Send(new ServiceWorkerMsg_ServiceWorkerUnregistrationError(
250 thread_id, 262 thread_id,
251 request_id, 263 request_id,
252 blink::WebServiceWorkerError::ErrorTypeAbort, 264 blink::WebServiceWorkerError::ErrorTypeAbort,
253 base::ASCIIToUTF16(kShutdownErrorMessage))); 265 base::ASCIIToUTF16(kShutdownErrorMessage)));
254 return; 266 return;
255 } 267 }
256 268
257 if (!CanUnregisterServiceWorker(provider_host->document_url(), pattern)) { 269 if (!CanUnregisterServiceWorker(provider_host->document_url(), pattern)) {
258 BadMessageReceived(); 270 BadMessageReceived();
259 return; 271 return;
260 } 272 }
261 273
274 TRACE_EVENT_ASYNC_BEGIN1(
275 "ServiceWorker",
276 "ServiceWorkerDispatcherHost::UnregisterServiceWorker",
277 request_id,
278 "Pattern", pattern.spec());
262 GetContext()->UnregisterServiceWorker( 279 GetContext()->UnregisterServiceWorker(
263 pattern, 280 pattern,
264 base::Bind(&ServiceWorkerDispatcherHost::UnregistrationComplete, 281 base::Bind(&ServiceWorkerDispatcherHost::UnregistrationComplete,
265 this, 282 this,
266 thread_id, 283 thread_id,
267 request_id)); 284 request_id));
268 } 285 }
269 286
270 void ServiceWorkerDispatcherHost::OnPostMessageToWorker( 287 void ServiceWorkerDispatcherHost::OnPostMessageToWorker(
271 int handle_id, 288 int handle_id,
272 const base::string16& message, 289 const base::string16& message,
273 const std::vector<int>& sent_message_port_ids) { 290 const std::vector<int>& sent_message_port_ids) {
291 TRACE_EVENT0("ServiceWorker",
292 "ServiceWorkerDispatcherHost::OnPostMessageToWorker");
274 if (!GetContext()) 293 if (!GetContext())
275 return; 294 return;
276 295
277 ServiceWorkerHandle* handle = handles_.Lookup(handle_id); 296 ServiceWorkerHandle* handle = handles_.Lookup(handle_id);
278 if (!handle) { 297 if (!handle) {
279 BadMessageReceived(); 298 BadMessageReceived();
280 return; 299 return;
281 } 300 }
282 301
283 std::vector<int> new_routing_ids; 302 std::vector<int> new_routing_ids;
284 message_port_message_filter_->UpdateMessagePortsWithNewRoutes( 303 message_port_message_filter_->UpdateMessagePortsWithNewRoutes(
285 sent_message_port_ids, &new_routing_ids); 304 sent_message_port_ids, &new_routing_ids);
286 handle->version()->SendMessage( 305 handle->version()->SendMessage(
287 ServiceWorkerMsg_MessageToWorker(message, 306 ServiceWorkerMsg_MessageToWorker(message,
288 sent_message_port_ids, 307 sent_message_port_ids,
289 new_routing_ids), 308 new_routing_ids),
290 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); 309 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback));
291 } 310 }
292 311
293 void ServiceWorkerDispatcherHost::OnProviderCreated(int provider_id) { 312 void ServiceWorkerDispatcherHost::OnProviderCreated(int provider_id) {
313 TRACE_EVENT0("ServiceWorker",
314 "ServiceWorkerDispatcherHost::OnProviderCreated");
294 if (!GetContext()) 315 if (!GetContext())
295 return; 316 return;
296 if (GetContext()->GetProviderHost(render_process_id_, provider_id)) { 317 if (GetContext()->GetProviderHost(render_process_id_, provider_id)) {
297 BadMessageReceived(); 318 BadMessageReceived();
298 return; 319 return;
299 } 320 }
300 scoped_ptr<ServiceWorkerProviderHost> provider_host( 321 scoped_ptr<ServiceWorkerProviderHost> provider_host(
301 new ServiceWorkerProviderHost( 322 new ServiceWorkerProviderHost(
302 render_process_id_, provider_id, GetContext()->AsWeakPtr(), this)); 323 render_process_id_, provider_id, GetContext()->AsWeakPtr(), this));
303 GetContext()->AddProviderHost(provider_host.Pass()); 324 GetContext()->AddProviderHost(provider_host.Pass());
304 } 325 }
305 326
306 void ServiceWorkerDispatcherHost::OnProviderDestroyed(int provider_id) { 327 void ServiceWorkerDispatcherHost::OnProviderDestroyed(int provider_id) {
328 TRACE_EVENT0("ServiceWorker",
329 "ServiceWorkerDispatcherHost::OnProviderDestroyed");
307 if (!GetContext()) 330 if (!GetContext())
308 return; 331 return;
309 if (!GetContext()->GetProviderHost(render_process_id_, provider_id)) { 332 if (!GetContext()->GetProviderHost(render_process_id_, provider_id)) {
310 BadMessageReceived(); 333 BadMessageReceived();
311 return; 334 return;
312 } 335 }
313 GetContext()->RemoveProviderHost(render_process_id_, provider_id); 336 GetContext()->RemoveProviderHost(render_process_id_, provider_id);
314 } 337 }
315 338
316 void ServiceWorkerDispatcherHost::OnSetHostedVersionId( 339 void ServiceWorkerDispatcherHost::OnSetHostedVersionId(
317 int provider_id, int64 version_id) { 340 int provider_id, int64 version_id) {
341 TRACE_EVENT0("ServiceWorker",
342 "ServiceWorkerDispatcherHost::OnSetHostedVersionId");
318 if (!GetContext()) 343 if (!GetContext())
319 return; 344 return;
320 ServiceWorkerProviderHost* provider_host = 345 ServiceWorkerProviderHost* provider_host =
321 GetContext()->GetProviderHost(render_process_id_, provider_id); 346 GetContext()->GetProviderHost(render_process_id_, provider_id);
322 if (!provider_host) { 347 if (!provider_host) {
323 BadMessageReceived(); 348 BadMessageReceived();
324 return; 349 return;
325 } 350 }
326 if (!provider_host->IsContextAlive()) 351 if (!provider_host->IsContextAlive())
327 return; 352 return;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 ServiceWorkerVersionAttributes attrs; 408 ServiceWorkerVersionAttributes attrs;
384 attrs.installing = handle->CreateServiceWorkerHandleAndPass( 409 attrs.installing = handle->CreateServiceWorkerHandleAndPass(
385 registration->installing_version()); 410 registration->installing_version());
386 attrs.waiting = handle->CreateServiceWorkerHandleAndPass( 411 attrs.waiting = handle->CreateServiceWorkerHandleAndPass(
387 registration->waiting_version()); 412 registration->waiting_version());
388 attrs.active = handle->CreateServiceWorkerHandleAndPass( 413 attrs.active = handle->CreateServiceWorkerHandleAndPass(
389 registration->active_version()); 414 registration->active_version());
390 415
391 Send(new ServiceWorkerMsg_ServiceWorkerRegistered( 416 Send(new ServiceWorkerMsg_ServiceWorkerRegistered(
392 thread_id, request_id, info, attrs)); 417 thread_id, request_id, info, attrs));
418 TRACE_EVENT_ASYNC_END2("ServiceWorker",
419 "ServiceWorkerDispatcherHost::RegisterServiceWorker",
420 request_id,
421 "Registration ID", registration_id,
422 "Version ID", version_id);
393 } 423 }
394 424
395 void ServiceWorkerDispatcherHost::OnWorkerReadyForInspection( 425 void ServiceWorkerDispatcherHost::OnWorkerReadyForInspection(
396 int embedded_worker_id) { 426 int embedded_worker_id) {
427 TRACE_EVENT0("ServiceWorker",
428 "ServiceWorkerDispatcherHost::OnWorkerReadyForInspection");
397 if (!GetContext()) 429 if (!GetContext())
398 return; 430 return;
399 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); 431 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry();
400 if (!registry->CanHandle(embedded_worker_id)) 432 if (!registry->CanHandle(embedded_worker_id))
401 return; 433 return;
402 registry->OnWorkerReadyForInspection(render_process_id_, embedded_worker_id); 434 registry->OnWorkerReadyForInspection(render_process_id_, embedded_worker_id);
403 } 435 }
404 436
405 void ServiceWorkerDispatcherHost::OnWorkerScriptLoaded( 437 void ServiceWorkerDispatcherHost::OnWorkerScriptLoaded(
406 int embedded_worker_id, 438 int embedded_worker_id,
407 int thread_id) { 439 int thread_id) {
440 TRACE_EVENT0("ServiceWorker",
441 "ServiceWorkerDispatcherHost::OnWorkerScriptLoaded");
408 if (!GetContext()) 442 if (!GetContext())
409 return; 443 return;
410 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); 444 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry();
411 if (!registry->CanHandle(embedded_worker_id)) 445 if (!registry->CanHandle(embedded_worker_id))
412 return; 446 return;
413 registry->OnWorkerScriptLoaded( 447 registry->OnWorkerScriptLoaded(
414 render_process_id_, thread_id, embedded_worker_id); 448 render_process_id_, thread_id, embedded_worker_id);
415 } 449 }
416 450
417 void ServiceWorkerDispatcherHost::OnWorkerScriptLoadFailed( 451 void ServiceWorkerDispatcherHost::OnWorkerScriptLoadFailed(
418 int embedded_worker_id) { 452 int embedded_worker_id) {
453 TRACE_EVENT0("ServiceWorker",
454 "ServiceWorkerDispatcherHost::OnWorkerScriptLoadFailed");
419 if (!GetContext()) 455 if (!GetContext())
420 return; 456 return;
421 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); 457 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry();
422 if (!registry->CanHandle(embedded_worker_id)) 458 if (!registry->CanHandle(embedded_worker_id))
423 return; 459 return;
424 registry->OnWorkerScriptLoadFailed(render_process_id_, embedded_worker_id); 460 registry->OnWorkerScriptLoadFailed(render_process_id_, embedded_worker_id);
425 } 461 }
426 462
427 void ServiceWorkerDispatcherHost::OnWorkerStarted(int embedded_worker_id) { 463 void ServiceWorkerDispatcherHost::OnWorkerStarted(int embedded_worker_id) {
464 TRACE_EVENT0("ServiceWorker",
465 "ServiceWorkerDispatcherHost::OnWorkerStarted");
428 if (!GetContext()) 466 if (!GetContext())
429 return; 467 return;
430 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); 468 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry();
431 if (!registry->CanHandle(embedded_worker_id)) 469 if (!registry->CanHandle(embedded_worker_id))
432 return; 470 return;
433 registry->OnWorkerStarted(render_process_id_, embedded_worker_id); 471 registry->OnWorkerStarted(render_process_id_, embedded_worker_id);
434 } 472 }
435 473
436 void ServiceWorkerDispatcherHost::OnWorkerStopped(int embedded_worker_id) { 474 void ServiceWorkerDispatcherHost::OnWorkerStopped(int embedded_worker_id) {
475 TRACE_EVENT0("ServiceWorker",
476 "ServiceWorkerDispatcherHost::OnWorkerStopped");
437 if (!GetContext()) 477 if (!GetContext())
438 return; 478 return;
439 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); 479 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry();
440 if (!registry->CanHandle(embedded_worker_id)) 480 if (!registry->CanHandle(embedded_worker_id))
441 return; 481 return;
442 registry->OnWorkerStopped(render_process_id_, embedded_worker_id); 482 registry->OnWorkerStopped(render_process_id_, embedded_worker_id);
443 } 483 }
444 484
445 void ServiceWorkerDispatcherHost::OnPausedAfterDownload( 485 void ServiceWorkerDispatcherHost::OnPausedAfterDownload(
446 int embedded_worker_id) { 486 int embedded_worker_id) {
487 TRACE_EVENT0("ServiceWorker",
488 "ServiceWorkerDispatcherHost::OnPausedAfterDownload");
447 if (!GetContext()) 489 if (!GetContext())
448 return; 490 return;
449 GetContext()->embedded_worker_registry()->OnPausedAfterDownload( 491 GetContext()->embedded_worker_registry()->OnPausedAfterDownload(
450 render_process_id_, embedded_worker_id); 492 render_process_id_, embedded_worker_id);
451 } 493 }
452 494
453 void ServiceWorkerDispatcherHost::OnReportException( 495 void ServiceWorkerDispatcherHost::OnReportException(
454 int embedded_worker_id, 496 int embedded_worker_id,
455 const base::string16& error_message, 497 const base::string16& error_message,
456 int line_number, 498 int line_number,
457 int column_number, 499 int column_number,
458 const GURL& source_url) { 500 const GURL& source_url) {
501 TRACE_EVENT0("ServiceWorker",
502 "ServiceWorkerDispatcherHost::OnReportException");
459 if (!GetContext()) 503 if (!GetContext())
460 return; 504 return;
461 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); 505 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry();
462 if (!registry->CanHandle(embedded_worker_id)) 506 if (!registry->CanHandle(embedded_worker_id))
463 return; 507 return;
464 registry->OnReportException(embedded_worker_id, 508 registry->OnReportException(embedded_worker_id,
465 error_message, 509 error_message,
466 line_number, 510 line_number,
467 column_number, 511 column_number,
468 source_url); 512 source_url);
469 } 513 }
470 514
471 void ServiceWorkerDispatcherHost::OnReportConsoleMessage( 515 void ServiceWorkerDispatcherHost::OnReportConsoleMessage(
472 int embedded_worker_id, 516 int embedded_worker_id,
473 const EmbeddedWorkerHostMsg_ReportConsoleMessage_Params& params) { 517 const EmbeddedWorkerHostMsg_ReportConsoleMessage_Params& params) {
518 TRACE_EVENT0("ServiceWorker",
519 "ServiceWorkerDispatcherHost::OnReportConsoleMessage");
474 if (!GetContext()) 520 if (!GetContext())
475 return; 521 return;
476 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry(); 522 EmbeddedWorkerRegistry* registry = GetContext()->embedded_worker_registry();
477 if (!registry->CanHandle(embedded_worker_id)) 523 if (!registry->CanHandle(embedded_worker_id))
478 return; 524 return;
479 registry->OnReportConsoleMessage(embedded_worker_id, 525 registry->OnReportConsoleMessage(embedded_worker_id,
480 params.source_identifier, 526 params.source_identifier,
481 params.message_level, 527 params.message_level,
482 params.message, 528 params.message,
483 params.line_number, 529 params.line_number,
484 params.source_url); 530 params.source_url);
485 } 531 }
486 532
487 void ServiceWorkerDispatcherHost::OnIncrementServiceWorkerRefCount( 533 void ServiceWorkerDispatcherHost::OnIncrementServiceWorkerRefCount(
488 int handle_id) { 534 int handle_id) {
535 TRACE_EVENT0("ServiceWorker",
536 "ServiceWorkerDispatcherHost::OnIncrementServiceWorkerRefCount");
489 ServiceWorkerHandle* handle = handles_.Lookup(handle_id); 537 ServiceWorkerHandle* handle = handles_.Lookup(handle_id);
490 if (!handle) { 538 if (!handle) {
491 BadMessageReceived(); 539 BadMessageReceived();
492 return; 540 return;
493 } 541 }
494 handle->IncrementRefCount(); 542 handle->IncrementRefCount();
495 } 543 }
496 544
497 void ServiceWorkerDispatcherHost::OnDecrementServiceWorkerRefCount( 545 void ServiceWorkerDispatcherHost::OnDecrementServiceWorkerRefCount(
498 int handle_id) { 546 int handle_id) {
547 TRACE_EVENT0("ServiceWorker",
548 "ServiceWorkerDispatcherHost::OnDecrementServiceWorkerRefCount");
499 ServiceWorkerHandle* handle = handles_.Lookup(handle_id); 549 ServiceWorkerHandle* handle = handles_.Lookup(handle_id);
500 if (!handle) { 550 if (!handle) {
501 BadMessageReceived(); 551 BadMessageReceived();
502 return; 552 return;
503 } 553 }
504 handle->DecrementRefCount(); 554 handle->DecrementRefCount();
505 if (handle->HasNoRefCount()) 555 if (handle->HasNoRefCount())
506 handles_.Remove(handle_id); 556 handles_.Remove(handle_id);
507 } 557 }
508 558
509 void ServiceWorkerDispatcherHost::OnIncrementRegistrationRefCount( 559 void ServiceWorkerDispatcherHost::OnIncrementRegistrationRefCount(
510 int registration_handle_id) { 560 int registration_handle_id) {
561 TRACE_EVENT0("ServiceWorker",
562 "ServiceWorkerDispatcherHost::OnIncrementRegistrationRefCount");
511 ServiceWorkerRegistrationHandle* handle = 563 ServiceWorkerRegistrationHandle* handle =
512 registration_handles_.Lookup(registration_handle_id); 564 registration_handles_.Lookup(registration_handle_id);
513 if (!handle) { 565 if (!handle) {
514 BadMessageReceived(); 566 BadMessageReceived();
515 return; 567 return;
516 } 568 }
517 handle->IncrementRefCount(); 569 handle->IncrementRefCount();
518 } 570 }
519 571
520 void ServiceWorkerDispatcherHost::OnDecrementRegistrationRefCount( 572 void ServiceWorkerDispatcherHost::OnDecrementRegistrationRefCount(
521 int registration_handle_id) { 573 int registration_handle_id) {
574 TRACE_EVENT0("ServiceWorker",
575 "ServiceWorkerDispatcherHost::OnDecrementRegistrationRefCount");
522 ServiceWorkerRegistrationHandle* handle = 576 ServiceWorkerRegistrationHandle* handle =
523 registration_handles_.Lookup(registration_handle_id); 577 registration_handles_.Lookup(registration_handle_id);
524 if (!handle) { 578 if (!handle) {
525 BadMessageReceived(); 579 BadMessageReceived();
526 return; 580 return;
527 } 581 }
528 handle->DecrementRefCount(); 582 handle->DecrementRefCount();
529 if (handle->HasNoRefCount()) 583 if (handle->HasNoRefCount())
530 registration_handles_.Remove(registration_handle_id); 584 registration_handles_.Remove(registration_handle_id);
531 } 585 }
532 586
533 void ServiceWorkerDispatcherHost::UnregistrationComplete( 587 void ServiceWorkerDispatcherHost::UnregistrationComplete(
534 int thread_id, 588 int thread_id,
535 int request_id, 589 int request_id,
536 ServiceWorkerStatusCode status) { 590 ServiceWorkerStatusCode status) {
537 if (status != SERVICE_WORKER_OK) { 591 if (status != SERVICE_WORKER_OK) {
538 SendUnregistrationError(thread_id, request_id, status); 592 SendUnregistrationError(thread_id, request_id, status);
539 return; 593 return;
540 } 594 }
541 595
542 Send(new ServiceWorkerMsg_ServiceWorkerUnregistered(thread_id, request_id)); 596 Send(new ServiceWorkerMsg_ServiceWorkerUnregistered(thread_id, request_id));
597 TRACE_EVENT_ASYNC_END1(
598 "ServiceWorker",
599 "ServiceWorkerDispatcherHost::UnregisterServiceWorker",
600 request_id,
601 "Status", status);
543 } 602 }
544 603
545 void ServiceWorkerDispatcherHost::SendRegistrationError( 604 void ServiceWorkerDispatcherHost::SendRegistrationError(
546 int thread_id, 605 int thread_id,
547 int request_id, 606 int request_id,
548 ServiceWorkerStatusCode status) { 607 ServiceWorkerStatusCode status) {
549 base::string16 error_message; 608 base::string16 error_message;
550 blink::WebServiceWorkerError::ErrorType error_type; 609 blink::WebServiceWorkerError::ErrorType error_type;
551 GetServiceWorkerRegistrationStatusResponse( 610 GetServiceWorkerRegistrationStatusResponse(
552 status, &error_type, &error_message); 611 status, &error_type, &error_message);
(...skipping 11 matching lines...) Expand all
564 status, &error_type, &error_message); 623 status, &error_type, &error_message);
565 Send(new ServiceWorkerMsg_ServiceWorkerUnregistrationError( 624 Send(new ServiceWorkerMsg_ServiceWorkerUnregistrationError(
566 thread_id, request_id, error_type, error_message)); 625 thread_id, request_id, error_type, error_message));
567 } 626 }
568 627
569 ServiceWorkerContextCore* ServiceWorkerDispatcherHost::GetContext() { 628 ServiceWorkerContextCore* ServiceWorkerDispatcherHost::GetContext() {
570 return context_wrapper_->context(); 629 return context_wrapper_->context();
571 } 630 }
572 631
573 } // namespace content 632 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698