Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Side by Side Diff: content/browser/service_worker/embedded_worker_test_helper.cc

Issue 2933793002: ServiceWorker: keep dispatcher hosts for unittests in the test helper (Closed)
Patch Set: RegisterMockDispatcherHost -> RegisterDispatcherHost Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698