Chromium Code Reviews| Index: chrome/browser/installable/installable_manager.cc |
| diff --git a/chrome/browser/installable/installable_manager.cc b/chrome/browser/installable/installable_manager.cc |
| index a4990888722e0e1366dcdd520e21f0d47b68ed2d..0fac209527677dbb25fd64bef0a44d622cee5d3d 100644 |
| --- a/chrome/browser/installable/installable_manager.cc |
| +++ b/chrome/browser/installable/installable_manager.cc |
| @@ -406,21 +406,29 @@ void InstallableManager::CheckServiceWorker() { |
| web_contents->GetSiteInstance()); |
| DCHECK(storage_partition); |
| - storage_partition->GetServiceWorkerContext()->CheckHasServiceWorker( |
| + storage_partition->GetServiceWorkerContext()->CheckServiceWorkerStatus( |
| web_contents->GetLastCommittedURL(), manifest().start_url, |
| - base::Bind(&InstallableManager::OnDidCheckHasServiceWorker, |
| + base::Bind(&InstallableManager::OnDidCheckServiceWorkerStatus, |
| weak_factory_.GetWeakPtr())); |
| } |
| -void InstallableManager::OnDidCheckHasServiceWorker(bool has_service_worker) { |
| +void InstallableManager::OnDidCheckServiceWorkerStatus( |
| + content::ServiceWorkerStatus sw_status) { |
|
dominickn
2017/03/16 06:21:56
Nit: Call the variable status for consistency with
piotrs
2017/03/17 02:21:37
Done.
|
| if (!GetWebContents()) |
| return; |
| - if (has_service_worker) { |
| - installable_->installable = true; |
| - } else { |
| - installable_->installable = false; |
| - installable_->error = NO_MATCHING_SERVICE_WORKER; |
| + switch (sw_status) { |
| + case content::ServiceWorkerStatus::SERVICE_WORKER_WITH_FETCH_HANDLER: |
| + installable_->installable = true; |
| + break; |
| + case content::ServiceWorkerStatus::SERVICE_WORKER_NO_FETCH_HANDLER: |
| + installable_->installable = false; |
| + installable_->error = NO_SERVICE_WORKER_FETCH_HANDLER; |
| + break; |
| + case content::ServiceWorkerStatus::NO_SERVICE_WORKER: |
| + installable_->installable = false; |
| + installable_->error = NO_MATCHING_SERVICE_WORKER; |
| + break; |
| } |
| installable_->fetched = true; |