Chromium Code Reviews| 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 690ff23076e2dc367b587e71d6ca4abe717c4a43..605d9dc0b4f1ef4d8eb36a9356c10055d557441a 100644 |
| --- a/content/browser/service_worker/embedded_worker_test_helper.cc |
| +++ b/content/browser/service_worker/embedded_worker_test_helper.cc |
| @@ -91,11 +91,14 @@ void EmbeddedWorkerTestHelper::OnStartWorker( |
| const GURL& scope, |
| const GURL& script_url, |
| bool pause_after_download) { |
| + embedded_worker_id_service_worker_version_id_map_[embedded_worker_id] = |
| + service_worker_version_id; |
| if (pause_after_download) { |
| SimulatePausedAfterDownload(embedded_worker_id); |
| return; |
| } |
| SimulateWorkerReadyForInspection(embedded_worker_id); |
| + SimulateLoadWorkerMainScript(embedded_worker_id); |
| SimulateWorkerScriptLoaded(next_thread_id_++, embedded_worker_id); |
| SimulateWorkerScriptEvaluated(embedded_worker_id); |
| SimulateWorkerStarted(embedded_worker_id); |
| @@ -103,6 +106,7 @@ void EmbeddedWorkerTestHelper::OnStartWorker( |
| void EmbeddedWorkerTestHelper::OnResumeAfterDownload(int embedded_worker_id) { |
| SimulateWorkerReadyForInspection(embedded_worker_id); |
| + SimulateLoadWorkerMainScript(embedded_worker_id); |
| SimulateWorkerScriptLoaded(next_thread_id_++, embedded_worker_id); |
| SimulateWorkerScriptEvaluated(embedded_worker_id); |
| SimulateWorkerStarted(embedded_worker_id); |
| @@ -182,6 +186,22 @@ void EmbeddedWorkerTestHelper::SimulateWorkerReadyForInspection( |
| embedded_worker_id); |
| } |
| +void EmbeddedWorkerTestHelper::SimulateLoadWorkerMainScript( |
| + int embedded_worker_id) { |
| + int64 version_id = |
| + embedded_worker_id_service_worker_version_id_map_[embedded_worker_id]; |
| + ServiceWorkerVersion* version = context()->GetLiveVersion(version_id); |
| + if (!version || version->script_cache_map()->size()) |
| + return; |
| + std::vector<ServiceWorkerDatabase::ResourceRecord> records; |
| + // Add a dymmy ResourceRecord for the main script to the script cache map of |
| + // the ServiceWorkerVersion. We use embedded_worker_id for resource_id to |
| + // avoid ID corraption. |
|
nhiroki
2015/05/11 05:46:04
nit: dymmy -> dummy, corraption -> corruption (or
horo
2015/05/11 07:41:30
Done.
|
| + records.push_back(ServiceWorkerDatabase::ResourceRecord( |
| + embedded_worker_id, version->script_url(), 100)); |
| + version->script_cache_map()->SetResources(records); |
| +} |
| + |
| void EmbeddedWorkerTestHelper::SimulateWorkerScriptLoaded( |
| int thread_id, int embedded_worker_id) { |
| EmbeddedWorkerInstance* worker = registry()->GetWorker(embedded_worker_id); |