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

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

Issue 1129753002: [content/browser/service_worker] Using ThreadTaskRunnerHandle in lieu of MessageLoopProxy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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
« no previous file with comments | « no previous file | content/browser/service_worker/service_worker_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/thread_task_runner_handle.h"
11 #include "content/browser/service_worker/embedded_worker_instance.h" 12 #include "content/browser/service_worker/embedded_worker_instance.h"
12 #include "content/browser/service_worker/embedded_worker_registry.h" 13 #include "content/browser/service_worker/embedded_worker_registry.h"
13 #include "content/browser/service_worker/service_worker_context_core.h" 14 #include "content/browser/service_worker/service_worker_context_core.h"
14 #include "content/browser/service_worker/service_worker_context_wrapper.h" 15 #include "content/browser/service_worker/service_worker_context_wrapper.h"
15 #include "content/common/service_worker/embedded_worker_messages.h" 16 #include "content/common/service_worker/embedded_worker_messages.h"
16 #include "content/common/service_worker/service_worker_messages.h" 17 #include "content/common/service_worker/service_worker_messages.h"
17 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
18 19
19 namespace content { 20 namespace content {
20 21
21 EmbeddedWorkerTestHelper::EmbeddedWorkerTestHelper( 22 EmbeddedWorkerTestHelper::EmbeddedWorkerTestHelper(
22 const base::FilePath& user_data_directory, 23 const base::FilePath& user_data_directory,
23 int mock_render_process_id) 24 int mock_render_process_id)
24 : wrapper_(new ServiceWorkerContextWrapper(NULL)), 25 : wrapper_(new ServiceWorkerContextWrapper(NULL)),
25 next_thread_id_(0), 26 next_thread_id_(0),
26 mock_render_process_id_(mock_render_process_id), 27 mock_render_process_id_(mock_render_process_id),
27 weak_factory_(this) { 28 weak_factory_(this) {
28 scoped_ptr<MockServiceWorkerDatabaseTaskManager> database_task_manager( 29 scoped_ptr<MockServiceWorkerDatabaseTaskManager> database_task_manager(
29 new MockServiceWorkerDatabaseTaskManager( 30 new MockServiceWorkerDatabaseTaskManager(
30 base::MessageLoopProxy::current())); 31 base::ThreadTaskRunnerHandle::Get()));
31 wrapper_->InitInternal(user_data_directory, database_task_manager.Pass(), 32 wrapper_->InitInternal(user_data_directory,
32 base::MessageLoopProxy::current(), NULL, NULL); 33 database_task_manager.Pass(),
34 base::ThreadTaskRunnerHandle::Get(),
35 NULL,
36 NULL);
33 wrapper_->process_manager()->SetProcessIdForTest(mock_render_process_id); 37 wrapper_->process_manager()->SetProcessIdForTest(mock_render_process_id);
34 registry()->AddChildProcessSender(mock_render_process_id, this, nullptr); 38 registry()->AddChildProcessSender(mock_render_process_id, this, nullptr);
35 } 39 }
36 40
37 EmbeddedWorkerTestHelper::~EmbeddedWorkerTestHelper() { 41 EmbeddedWorkerTestHelper::~EmbeddedWorkerTestHelper() {
38 if (wrapper_.get()) 42 if (wrapper_.get())
39 wrapper_->Shutdown(); 43 wrapper_->Shutdown();
40 } 44 }
41 45
42 void EmbeddedWorkerTestHelper::SimulateAddProcessToPattern( 46 void EmbeddedWorkerTestHelper::SimulateAddProcessToPattern(
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 registry()->OnMessageReceived(*message, mock_render_process_id_); 219 registry()->OnMessageReceived(*message, mock_render_process_id_);
216 delete message; 220 delete message;
217 } 221 }
218 222
219 void EmbeddedWorkerTestHelper::OnStartWorkerStub( 223 void EmbeddedWorkerTestHelper::OnStartWorkerStub(
220 const EmbeddedWorkerMsg_StartWorker_Params& params) { 224 const EmbeddedWorkerMsg_StartWorker_Params& params) {
221 EmbeddedWorkerInstance* worker = 225 EmbeddedWorkerInstance* worker =
222 registry()->GetWorker(params.embedded_worker_id); 226 registry()->GetWorker(params.embedded_worker_id);
223 ASSERT_TRUE(worker != NULL); 227 ASSERT_TRUE(worker != NULL);
224 EXPECT_EQ(EmbeddedWorkerInstance::STARTING, worker->status()); 228 EXPECT_EQ(EmbeddedWorkerInstance::STARTING, worker->status());
225 base::MessageLoopProxy::current()->PostTask( 229 base::ThreadTaskRunnerHandle::Get()->PostTask(
226 FROM_HERE, 230 FROM_HERE,
227 base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker, 231 base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker,
228 weak_factory_.GetWeakPtr(), 232 weak_factory_.GetWeakPtr(),
229 params.embedded_worker_id, 233 params.embedded_worker_id,
230 params.service_worker_version_id, 234 params.service_worker_version_id,
231 params.scope, 235 params.scope,
232 params.script_url, 236 params.script_url,
233 params.pause_after_download)); 237 params.pause_after_download));
234 } 238 }
235 239
236 void EmbeddedWorkerTestHelper::OnResumeAfterDownloadStub( 240 void EmbeddedWorkerTestHelper::OnResumeAfterDownloadStub(
237 int embedded_worker_id) { 241 int embedded_worker_id) {
238 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); 242 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
239 ASSERT_TRUE(worker != NULL); 243 ASSERT_TRUE(worker != NULL);
240 base::MessageLoopProxy::current()->PostTask( 244 base::ThreadTaskRunnerHandle::Get()->PostTask(
241 FROM_HERE, 245 FROM_HERE,
242 base::Bind(&EmbeddedWorkerTestHelper::OnResumeAfterDownload, 246 base::Bind(&EmbeddedWorkerTestHelper::OnResumeAfterDownload,
243 weak_factory_.GetWeakPtr(), 247 weak_factory_.GetWeakPtr(),
244 embedded_worker_id)); 248 embedded_worker_id));
245 } 249 }
246 250
247 void EmbeddedWorkerTestHelper::OnStopWorkerStub(int embedded_worker_id) { 251 void EmbeddedWorkerTestHelper::OnStopWorkerStub(int embedded_worker_id) {
248 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); 252 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
249 ASSERT_TRUE(worker != NULL); 253 ASSERT_TRUE(worker != NULL);
250 base::MessageLoopProxy::current()->PostTask( 254 base::ThreadTaskRunnerHandle::Get()->PostTask(
251 FROM_HERE, 255 FROM_HERE,
252 base::Bind(&EmbeddedWorkerTestHelper::OnStopWorker, 256 base::Bind(&EmbeddedWorkerTestHelper::OnStopWorker,
253 weak_factory_.GetWeakPtr(), 257 weak_factory_.GetWeakPtr(),
254 embedded_worker_id)); 258 embedded_worker_id));
255 } 259 }
256 260
257 void EmbeddedWorkerTestHelper::OnMessageToWorkerStub( 261 void EmbeddedWorkerTestHelper::OnMessageToWorkerStub(
258 int thread_id, 262 int thread_id,
259 int embedded_worker_id, 263 int embedded_worker_id,
260 const IPC::Message& message) { 264 const IPC::Message& message) {
261 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); 265 EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
262 ASSERT_TRUE(worker != NULL); 266 ASSERT_TRUE(worker != NULL);
263 EXPECT_EQ(worker->thread_id(), thread_id); 267 EXPECT_EQ(worker->thread_id(), thread_id);
264 base::MessageLoopProxy::current()->PostTask( 268 base::ThreadTaskRunnerHandle::Get()->PostTask(
265 FROM_HERE, 269 FROM_HERE,
266 base::Bind( 270 base::Bind(
267 base::IgnoreResult(&EmbeddedWorkerTestHelper::OnMessageToWorker), 271 base::IgnoreResult(&EmbeddedWorkerTestHelper::OnMessageToWorker),
268 weak_factory_.GetWeakPtr(), 272 weak_factory_.GetWeakPtr(),
269 thread_id, 273 thread_id,
270 embedded_worker_id, 274 embedded_worker_id,
271 message)); 275 message));
272 } 276 }
273 277
274 void EmbeddedWorkerTestHelper::OnActivateEventStub(int request_id) { 278 void EmbeddedWorkerTestHelper::OnActivateEventStub(int request_id) {
275 base::MessageLoopProxy::current()->PostTask( 279 base::ThreadTaskRunnerHandle::Get()->PostTask(
276 FROM_HERE, 280 FROM_HERE,
277 base::Bind(&EmbeddedWorkerTestHelper::OnActivateEvent, 281 base::Bind(&EmbeddedWorkerTestHelper::OnActivateEvent,
278 weak_factory_.GetWeakPtr(), 282 weak_factory_.GetWeakPtr(),
279 current_embedded_worker_id_, 283 current_embedded_worker_id_,
280 request_id)); 284 request_id));
281 } 285 }
282 286
283 void EmbeddedWorkerTestHelper::OnInstallEventStub(int request_id) { 287 void EmbeddedWorkerTestHelper::OnInstallEventStub(int request_id) {
284 base::MessageLoopProxy::current()->PostTask( 288 base::ThreadTaskRunnerHandle::Get()->PostTask(
285 FROM_HERE, 289 FROM_HERE,
286 base::Bind(&EmbeddedWorkerTestHelper::OnInstallEvent, 290 base::Bind(&EmbeddedWorkerTestHelper::OnInstallEvent,
287 weak_factory_.GetWeakPtr(), 291 weak_factory_.GetWeakPtr(),
288 current_embedded_worker_id_, 292 current_embedded_worker_id_,
289 request_id)); 293 request_id));
290 } 294 }
291 295
292 void EmbeddedWorkerTestHelper::OnFetchEventStub( 296 void EmbeddedWorkerTestHelper::OnFetchEventStub(
293 int request_id, 297 int request_id,
294 const ServiceWorkerFetchRequest& request) { 298 const ServiceWorkerFetchRequest& request) {
295 base::MessageLoopProxy::current()->PostTask( 299 base::ThreadTaskRunnerHandle::Get()->PostTask(
296 FROM_HERE, 300 FROM_HERE,
297 base::Bind(&EmbeddedWorkerTestHelper::OnFetchEvent, 301 base::Bind(&EmbeddedWorkerTestHelper::OnFetchEvent,
298 weak_factory_.GetWeakPtr(), 302 weak_factory_.GetWeakPtr(),
299 current_embedded_worker_id_, 303 current_embedded_worker_id_,
300 request_id, 304 request_id,
301 request)); 305 request));
302 } 306 }
303 307
304 EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() { 308 EmbeddedWorkerRegistry* EmbeddedWorkerTestHelper::registry() {
305 DCHECK(context()); 309 DCHECK(context());
306 return context()->embedded_worker_registry(); 310 return context()->embedded_worker_registry();
307 } 311 }
308 312
309 } // namespace content 313 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/service_worker/service_worker_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698