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

Unified Diff: content/browser/service_worker/embedded_worker_test_helper.cc

Issue 1135743002: Check the size of ResourceRecords in ServiceWorkerDatabase::ReadRegistration() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: DCHECK in ServiceWorkerStorage::ReturnFoundRegistration() 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 side-by-side diff with in-line comments
Download patch
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..3e512c1a88faa85a1513050b170428c06031207d 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);
+ SimulateWorkerScriptCached(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);
+ SimulateWorkerScriptCached(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::SimulateWorkerScriptCached(
+ 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 dummy ResourceRecord for the main script to the script cache map of
+ // the ServiceWorkerVersion. We use embedded_worker_id for resource_id to
+ // avoid ID collision.
+ 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);

Powered by Google App Engine
This is Rietveld 408576698