| Index: content/browser/service_worker/embedded_worker_test_helper.h
|
| diff --git a/content/browser/service_worker/embedded_worker_test_helper.h b/content/browser/service_worker/embedded_worker_test_helper.h
|
| index 9a308316dbff06bd4cf45309d998ed66bca2ca29..a95454a94903d32d6dd4bbe423b7347b2c7eed0f 100644
|
| --- a/content/browser/service_worker/embedded_worker_test_helper.h
|
| +++ b/content/browser/service_worker/embedded_worker_test_helper.h
|
| @@ -12,8 +12,10 @@
|
| #include <vector>
|
|
|
| #include "base/callback.h"
|
| +#include "base/containers/scoped_ptr_hash_map.h"
|
| #include "base/macros.h"
|
| #include "base/memory/weak_ptr.h"
|
| +#include "content/common/mojo/service_registry_impl.h"
|
| #include "ipc/ipc_listener.h"
|
| #include "ipc/ipc_test_sink.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -99,6 +101,10 @@ class EmbeddedWorkerTestHelper : public IPC::Sender,
|
| int embedded_worker_id,
|
| const IPC::Message& message);
|
|
|
| + // Called to setup mojo for a new embedded worker. Override to register
|
| + // services the worker should expose to the browser.
|
| + virtual void OnSetupMojo(ServiceRegistry* service_registry);
|
| +
|
| // On*Event handlers. Called by the default implementation of
|
| // OnMessageToWorker when events are sent to the embedded
|
| // worker. By default they just return success via
|
| @@ -126,6 +132,8 @@ class EmbeddedWorkerTestHelper : public IPC::Sender,
|
| EmbeddedWorkerRegistry* registry();
|
|
|
| private:
|
| + class MockEmbeddedWorkerSetup;
|
| +
|
| void OnStartWorkerStub(const EmbeddedWorkerMsg_StartWorker_Params& params);
|
| void OnStopWorkerStub(int embedded_worker_id);
|
| void OnMessageToWorkerStub(int thread_id,
|
| @@ -136,6 +144,9 @@ class EmbeddedWorkerTestHelper : public IPC::Sender,
|
| void OnFetchEventStub(int request_id,
|
| const ServiceWorkerFetchRequest& request);
|
| void OnPushEventStub(int request_id, const std::string& data);
|
| + void OnSetupMojoStub(int thread_id,
|
| + mojo::InterfaceRequest<mojo::ServiceProvider> services,
|
| + mojo::ServiceProviderPtr exposed_services);
|
|
|
| MessagePortMessageFilter* NewMessagePortMessageFilter();
|
|
|
| @@ -150,8 +161,15 @@ class EmbeddedWorkerTestHelper : public IPC::Sender,
|
| int next_thread_id_;
|
| int mock_render_process_id_;
|
|
|
| + ServiceRegistryImpl render_process_service_registry_;
|
| +
|
| std::map<int, int64_t> embedded_worker_id_service_worker_version_id_map_;
|
|
|
| + // Stores the ServiceRegistries that are associated with each individual
|
| + // service worker.
|
| + base::ScopedPtrHashMap<int, scoped_ptr<ServiceRegistryImpl>>
|
| + thread_id_service_registry_map_;
|
| +
|
| // Updated each time MessageToWorker message is received.
|
| int current_embedded_worker_id_;
|
|
|
|
|