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 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 bool Send(IPC::Message* message) override; | 116 bool Send(IPC::Message* message) override; |
117 | 117 |
118 // IPC::Listener implementation. | 118 // IPC::Listener implementation. |
119 bool OnMessageReceived(const IPC::Message& msg) override; | 119 bool OnMessageReceived(const IPC::Message& msg) override; |
120 | 120 |
121 // Register a mojo endpoint object derived from | 121 // Register a mojo endpoint object derived from |
122 // MockEmbeddedWorkerInstanceClient. | 122 // MockEmbeddedWorkerInstanceClient. |
123 void RegisterMockInstanceClient( | 123 void RegisterMockInstanceClient( |
124 std::unique_ptr<MockEmbeddedWorkerInstanceClient> client); | 124 std::unique_ptr<MockEmbeddedWorkerInstanceClient> client); |
125 | 125 |
| 126 template <typename MockType, typename... Args> |
| 127 MockType* CreateAndRegisterMockInstanceClient(Args&&... args); |
| 128 |
126 // IPC sink for EmbeddedWorker messages. | 129 // IPC sink for EmbeddedWorker messages. |
127 IPC::TestSink* ipc_sink() { return &sink_; } | 130 IPC::TestSink* ipc_sink() { return &sink_; } |
128 // Inner IPC sink for script context messages sent via EmbeddedWorker. | 131 // Inner IPC sink for script context messages sent via EmbeddedWorker. |
129 IPC::TestSink* inner_ipc_sink() { return &inner_sink_; } | 132 IPC::TestSink* inner_ipc_sink() { return &inner_sink_; } |
130 | 133 |
131 std::vector<std::unique_ptr<MockEmbeddedWorkerInstanceClient>>* | 134 std::vector<std::unique_ptr<MockEmbeddedWorkerInstanceClient>>* |
132 mock_instance_clients() { | 135 mock_instance_clients() { |
133 return &mock_instance_clients_; | 136 return &mock_instance_clients_; |
134 } | 137 } |
135 | 138 |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 int current_embedded_worker_id_; | 283 int current_embedded_worker_id_; |
281 | 284 |
282 std::vector<scoped_refptr<MessagePortMessageFilter>> | 285 std::vector<scoped_refptr<MessagePortMessageFilter>> |
283 message_port_message_filters_; | 286 message_port_message_filters_; |
284 | 287 |
285 base::WeakPtrFactory<EmbeddedWorkerTestHelper> weak_factory_; | 288 base::WeakPtrFactory<EmbeddedWorkerTestHelper> weak_factory_; |
286 | 289 |
287 DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerTestHelper); | 290 DISALLOW_COPY_AND_ASSIGN(EmbeddedWorkerTestHelper); |
288 }; | 291 }; |
289 | 292 |
| 293 template <typename MockType, typename... Args> |
| 294 MockType* EmbeddedWorkerTestHelper::CreateAndRegisterMockInstanceClient( |
| 295 Args&&... args) { |
| 296 std::unique_ptr<MockType> mock = |
| 297 base::MakeUnique<MockType>(std::forward<Args>(args)...); |
| 298 MockType* mock_rawptr = mock.get(); |
| 299 RegisterMockInstanceClient(std::move(mock)); |
| 300 return mock_rawptr; |
| 301 } |
| 302 |
290 } // namespace content | 303 } // namespace content |
291 | 304 |
292 #endif // CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ | 305 #endif // CONTENT_BROWSER_SERVICE_WORKER_EMBEDDED_WORKER_TEST_HELPER_H_ |
OLD | NEW |