| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/service_worker/service_worker_register_job.h" | 5 #include "content/browser/service_worker/service_worker_register_job.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include "base/location.h" | 9 #include "base/location.h" |
| 10 #include "base/single_thread_task_runner.h" | 10 #include "base/single_thread_task_runner.h" |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 typedef ServiceWorkerRegisterJobBase::RegistrationJobType RegistrationJobType; | 67 typedef ServiceWorkerRegisterJobBase::RegistrationJobType RegistrationJobType; |
| 68 | 68 |
| 69 ServiceWorkerRegisterJob::ServiceWorkerRegisterJob( | 69 ServiceWorkerRegisterJob::ServiceWorkerRegisterJob( |
| 70 base::WeakPtr<ServiceWorkerContextCore> context, | 70 base::WeakPtr<ServiceWorkerContextCore> context, |
| 71 const GURL& script_url, | 71 const GURL& script_url, |
| 72 const ServiceWorkerRegistrationOptions& options) | 72 const ServiceWorkerRegistrationOptions& options) |
| 73 : context_(context), | 73 : context_(context), |
| 74 job_type_(REGISTRATION_JOB), | 74 job_type_(REGISTRATION_JOB), |
| 75 pattern_(options.scope), | 75 pattern_(options.scope), |
| 76 script_url_(script_url), | 76 script_url_(script_url), |
| 77 update_via_cache_(options.update_via_cache), |
| 77 phase_(INITIAL), | 78 phase_(INITIAL), |
| 78 is_promise_resolved_(false), | 79 is_promise_resolved_(false), |
| 79 should_uninstall_on_failure_(false), | 80 should_uninstall_on_failure_(false), |
| 80 force_bypass_cache_(false), | 81 force_bypass_cache_(false), |
| 81 skip_script_comparison_(false), | 82 skip_script_comparison_(false), |
| 82 promise_resolved_status_(SERVICE_WORKER_OK), | 83 promise_resolved_status_(SERVICE_WORKER_OK), |
| 83 weak_factory_(this) {} | 84 weak_factory_(this) {} |
| 84 | 85 |
| 85 ServiceWorkerRegisterJob::ServiceWorkerRegisterJob( | 86 ServiceWorkerRegisterJob::ServiceWorkerRegisterJob( |
| 86 base::WeakPtr<ServiceWorkerContextCore> context, | 87 base::WeakPtr<ServiceWorkerContextCore> context, |
| 87 ServiceWorkerRegistration* registration, | 88 ServiceWorkerRegistration* registration, |
| 88 bool force_bypass_cache, | 89 bool force_bypass_cache, |
| 89 bool skip_script_comparison) | 90 bool skip_script_comparison) |
| 90 : context_(context), | 91 : context_(context), |
| 91 job_type_(UPDATE_JOB), | 92 job_type_(UPDATE_JOB), |
| 92 pattern_(registration->pattern()), | 93 pattern_(registration->pattern()), |
| 94 update_via_cache_(registration->update_via_cache()), |
| 93 phase_(INITIAL), | 95 phase_(INITIAL), |
| 94 is_promise_resolved_(false), | 96 is_promise_resolved_(false), |
| 95 should_uninstall_on_failure_(false), | 97 should_uninstall_on_failure_(false), |
| 96 force_bypass_cache_(force_bypass_cache), | 98 force_bypass_cache_(force_bypass_cache), |
| 97 skip_script_comparison_(skip_script_comparison), | 99 skip_script_comparison_(skip_script_comparison), |
| 98 promise_resolved_status_(SERVICE_WORKER_OK), | 100 promise_resolved_status_(SERVICE_WORKER_OK), |
| 99 weak_factory_(this) { | 101 weak_factory_(this) { |
| 100 internal_.registration = registration; | 102 internal_.registration = registration; |
| 101 } | 103 } |
| 102 | 104 |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 310 void ServiceWorkerRegisterJob::RegisterAndContinue() { | 312 void ServiceWorkerRegisterJob::RegisterAndContinue() { |
| 311 SetPhase(REGISTER); | 313 SetPhase(REGISTER); |
| 312 | 314 |
| 313 int64_t registration_id = context_->storage()->NewRegistrationId(); | 315 int64_t registration_id = context_->storage()->NewRegistrationId(); |
| 314 if (registration_id == kInvalidServiceWorkerRegistrationId) { | 316 if (registration_id == kInvalidServiceWorkerRegistrationId) { |
| 315 Complete(SERVICE_WORKER_ERROR_ABORT); | 317 Complete(SERVICE_WORKER_ERROR_ABORT); |
| 316 return; | 318 return; |
| 317 } | 319 } |
| 318 | 320 |
| 319 set_registration(new ServiceWorkerRegistration( | 321 set_registration(new ServiceWorkerRegistration( |
| 320 ServiceWorkerRegistrationOptions(pattern_), registration_id, context_)); | 322 ServiceWorkerRegistrationOptions(pattern_, update_via_cache_), |
| 323 registration_id, context_)); |
| 321 AddRegistrationToMatchingProviderHosts(registration()); | 324 AddRegistrationToMatchingProviderHosts(registration()); |
| 322 UpdateAndContinue(); | 325 UpdateAndContinue(); |
| 323 } | 326 } |
| 324 | 327 |
| 325 void ServiceWorkerRegisterJob::ContinueWithUninstallingRegistration( | 328 void ServiceWorkerRegisterJob::ContinueWithUninstallingRegistration( |
| 326 scoped_refptr<ServiceWorkerRegistration> existing_registration, | 329 scoped_refptr<ServiceWorkerRegistration> existing_registration, |
| 327 ServiceWorkerStatusCode status) { | 330 ServiceWorkerStatusCode status) { |
| 328 if (status != SERVICE_WORKER_OK) { | 331 if (status != SERVICE_WORKER_OK) { |
| 329 Complete(status); | 332 Complete(status); |
| 330 return; | 333 return; |
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 663 new_version()->force_bypass_cache_for_scripts() || | 666 new_version()->force_bypass_cache_for_scripts() || |
| 664 registration()->last_update_check().is_null()) { | 667 registration()->last_update_check().is_null()) { |
| 665 registration()->set_last_update_check(base::Time::Now()); | 668 registration()->set_last_update_check(base::Time::Now()); |
| 666 | 669 |
| 667 if (registration()->has_installed_version()) | 670 if (registration()->has_installed_version()) |
| 668 context_->storage()->UpdateLastUpdateCheckTime(registration()); | 671 context_->storage()->UpdateLastUpdateCheckTime(registration()); |
| 669 } | 672 } |
| 670 } | 673 } |
| 671 | 674 |
| 672 } // namespace content | 675 } // namespace content |
| OLD | NEW |