| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_test_helper.h" | 5 #include "content/browser/service_worker/embedded_worker_test_helper.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient:: | 108 void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient:: |
| 109 AddMessageToConsole(blink::WebConsoleMessage::Level level, | 109 AddMessageToConsole(blink::WebConsoleMessage::Level level, |
| 110 const std::string& message) { | 110 const std::string& message) { |
| 111 // TODO(shimazu): Pass these arguments to the test helper when a test is | 111 // TODO(shimazu): Pass these arguments to the test helper when a test is |
| 112 // necessary to check them individually. | 112 // necessary to check them individually. |
| 113 } | 113 } |
| 114 | 114 |
| 115 // static | 115 // static |
| 116 void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::Bind( | 116 void EmbeddedWorkerTestHelper::MockEmbeddedWorkerInstanceClient::Bind( |
| 117 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, | 117 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, |
| 118 mojom::EmbeddedWorkerInstanceClientRequest request) { | 118 mojo::ScopedMessagePipeHandle request_handle) { |
| 119 mojom::EmbeddedWorkerInstanceClientRequest request = |
| 120 mojo::MakeRequest<mojom::EmbeddedWorkerInstanceClient>( |
| 121 std::move(request_handle)); |
| 119 std::vector<std::unique_ptr<MockEmbeddedWorkerInstanceClient>>* clients = | 122 std::vector<std::unique_ptr<MockEmbeddedWorkerInstanceClient>>* clients = |
| 120 helper->mock_instance_clients(); | 123 helper->mock_instance_clients(); |
| 121 size_t next_client_index = helper->mock_instance_clients_next_index_; | 124 size_t next_client_index = helper->mock_instance_clients_next_index_; |
| 122 | 125 |
| 123 ASSERT_GE(clients->size(), next_client_index); | 126 ASSERT_GE(clients->size(), next_client_index); |
| 124 if (clients->size() == next_client_index) { | 127 if (clients->size() == next_client_index) { |
| 125 clients->push_back( | 128 clients->push_back( |
| 126 base::MakeUnique<MockEmbeddedWorkerInstanceClient>(helper)); | 129 base::MakeUnique<MockEmbeddedWorkerInstanceClient>(helper)); |
| 127 } | 130 } |
| 128 | 131 |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 wrapper_->process_manager()->SetNewProcessIdForTest(new_render_process_id()); | 286 wrapper_->process_manager()->SetNewProcessIdForTest(new_render_process_id()); |
| 284 | 287 |
| 285 scoped_refptr<ServiceWorkerDispatcherHost> dispatcher_host( | 288 scoped_refptr<ServiceWorkerDispatcherHost> dispatcher_host( |
| 286 new MockServiceWorkerDispatcherHost( | 289 new MockServiceWorkerDispatcherHost( |
| 287 mock_render_process_id_, browser_context_->GetResourceContext(), | 290 mock_render_process_id_, browser_context_->GetResourceContext(), |
| 288 this)); | 291 this)); |
| 289 wrapper_->context()->AddDispatcherHost(mock_render_process_id_, | 292 wrapper_->context()->AddDispatcherHost(mock_render_process_id_, |
| 290 dispatcher_host.get()); | 293 dispatcher_host.get()); |
| 291 dispatcher_hosts_[mock_render_process_id_] = std::move(dispatcher_host); | 294 dispatcher_hosts_[mock_render_process_id_] = std::move(dispatcher_host); |
| 292 | 295 |
| 293 // Setup process level interface registry. | 296 render_process_host_->OverrideBinderForTesting( |
| 294 render_process_interface_registry_ = | 297 mojom::EmbeddedWorkerInstanceClient::Name_, |
| 295 CreateInterfaceRegistry(render_process_host_.get()); | 298 base::Bind(&MockEmbeddedWorkerInstanceClient::Bind, AsWeakPtr())); |
| 296 new_render_process_interface_registry_ = | 299 new_render_process_host_->OverrideBinderForTesting( |
| 297 CreateInterfaceRegistry(new_render_process_host_.get()); | 300 mojom::EmbeddedWorkerInstanceClient::Name_, |
| 301 base::Bind(&MockEmbeddedWorkerInstanceClient::Bind, AsWeakPtr())); |
| 298 } | 302 } |
| 299 | 303 |
| 300 EmbeddedWorkerTestHelper::~EmbeddedWorkerTestHelper() { | 304 EmbeddedWorkerTestHelper::~EmbeddedWorkerTestHelper() { |
| 301 if (wrapper_.get()) | 305 if (wrapper_.get()) |
| 302 wrapper_->Shutdown(); | 306 wrapper_->Shutdown(); |
| 303 } | 307 } |
| 304 | 308 |
| 305 void EmbeddedWorkerTestHelper::SimulateAddProcessToPattern(const GURL& pattern, | 309 void EmbeddedWorkerTestHelper::SimulateAddProcessToPattern(const GURL& pattern, |
| 306 int process_id) { | 310 int process_id) { |
| 307 if (!context()->GetDispatcherHost(process_id)) { | 311 if (!context()->GetDispatcherHost(process_id)) { |
| (...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 754 FROM_HERE, | 758 FROM_HERE, |
| 755 base::Bind(&EmbeddedWorkerTestHelper::OnPaymentRequestEvent, AsWeakPtr(), | 759 base::Bind(&EmbeddedWorkerTestHelper::OnPaymentRequestEvent, AsWeakPtr(), |
| 756 base::Passed(std::move(app_request)), callback)); | 760 base::Passed(std::move(app_request)), callback)); |
| 757 } | 761 } |
| 758 | 762 |
| 759 EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() { | 763 EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() { |
| 760 DCHECK(context()); | 764 DCHECK(context()); |
| 761 return context()->embedded_worker_registry(); | 765 return context()->embedded_worker_registry(); |
| 762 } | 766 } |
| 763 | 767 |
| 764 std::unique_ptr<service_manager::InterfaceRegistry> | |
| 765 EmbeddedWorkerTestHelper::CreateInterfaceRegistry(MockRenderProcessHost* rph) { | |
| 766 auto registry = | |
| 767 base::MakeUnique<service_manager::InterfaceRegistry>(std::string()); | |
| 768 registry->AddInterface( | |
| 769 base::Bind(&MockEmbeddedWorkerInstanceClient::Bind, AsWeakPtr())); | |
| 770 | |
| 771 service_manager::mojom::InterfaceProviderPtr interfaces; | |
| 772 registry->Bind(mojo::MakeRequest(&interfaces), service_manager::Identity(), | |
| 773 service_manager::InterfaceProviderSpec(), | |
| 774 service_manager::Identity(), | |
| 775 service_manager::InterfaceProviderSpec()); | |
| 776 | |
| 777 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( | |
| 778 new service_manager::InterfaceProvider); | |
| 779 remote_interfaces->Bind(std::move(interfaces)); | |
| 780 rph->SetRemoteInterfaces(std::move(remote_interfaces)); | |
| 781 return registry; | |
| 782 } | |
| 783 | |
| 784 } // namespace content | 768 } // namespace content |
| OLD | NEW |