| Index: content/browser/service_worker/embedded_worker_test_helper.cc
|
| diff --git a/content/browser/service_worker/embedded_worker_test_helper.cc b/content/browser/service_worker/embedded_worker_test_helper.cc
|
| index a9a8af9f88d82e132e4ba126e879c8182fb9d3a6..40c3a49498ada8aae80a3bb79d70f10c18ab054c 100644
|
| --- a/content/browser/service_worker/embedded_worker_test_helper.cc
|
| +++ b/content/browser/service_worker/embedded_worker_test_helper.cc
|
| @@ -21,6 +21,7 @@ namespace content {
|
| EmbeddedWorkerTestHelper::EmbeddedWorkerTestHelper(int mock_render_process_id)
|
| : wrapper_(new ServiceWorkerContextWrapper(NULL)),
|
| next_thread_id_(0),
|
| + mock_render_process_id_(mock_render_process_id),
|
| weak_factory_(this) {
|
| wrapper_->InitInternal(base::FilePath(),
|
| base::MessageLoopProxy::current(),
|
| @@ -57,6 +58,8 @@ bool EmbeddedWorkerTestHelper::OnMessageReceived(const IPC::Message& message) {
|
| IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_StopWorker, OnStopWorkerStub)
|
| IPC_MESSAGE_HANDLER(EmbeddedWorkerContextMsg_MessageToWorker,
|
| OnMessageToWorkerStub)
|
| + IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_ResumeAfterDownload,
|
| + OnResumeAfterDownloadStub)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
|
|
| @@ -80,8 +83,18 @@ void EmbeddedWorkerTestHelper::OnStartWorker(
|
| int embedded_worker_id,
|
| int64 service_worker_version_id,
|
| const GURL& scope,
|
| - const GURL& script_url) {
|
| - // By default just notify the sender that the worker is started.
|
| + const GURL& script_url,
|
| + bool pause_after_download) {
|
| + if (pause_after_download) {
|
| + SimulatePausedAfterDownload(embedded_worker_id);
|
| + return;
|
| + }
|
| + SimulateWorkerScriptLoaded(embedded_worker_id);
|
| + SimulateWorkerStarted(next_thread_id_++, embedded_worker_id);
|
| +}
|
| +
|
| +void EmbeddedWorkerTestHelper::OnResumeAfterDownload(int embedded_worker_id) {
|
| + SimulateWorkerScriptLoaded(embedded_worker_id);
|
| SimulateWorkerStarted(next_thread_id_++, embedded_worker_id);
|
| }
|
|
|
| @@ -138,6 +151,20 @@ void EmbeddedWorkerTestHelper::OnFetchEvent(
|
| std::string())));
|
| }
|
|
|
| +void EmbeddedWorkerTestHelper::SimulatePausedAfterDownload(
|
| + int embedded_worker_id) {
|
| + EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| + ASSERT_TRUE(worker != NULL);
|
| + registry()->OnPausedAfterDownload(worker->process_id(), embedded_worker_id);
|
| +}
|
| +
|
| +void EmbeddedWorkerTestHelper::SimulateWorkerScriptLoaded(
|
| + int embedded_worker_id) {
|
| + EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| + ASSERT_TRUE(worker != NULL);
|
| + registry()->OnWorkerScriptLoaded(worker->process_id(), embedded_worker_id);
|
| +}
|
| +
|
| void EmbeddedWorkerTestHelper::SimulateWorkerStarted(
|
| int thread_id, int embedded_worker_id) {
|
| EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| @@ -170,11 +197,23 @@ void EmbeddedWorkerTestHelper::OnStartWorkerStub(
|
| base::MessageLoopProxy::current()->PostTask(
|
| FROM_HERE,
|
| base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker,
|
| + weak_factory_.GetWeakPtr(),
|
| + params.embedded_worker_id,
|
| + params.service_worker_version_id,
|
| + params.scope,
|
| + params.script_url,
|
| + params.pause_after_download));
|
| +}
|
| +
|
| +void EmbeddedWorkerTestHelper::OnResumeAfterDownloadStub(
|
| + int embedded_worker_id) {
|
| + EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id);
|
| + ASSERT_TRUE(worker != NULL);
|
| + base::MessageLoopProxy::current()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&EmbeddedWorkerTestHelper::OnResumeAfterDownload,
|
| weak_factory_.GetWeakPtr(),
|
| - params.embedded_worker_id,
|
| - params.service_worker_version_id,
|
| - params.scope,
|
| - params.script_url));
|
| + embedded_worker_id));
|
| }
|
|
|
| void EmbeddedWorkerTestHelper::OnStopWorkerStub(int embedded_worker_id) {
|
|
|