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 #ifndef CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ | 5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ |
6 #define CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ | 6 #define CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 bool Send(IPC::Message* message) override; | 106 bool Send(IPC::Message* message) override; |
107 | 107 |
108 // IPC::Listener implementation. | 108 // IPC::Listener implementation. |
109 bool OnMessageReceived(const IPC::Message& msg) override; | 109 bool OnMessageReceived(const IPC::Message& msg) override; |
110 | 110 |
111 // Register a mojo endpoint object derived from | 111 // Register a mojo endpoint object derived from |
112 // MockEmbeddedWorkerInstanceClient. | 112 // MockEmbeddedWorkerInstanceClient. |
113 void RegisterMockInstanceClient( | 113 void RegisterMockInstanceClient( |
114 std::unique_ptr<MockEmbeddedWorkerInstanceClient> client); | 114 std::unique_ptr<MockEmbeddedWorkerInstanceClient> client); |
115 | 115 |
| 116 template <typename MockType, typename... Args> |
| 117 MockType* CreateAndRegisterMockInstanceClient(Args&&... args); |
| 118 |
116 // IPC sink for EmbeddedWorker messages. | 119 // IPC sink for EmbeddedWorker messages. |
117 IPC::TestSink* ipc_sink() { return &sink_; } | 120 IPC::TestSink* ipc_sink() { return &sink_; } |
118 // Inner IPC sink for script context messages sent via EmbeddedWorker. | 121 // Inner IPC sink for script context messages sent via EmbeddedWorker. |
119 IPC::TestSink* inner_ipc_sink() { return &inner_sink_; } | 122 IPC::TestSink* inner_ipc_sink() { return &inner_sink_; } |
120 | 123 |
121 std::vector<std::unique_ptr<MockEmbeddedWorkerInstanceClient>>* | 124 std::vector<std::unique_ptr<MockEmbeddedWorkerInstanceClient>>* |
122 mock_instance_clients() { | 125 mock_instance_clients() { |
123 return &mock_instance_clients_; | 126 return &mock_instance_clients_; |
124 } | 127 } |
125 | 128 |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
268 int current_embedded_worker_id_; | 271 int current_embedded_worker_id_; |
269 | 272 |
270 std::vector<scoped_refptr<MessagePortMessageFilter>> | 273 std::vector<scoped_refptr<MessagePortMessageFilter>> |
271 message_port_message_filters_; | 274 message_port_message_filters_; |
272 | 275 |
273 base::WeakPtrFactory<EmbeddedWorkerTestHelper> weak_factory_; | 276 base::WeakPtrFactory<EmbeddedWorkerTestHelper> weak_factory_; |
274 | 277 |
275 DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerTestHelper); | 278 DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerTestHelper); |
276 }; | 279 }; |
277 | 280 |
| 281 template <typename MockType, typename... Args> |
| 282 MockType* EmbeddedWorkerTestHelper::CreateAndRegisterMockInstanceClient( |
| 283 Args&&... args) { |
| 284 std::unique_ptr<MockType> mock = |
| 285 base::MakeUnique<MockType>(std::forward<Args>(args)...); |
| 286 MockType* mock_rawptr = mock.get(); |
| 287 RegisterMockInstanceClient(std::move(mock)); |
| 288 return mock_rawptr; |
| 289 } |
| 290 |
278 } // namespace content | 291 } // namespace content |
279 | 292 |
280 #endif // CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ | 293 #endif // CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ |
OLD | NEW |