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 |