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/embedded_worker_instance.h" | 5 #include "content/browser/service_worker/embedded_worker_instance.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
359 } | 359 } |
360 DCHECK(start_callback_.is_null()); | 360 DCHECK(start_callback_.is_null()); |
361 start_callback_ = callback; | 361 start_callback_ = callback; |
362 } | 362 } |
363 | 363 |
364 void EmbeddedWorkerInstance::OnReadyForInspection() { | 364 void EmbeddedWorkerInstance::OnReadyForInspection() { |
365 if (devtools_proxy_) | 365 if (devtools_proxy_) |
366 devtools_proxy_->NotifyWorkerReadyForInspection(); | 366 devtools_proxy_->NotifyWorkerReadyForInspection(); |
367 } | 367 } |
368 | 368 |
369 void EmbeddedWorkerInstance::OnScriptLoaded(int thread_id) { | 369 void EmbeddedWorkerInstance::OnScriptLoaded() { |
370 starting_phase_ = SCRIPT_LOADED; | 370 starting_phase_ = SCRIPT_LOADED; |
| 371 } |
| 372 |
| 373 void EmbeddedWorkerInstance::OnThreadStarted(int thread_id) { |
| 374 starting_phase_ = THREAD_STARTED; |
371 if (!start_timing_.is_null()) { | 375 if (!start_timing_.is_null()) { |
372 if (network_accessed_for_script_) { | 376 if (network_accessed_for_script_) { |
373 UMA_HISTOGRAM_TIMES("EmbeddedWorkerInstance.ScriptLoadWithNetworkAccess", | 377 UMA_HISTOGRAM_TIMES("EmbeddedWorkerInstance.ScriptLoadWithNetworkAccess", |
374 base::TimeTicks::Now() - start_timing_); | 378 base::TimeTicks::Now() - start_timing_); |
375 } else { | 379 } else { |
376 UMA_HISTOGRAM_TIMES( | 380 UMA_HISTOGRAM_TIMES( |
377 "EmbeddedWorkerInstance.ScriptLoadWithoutNetworkAccess", | 381 "EmbeddedWorkerInstance.ScriptLoadWithoutNetworkAccess", |
378 base::TimeTicks::Now() - start_timing_); | 382 base::TimeTicks::Now() - start_timing_); |
379 } | 383 } |
380 // Reset |start_timing_| to measure the time excluding the process | 384 // Reset |start_timing_| to measure the time excluding the process |
381 // allocation time and the script loading time. | 385 // allocation time and the script loading time. |
382 start_timing_ = base::TimeTicks::Now(); | 386 start_timing_ = base::TimeTicks::Now(); |
383 } | 387 } |
384 thread_id_ = thread_id; | 388 thread_id_ = thread_id; |
385 FOR_EACH_OBSERVER(Listener, listener_list_, OnScriptLoaded()); | 389 FOR_EACH_OBSERVER(Listener, listener_list_, OnThreadStarted()); |
386 | 390 |
387 mojo::ServiceProviderPtr exposed_services; | 391 mojo::ServiceProviderPtr exposed_services; |
388 service_registry_->Bind(GetProxy(&exposed_services)); | 392 service_registry_->Bind(GetProxy(&exposed_services)); |
389 mojo::ServiceProviderPtr services; | 393 mojo::ServiceProviderPtr services; |
390 mojo::InterfaceRequest<mojo::ServiceProvider> services_request = | 394 mojo::InterfaceRequest<mojo::ServiceProvider> services_request = |
391 GetProxy(&services); | 395 GetProxy(&services); |
392 BrowserThread::PostTask( | 396 BrowserThread::PostTask( |
393 BrowserThread::UI, FROM_HERE, | 397 BrowserThread::UI, FROM_HERE, |
394 base::Bind(SetupMojoOnUIThread, process_id_, thread_id_, | 398 base::Bind(SetupMojoOnUIThread, process_id_, thread_id_, |
395 base::Passed(&services_request), | 399 base::Passed(&services_request), |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
530 case REGISTERING_TO_DEVTOOLS: | 534 case REGISTERING_TO_DEVTOOLS: |
531 return "Registering to DevTools"; | 535 return "Registering to DevTools"; |
532 case SENT_START_WORKER: | 536 case SENT_START_WORKER: |
533 return "Sent StartWorker message to renderer"; | 537 return "Sent StartWorker message to renderer"; |
534 case SCRIPT_DOWNLOADING: | 538 case SCRIPT_DOWNLOADING: |
535 return "Script downloading"; | 539 return "Script downloading"; |
536 case SCRIPT_LOADED: | 540 case SCRIPT_LOADED: |
537 return "Script loaded"; | 541 return "Script loaded"; |
538 case SCRIPT_EVALUATED: | 542 case SCRIPT_EVALUATED: |
539 return "Script evaluated"; | 543 return "Script evaluated"; |
| 544 case THREAD_STARTED: |
| 545 return "Thread started"; |
540 case STARTING_PHASE_MAX_VALUE: | 546 case STARTING_PHASE_MAX_VALUE: |
541 NOTREACHED(); | 547 NOTREACHED(); |
542 } | 548 } |
543 NOTREACHED() << phase; | 549 NOTREACHED() << phase; |
544 return std::string(); | 550 return std::string(); |
545 } | 551 } |
546 | 552 |
547 } // namespace content | 553 } // namespace content |
OLD | NEW |