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

Unified Diff: chrome/browser/installable/installable_manager.cc

Issue 2751343002: Adds a basic offline check to InstallableManager. (Closed)
Patch Set: Created 3 years, 9 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: 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;

Powered by Google App Engine
This is Rietveld 408576698