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

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

Issue 2106693002: Convert EmbeddedWorker to InterfaceRegistry/Provider. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 5 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 <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 : public mojom::EmbeddedWorkerSetup { 58 : public mojom::EmbeddedWorkerSetup {
59 public: 59 public:
60 static void Create( 60 static void Create(
61 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, 61 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper,
62 mojo::InterfaceRequest<mojom::EmbeddedWorkerSetup> request) { 62 mojo::InterfaceRequest<mojom::EmbeddedWorkerSetup> request) {
63 new MockEmbeddedWorkerSetup(helper, std::move(request)); 63 new MockEmbeddedWorkerSetup(helper, std::move(request));
64 } 64 }
65 65
66 void ExchangeInterfaceProviders( 66 void ExchangeInterfaceProviders(
67 int32_t thread_id, 67 int32_t thread_id,
68 shell::mojom::InterfaceProviderRequest services, 68 shell::mojom::InterfaceProviderRequest request,
69 shell::mojom::InterfaceProviderPtr exposed_services) override { 69 shell::mojom::InterfaceProviderPtr remote_interfaces) override {
70 if (!helper_) 70 if (!helper_)
71 return; 71 return;
72 helper_->OnSetupMojoStub(thread_id, std::move(services), 72 helper_->OnSetupMojoStub(thread_id, std::move(request),
73 std::move(exposed_services)); 73 std::move(remote_interfaces));
74 } 74 }
75 75
76 private: 76 private:
77 MockEmbeddedWorkerSetup( 77 MockEmbeddedWorkerSetup(
78 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper, 78 const base::WeakPtr<EmbeddedWorkerTestHelper>& helper,
79 mojo::InterfaceRequest<mojom::EmbeddedWorkerSetup> request) 79 mojo::InterfaceRequest<mojom::EmbeddedWorkerSetup> request)
80 : helper_(helper), binding_(this, std::move(request)) {} 80 : helper_(helper), binding_(this, std::move(request)) {}
81 81
82 base::WeakPtr<EmbeddedWorkerTestHelper> helper_; 82 base::WeakPtr<EmbeddedWorkerTestHelper> helper_;
83 mojo::StrongBinding<mojom::EmbeddedWorkerSetup> binding_; 83 mojo::StrongBinding<mojom::EmbeddedWorkerSetup> binding_;
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub) 202 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_InstallEvent, OnInstallEventStub)
203 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_FetchEvent, OnFetchEventStub) 203 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_FetchEvent, OnFetchEventStub)
204 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEventStub) 204 IPC_MESSAGE_HANDLER(ServiceWorkerMsg_PushEvent, OnPushEventStub)
205 IPC_MESSAGE_UNHANDLED(handled = false) 205 IPC_MESSAGE_UNHANDLED(handled = false)
206 IPC_END_MESSAGE_MAP() 206 IPC_END_MESSAGE_MAP()
207 // Record all messages directed to inner script context. 207 // Record all messages directed to inner script context.
208 inner_sink_.OnMessageReceived(message); 208 inner_sink_.OnMessageReceived(message);
209 return handled; 209 return handled;
210 } 210 }
211 211
212 void EmbeddedWorkerTestHelper::OnSetupMojo(ServiceRegistry* service_registry) {} 212 void EmbeddedWorkerTestHelper::OnSetupMojo(
213 shell::InterfaceRegistry* interface_registry) {}
213 214
214 void EmbeddedWorkerTestHelper::OnActivateEvent(int embedded_worker_id, 215 void EmbeddedWorkerTestHelper::OnActivateEvent(int embedded_worker_id,
215 int request_id) { 216 int request_id) {
216 SimulateSend(new ServiceWorkerHostMsg_ActivateEventFinished( 217 SimulateSend(new ServiceWorkerHostMsg_ActivateEventFinished(
217 embedded_worker_id, request_id, 218 embedded_worker_id, request_id,
218 blink::WebServiceWorkerEventResultCompleted)); 219 blink::WebServiceWorkerEventResultCompleted));
219 } 220 }
220 221
221 void EmbeddedWorkerTestHelper::OnExtendableMessageEvent(int embedded_worker_id, 222 void EmbeddedWorkerTestHelper::OnExtendableMessageEvent(int embedded_worker_id,
222 int request_id) { 223 int request_id) {
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 int request_id, 407 int request_id,
407 const PushEventPayload& payload) { 408 const PushEventPayload& payload) {
408 base::ThreadTaskRunnerHandle::Get()->PostTask( 409 base::ThreadTaskRunnerHandle::Get()->PostTask(
409 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnPushEvent, 410 FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnPushEvent,
410 weak_factory_.GetWeakPtr(), 411 weak_factory_.GetWeakPtr(),
411 current_embedded_worker_id_, request_id, payload)); 412 current_embedded_worker_id_, request_id, payload));
412 } 413 }
413 414
414 void EmbeddedWorkerTestHelper::OnSetupMojoStub( 415 void EmbeddedWorkerTestHelper::OnSetupMojoStub(
415 int thread_id, 416 int thread_id,
416 shell::mojom::InterfaceProviderRequest services, 417 shell::mojom::InterfaceProviderRequest request,
417 shell::mojom::InterfaceProviderPtr exposed_services) { 418 shell::mojom::InterfaceProviderPtr remote_interfaces) {
418 std::unique_ptr<ServiceRegistryImpl> new_registry(new ServiceRegistryImpl); 419 std::unique_ptr<shell::InterfaceRegistry> local(
419 new_registry->Bind(std::move(services)); 420 new shell::InterfaceRegistry(nullptr));
420 // TODO(beng): this shouldn't be necessary once we adjust this API to look 421 local->Bind(std::move(request));
421 // more like the one we've created for Frame. 422
422 // http://crbug.com/621187 423 std::unique_ptr<shell::InterfaceProvider> remote(
423 mojo::FuseInterface(new_registry->TakeRemoteRequest(), 424 new shell::InterfaceProvider);
424 exposed_services.PassInterface()); 425 remote->Bind(std::move(remote_interfaces));
425 OnSetupMojo(new_registry.get()); 426
426 thread_id_service_registry_map_.add(thread_id, std::move(new_registry)); 427 OnSetupMojo(local.get());
428 InterfaceRegistryAndProvider pair(std::move(local), std::move(remote));
429 thread_id_service_registry_map_[thread_id] = std::move(pair);
427 } 430 }
428 431
429 EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() { 432 EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() {
430 DCHECK(context()); 433 DCHECK(context());
431 return context()->embedded_worker_registry(); 434 return context()->embedded_worker_registry();
432 } 435 }
433 436
434 MessagePortMessageFilter* 437 MessagePortMessageFilter*
435 EmbeddedWorkerTestHelper::NewMessagePortMessageFilter() { 438 EmbeddedWorkerTestHelper::NewMessagePortMessageFilter() {
436 scoped_refptr<MessagePortMessageFilter> filter( 439 scoped_refptr<MessagePortMessageFilter> filter(
437 new MockMessagePortMessageFilter); 440 new MockMessagePortMessageFilter);
438 message_port_message_filters_.push_back(filter); 441 message_port_message_filters_.push_back(filter);
439 return filter.get(); 442 return filter.get();
440 } 443 }
441 444
442 } // namespace content 445 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/service_worker/embedded_worker_test_helper.h ('k') | content/browser/service_worker/service_worker_version.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698