| 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 |