| 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 <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 } | 80 } |
| 81 BrowserThread::PostTask( | 81 BrowserThread::PostTask( |
| 82 BrowserThread::IO, | 82 BrowserThread::IO, |
| 83 FROM_HERE, | 83 FROM_HERE, |
| 84 base::Bind(callback, worker_devtools_agent_route_id, wait_for_debugger)); | 84 base::Bind(callback, worker_devtools_agent_route_id, wait_for_debugger)); |
| 85 } | 85 } |
| 86 | 86 |
| 87 void SetupMojoOnUIThread( | 87 void SetupMojoOnUIThread( |
| 88 int process_id, | 88 int process_id, |
| 89 int thread_id, | 89 int thread_id, |
| 90 mojo::shell::mojom::InterfaceProviderRequest services, | 90 shell::mojom::InterfaceProviderRequest services, |
| 91 mojo::shell::mojom::InterfaceProviderPtrInfo exposed_services) { | 91 shell::mojom::InterfaceProviderPtrInfo exposed_services) { |
| 92 RenderProcessHost* rph = RenderProcessHost::FromID(process_id); | 92 RenderProcessHost* rph = RenderProcessHost::FromID(process_id); |
| 93 // |rph| or its ServiceRegistry may be NULL in unit tests. | 93 // |rph| or its ServiceRegistry may be NULL in unit tests. |
| 94 if (!rph || !rph->GetServiceRegistry()) | 94 if (!rph || !rph->GetServiceRegistry()) |
| 95 return; | 95 return; |
| 96 mojom::EmbeddedWorkerSetupPtr setup; | 96 mojom::EmbeddedWorkerSetupPtr setup; |
| 97 rph->GetServiceRegistry()->ConnectToRemoteService(mojo::GetProxy(&setup)); | 97 rph->GetServiceRegistry()->ConnectToRemoteService(mojo::GetProxy(&setup)); |
| 98 setup->ExchangeInterfaceProviders( | 98 setup->ExchangeInterfaceProviders( |
| 99 thread_id, std::move(services), | 99 thread_id, std::move(services), |
| 100 mojo::MakeProxy(std::move(exposed_services))); | 100 mojo::MakeProxy(std::move(exposed_services))); |
| 101 } | 101 } |
| (...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 588 if (!step_time_.is_null()) { | 588 if (!step_time_.is_null()) { |
| 589 base::TimeDelta duration = UpdateStepTime(); | 589 base::TimeDelta duration = UpdateStepTime(); |
| 590 if (inflight_start_task_->is_installed()) | 590 if (inflight_start_task_->is_installed()) |
| 591 ServiceWorkerMetrics::RecordTimeToStartThread( | 591 ServiceWorkerMetrics::RecordTimeToStartThread( |
| 592 duration, inflight_start_task_->start_situation()); | 592 duration, inflight_start_task_->start_situation()); |
| 593 } | 593 } |
| 594 | 594 |
| 595 thread_id_ = thread_id; | 595 thread_id_ = thread_id; |
| 596 FOR_EACH_OBSERVER(Listener, listener_list_, OnThreadStarted()); | 596 FOR_EACH_OBSERVER(Listener, listener_list_, OnThreadStarted()); |
| 597 | 597 |
| 598 mojo::shell::mojom::InterfaceProviderPtr exposed_services; | 598 shell::mojom::InterfaceProviderPtr exposed_services; |
| 599 service_registry_->Bind(GetProxy(&exposed_services)); | 599 service_registry_->Bind(GetProxy(&exposed_services)); |
| 600 mojo::shell::mojom::InterfaceProviderPtr services; | 600 shell::mojom::InterfaceProviderPtr services; |
| 601 mojo::shell::mojom::InterfaceProviderRequest services_request = | 601 shell::mojom::InterfaceProviderRequest services_request = GetProxy(&services); |
| 602 GetProxy(&services); | |
| 603 BrowserThread::PostTask( | 602 BrowserThread::PostTask( |
| 604 BrowserThread::UI, FROM_HERE, | 603 BrowserThread::UI, FROM_HERE, |
| 605 base::Bind(SetupMojoOnUIThread, process_id(), thread_id_, | 604 base::Bind(SetupMojoOnUIThread, process_id(), thread_id_, |
| 606 base::Passed(&services_request), | 605 base::Passed(&services_request), |
| 607 base::Passed(exposed_services.PassInterface()))); | 606 base::Passed(exposed_services.PassInterface()))); |
| 608 service_registry_->BindRemoteServiceProvider(std::move(services)); | 607 service_registry_->BindRemoteServiceProvider(std::move(services)); |
| 609 } | 608 } |
| 610 | 609 |
| 611 void EmbeddedWorkerInstance::OnScriptLoadFailed() { | 610 void EmbeddedWorkerInstance::OnScriptLoadFailed() { |
| 612 if (!inflight_start_task_) | 611 if (!inflight_start_task_) |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 811 case SCRIPT_READ_FINISHED: | 810 case SCRIPT_READ_FINISHED: |
| 812 return "Script read finished"; | 811 return "Script read finished"; |
| 813 case STARTING_PHASE_MAX_VALUE: | 812 case STARTING_PHASE_MAX_VALUE: |
| 814 NOTREACHED(); | 813 NOTREACHED(); |
| 815 } | 814 } |
| 816 NOTREACHED() << phase; | 815 NOTREACHED() << phase; |
| 817 return std::string(); | 816 return std::string(); |
| 818 } | 817 } |
| 819 | 818 |
| 820 } // namespace content | 819 } // namespace content |
| OLD | NEW |