| Index: content/browser/service_worker/service_worker_database.cc
|
| diff --git a/content/browser/service_worker/service_worker_database.cc b/content/browser/service_worker/service_worker_database.cc
|
| index fca967cf830e8081ddeb5d20e2f2bab5de766379..c928c38751c4929848b1bd301720fecd0df2f986 100644
|
| --- a/content/browser/service_worker/service_worker_database.cc
|
| +++ b/content/browser/service_worker/service_worker_database.cc
|
| @@ -538,6 +538,10 @@ ServiceWorkerDatabase::Status ServiceWorkerDatabase::ReadRegistration(
|
| if (status != STATUS_OK)
|
| return status;
|
|
|
| + // ResourceRecord must contain the ServiceWorker's main script.
|
| + if (resources->empty())
|
| + return ServiceWorkerDatabase::STATUS_ERROR_CORRUPTED;
|
| +
|
| *registration = value;
|
| return STATUS_OK;
|
| }
|
| @@ -583,6 +587,7 @@ ServiceWorkerDatabase::Status ServiceWorkerDatabase::WriteRegistration(
|
| std::vector<int64>* newly_purgeable_resources) {
|
| DCHECK(sequence_checker_.CalledOnValidSequencedThread());
|
| DCHECK(old_registration);
|
| + DCHECK(!resources.empty());
|
| Status status = LazyOpen(true);
|
| old_registration->version_id = kInvalidServiceWorkerVersionId;
|
| if (status != STATUS_OK)
|
|
|