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 5be0d68bc4f9c195f5bb613993c5e0d91cca6653..cac428642b57bd95633aafbc9dada25d65f1aabb 100644 |
--- a/content/browser/service_worker/embedded_worker_test_helper.cc |
+++ b/content/browser/service_worker/embedded_worker_test_helper.cc |
@@ -130,6 +130,8 @@ bool EmbeddedWorkerTestHelper::OnMessageReceived(const IPC::Message& message) { |
bool handled = true; |
IPC_BEGIN_MESSAGE_MAP(EmbeddedWorkerTestHelper, message) |
IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_StartWorker, OnStartWorkerStub) |
+ IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_ResumeAfterDownload, |
+ OnResumeAfterDownloadStub) |
IPC_MESSAGE_HANDLER(EmbeddedWorkerMsg_StopWorker, OnStopWorkerStub) |
IPC_MESSAGE_HANDLER(EmbeddedWorkerContextMsg_MessageToWorker, |
OnMessageToWorkerStub) |
@@ -155,12 +157,18 @@ void EmbeddedWorkerTestHelper::ShutdownContext() { |
void EmbeddedWorkerTestHelper::OnStartWorker(int embedded_worker_id, |
int64_t service_worker_version_id, |
const GURL& scope, |
- const GURL& script_url) { |
+ const GURL& script_url, |
+ bool pause_after_download) { |
embedded_worker_id_service_worker_version_id_map_[embedded_worker_id] = |
service_worker_version_id; |
SimulateWorkerReadyForInspection(embedded_worker_id); |
SimulateWorkerScriptCached(embedded_worker_id); |
SimulateWorkerScriptLoaded(embedded_worker_id); |
+ if (!pause_after_download) |
+ OnResumeAfterDownload(embedded_worker_id); |
+} |
+ |
+void EmbeddedWorkerTestHelper::OnResumeAfterDownload(int embedded_worker_id) { |
SimulateWorkerThreadStarted(GetNextThreadId(), embedded_worker_id); |
SimulateWorkerScriptEvaluated(embedded_worker_id, true /* success */); |
SimulateWorkerStarted(embedded_worker_id); |
@@ -313,7 +321,16 @@ void EmbeddedWorkerTestHelper::OnStartWorkerStub( |
base::Bind(&EmbeddedWorkerTestHelper::OnStartWorker, |
weak_factory_.GetWeakPtr(), params.embedded_worker_id, |
params.service_worker_version_id, params.scope, |
- params.script_url)); |
+ params.script_url, params.pause_after_download)); |
+} |
+ |
+void EmbeddedWorkerTestHelper::OnResumeAfterDownloadStub( |
+ int embedded_worker_id) { |
+ EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); |
+ ASSERT_TRUE(worker); |
+ base::ThreadTaskRunnerHandle::Get()->PostTask( |
+ FROM_HERE, base::Bind(&EmbeddedWorkerTestHelper::OnResumeAfterDownload, |
+ weak_factory_.GetWeakPtr(), embedded_worker_id)); |
} |
void EmbeddedWorkerTestHelper::OnStopWorkerStub(int embedded_worker_id) { |