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 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 base::ThreadTaskRunnerHandle::Get())); | 299 base::ThreadTaskRunnerHandle::Get())); |
300 wrapper_->InitInternal(user_data_directory, std::move(database_task_manager), | 300 wrapper_->InitInternal(user_data_directory, std::move(database_task_manager), |
301 base::ThreadTaskRunnerHandle::Get(), nullptr, nullptr); | 301 base::ThreadTaskRunnerHandle::Get(), nullptr, nullptr); |
302 wrapper_->process_manager()->SetProcessIdForTest(mock_render_process_id()); | 302 wrapper_->process_manager()->SetProcessIdForTest(mock_render_process_id()); |
303 wrapper_->process_manager()->SetNewProcessIdForTest(new_render_process_id()); | 303 wrapper_->process_manager()->SetNewProcessIdForTest(new_render_process_id()); |
304 | 304 |
305 scoped_refptr<ServiceWorkerDispatcherHost> dispatcher_host( | 305 scoped_refptr<ServiceWorkerDispatcherHost> dispatcher_host( |
306 new MockServiceWorkerDispatcherHost( | 306 new MockServiceWorkerDispatcherHost( |
307 mock_render_process_id_, browser_context_->GetResourceContext(), | 307 mock_render_process_id_, browser_context_->GetResourceContext(), |
308 this)); | 308 this)); |
309 wrapper_->context()->AddDispatcherHost(mock_render_process_id_, | 309 dispatcher_host->Init(wrapper_.get()); |
310 dispatcher_host.get()); | |
311 dispatcher_hosts_[mock_render_process_id_] = std::move(dispatcher_host); | 310 dispatcher_hosts_[mock_render_process_id_] = std::move(dispatcher_host); |
312 | 311 |
313 render_process_host_->OverrideBinderForTesting( | 312 render_process_host_->OverrideBinderForTesting( |
314 mojom::EmbeddedWorkerInstanceClient::Name_, | 313 mojom::EmbeddedWorkerInstanceClient::Name_, |
315 base::Bind(&MockEmbeddedWorkerInstanceClient::Bind, AsWeakPtr())); | 314 base::Bind(&MockEmbeddedWorkerInstanceClient::Bind, AsWeakPtr())); |
316 new_render_process_host_->OverrideBinderForTesting( | 315 new_render_process_host_->OverrideBinderForTesting( |
317 mojom::EmbeddedWorkerInstanceClient::Name_, | 316 mojom::EmbeddedWorkerInstanceClient::Name_, |
318 base::Bind(&MockEmbeddedWorkerInstanceClient::Bind, AsWeakPtr())); | 317 base::Bind(&MockEmbeddedWorkerInstanceClient::Bind, AsWeakPtr())); |
319 } | 318 } |
320 | 319 |
321 EmbeddedWorkerTestHelper::~EmbeddedWorkerTestHelper() { | 320 EmbeddedWorkerTestHelper::~EmbeddedWorkerTestHelper() { |
322 if (wrapper_.get()) | 321 if (wrapper_.get()) |
323 wrapper_->Shutdown(); | 322 wrapper_->Shutdown(); |
324 } | 323 } |
325 | 324 |
326 void EmbeddedWorkerTestHelper::SimulateAddProcessToPattern(const GURL& pattern, | 325 void EmbeddedWorkerTestHelper::SimulateAddProcessToPattern(const GURL& pattern, |
327 int process_id) { | 326 int process_id) { |
328 if (!context()->GetDispatcherHost(process_id)) { | 327 if (!context()->GetDispatcherHost(process_id)) { |
329 scoped_refptr<ServiceWorkerDispatcherHost> dispatcher_host( | 328 scoped_refptr<ServiceWorkerDispatcherHost> dispatcher_host( |
330 new MockServiceWorkerDispatcherHost( | 329 new MockServiceWorkerDispatcherHost( |
331 process_id, browser_context_->GetResourceContext(), this)); | 330 process_id, browser_context_->GetResourceContext(), this)); |
332 wrapper_->context()->AddDispatcherHost(process_id, dispatcher_host.get()); | 331 dispatcher_host->Init(wrapper_.get()); |
333 dispatcher_hosts_[process_id] = std::move(dispatcher_host); | 332 dispatcher_hosts_[process_id] = std::move(dispatcher_host); |
334 } | 333 } |
335 wrapper_->process_manager()->AddProcessReferenceToPattern(pattern, | 334 wrapper_->process_manager()->AddProcessReferenceToPattern(pattern, |
336 process_id); | 335 process_id); |
337 } | 336 } |
338 | 337 |
339 bool EmbeddedWorkerTestHelper::Send(IPC::Message* message) { | 338 bool EmbeddedWorkerTestHelper::Send(IPC::Message* message) { |
340 OnMessageReceived(*message); | 339 OnMessageReceived(*message); |
341 delete message; | 340 delete message; |
342 return true; | 341 return true; |
(...skipping 12 matching lines...) Expand all Loading... |
355 sink_.OnMessageReceived(message); | 354 sink_.OnMessageReceived(message); |
356 | 355 |
357 return handled; | 356 return handled; |
358 } | 357 } |
359 | 358 |
360 void EmbeddedWorkerTestHelper::RegisterMockInstanceClient( | 359 void EmbeddedWorkerTestHelper::RegisterMockInstanceClient( |
361 std::unique_ptr<MockEmbeddedWorkerInstanceClient> client) { | 360 std::unique_ptr<MockEmbeddedWorkerInstanceClient> client) { |
362 mock_instance_clients_.push_back(std::move(client)); | 361 mock_instance_clients_.push_back(std::move(client)); |
363 } | 362 } |
364 | 363 |
| 364 void EmbeddedWorkerTestHelper::RegisterDispatcherHost( |
| 365 int process_id, |
| 366 scoped_refptr<ServiceWorkerDispatcherHost> dispatcher_host) { |
| 367 dispatcher_hosts_[process_id] = std::move(dispatcher_host); |
| 368 } |
| 369 |
365 ServiceWorkerContextCore* EmbeddedWorkerTestHelper::context() { | 370 ServiceWorkerContextCore* EmbeddedWorkerTestHelper::context() { |
366 return wrapper_->context(); | 371 return wrapper_->context(); |
367 } | 372 } |
368 | 373 |
369 void EmbeddedWorkerTestHelper::ShutdownContext() { | 374 void EmbeddedWorkerTestHelper::ShutdownContext() { |
370 wrapper_->Shutdown(); | 375 wrapper_->Shutdown(); |
371 wrapper_ = NULL; | 376 wrapper_ = NULL; |
372 } | 377 } |
373 | 378 |
374 // static | 379 // static |
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
793 base::Passed(&event_data), base::Passed(&response_callback), | 798 base::Passed(&event_data), base::Passed(&response_callback), |
794 base::Passed(&callback))); | 799 base::Passed(&callback))); |
795 } | 800 } |
796 | 801 |
797 EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() { | 802 EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() { |
798 DCHECK(context()); | 803 DCHECK(context()); |
799 return context()->embedded_worker_registry(); | 804 return context()->embedded_worker_registry(); |
800 } | 805 } |
801 | 806 |
802 } // namespace content | 807 } // namespace content |
OLD | NEW |