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

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

Issue 2446313003: Revise InterfaceRegistry API to support filtering interfaces @ Bind() time. (Closed)
Patch Set: . Created 4 years, 1 month 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 <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 const PushEventPayload& payload) { 523 const PushEventPayload& payload) {
524 base::ThreadTaskRunnerHandle::Get()->PostTask( 524 base::ThreadTaskRunnerHandle::Get()->PostTask(
525 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnPushEvent, AsWeakPtr(), 525 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnPushEvent, AsWeakPtr(),
526 current_embedded_worker_id_, request_id, payload)); 526 current_embedded_worker_id_, request_id, payload));
527 } 527 }
528 528
529 void EmbeddedWorkerTestHelper::OnSetupMojoStub( 529 void EmbeddedWorkerTestHelper::OnSetupMojoStub(
530 int thread_id, 530 int thread_id,
531 service_manager::mojom::InterfaceProviderRequest request, 531 service_manager::mojom::InterfaceProviderRequest request,
532 service_manager::mojom::InterfaceProviderPtr remote_interfaces) { 532 service_manager::mojom::InterfaceProviderPtr remote_interfaces) {
533 std::unique_ptr<service_manager::InterfaceRegistry> local( 533 auto local = base::MakeUnique<service_manager::InterfaceRegistry>(
534 new service_manager::InterfaceRegistry); 534 service_manager::Identity(), service_manager::InterfaceProviderSpec());
535 local->Bind(std::move(request)); 535 local->Bind(std::move(request), service_manager::Identity(),
536 service_manager::InterfaceProviderSpec());
536 537
537 std::unique_ptr<service_manager::InterfaceProvider> remote( 538 std::unique_ptr<service_manager::InterfaceProvider> remote(
538 new service_manager::InterfaceProvider); 539 new service_manager::InterfaceProvider);
539 remote->Bind(std::move(remote_interfaces)); 540 remote->Bind(std::move(remote_interfaces));
540 541
541 OnSetupMojo(thread_id, local.get()); 542 OnSetupMojo(thread_id, local.get());
542 InterfaceRegistryAndProvider pair(std::move(local), std::move(remote)); 543 InterfaceRegistryAndProvider pair(std::move(local), std::move(remote));
543 thread_id_service_registry_map_[thread_id] = std::move(pair); 544 thread_id_service_registry_map_[thread_id] = std::move(pair);
544 } 545 }
545 546
546 EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() { 547 EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() {
547 DCHECK(context()); 548 DCHECK(context());
548 return context()->embedded_worker_registry(); 549 return context()->embedded_worker_registry();
549 } 550 }
550 551
551 MessagePortMessageFilter* 552 MessagePortMessageFilter*
552 EmbeddedWorkerTestHelper::NewMessagePortMessageFilter() { 553 EmbeddedWorkerTestHelper::NewMessagePortMessageFilter() {
553 scoped_refptr<MessagePortMessageFilter> filter( 554 scoped_refptr<MessagePortMessageFilter> filter(
554 new MockMessagePortMessageFilter); 555 new MockMessagePortMessageFilter);
555 message_port_message_filters_.push_back(filter); 556 message_port_message_filters_.push_back(filter);
556 return filter.get(); 557 return filter.get();
557 } 558 }
558 559
559 std::unique_ptr<service_manager::InterfaceRegistry> 560 std::unique_ptr<service_manager::InterfaceRegistry>
560 EmbeddedWorkerTestHelper::CreateInterfaceRegistry(MockRenderProcessHost* rph) { 561 EmbeddedWorkerTestHelper::CreateInterfaceRegistry(MockRenderProcessHost* rph) {
561 std::unique_ptr<service_manager::InterfaceRegistry> registry( 562 auto registry = base::MakeUnique<service_manager::InterfaceRegistry>(
562 new service_manager::InterfaceRegistry); 563 service_manager::Identity(), service_manager::InterfaceProviderSpec());
563 registry->AddInterface( 564 registry->AddInterface(
564 base::Bind(&MockEmbeddedWorkerSetup::Create, AsWeakPtr())); 565 base::Bind(&MockEmbeddedWorkerSetup::Create, AsWeakPtr()));
565 registry->AddInterface( 566 registry->AddInterface(
566 base::Bind(&MockEmbeddedWorkerInstanceClient::Bind, AsWeakPtr())); 567 base::Bind(&MockEmbeddedWorkerInstanceClient::Bind, AsWeakPtr()));
567 568
568 service_manager::mojom::InterfaceProviderPtr interfaces; 569 service_manager::mojom::InterfaceProviderPtr interfaces;
569 registry->Bind(mojo::GetProxy(&interfaces)); 570 registry->Bind(mojo::GetProxy(&interfaces), service_manager::Identity(),
571 service_manager::InterfaceProviderSpec());
570 572
571 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces( 573 std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces(
572 new service_manager::InterfaceProvider); 574 new service_manager::InterfaceProvider);
573 remote_interfaces->Bind(std::move(interfaces)); 575 remote_interfaces->Bind(std::move(interfaces));
574 rph->SetRemoteInterfaces(std::move(remote_interfaces)); 576 rph->SetRemoteInterfaces(std::move(remote_interfaces));
575 return registry; 577 return registry;
576 } 578 }
577 579
578 } // namespace content 580 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/service_worker/embedded_worker_instance.cc ('k') | content/child/child_thread_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698