Chromium Code Reviews| Index: content/browser/service_worker/service_worker_storage.cc |
| diff --git a/content/browser/service_worker/service_worker_storage.cc b/content/browser/service_worker/service_worker_storage.cc |
| index ad3d3d49e471b1d82c1b53ad929b4934b76f7cb8..92f0775f39292bcff24fbb5456b31007ffa4c455 100644 |
| --- a/content/browser/service_worker/service_worker_storage.cc |
| +++ b/content/browser/service_worker/service_worker_storage.cc |
| @@ -773,13 +773,17 @@ void ServiceWorkerStorage::GetUserDataForAllRegistrations( |
| const std::string& key, |
| const ServiceWorkerStorage::GetUserDataForAllRegistrationsCallback& |
| callback) { |
| - DCHECK(state_ == INITIALIZED || state_ == DISABLED) << state_; |
| - if (IsDisabled() || !context_) { |
| - RunSoon(FROM_HERE, |
| - base::Bind(callback, std::vector<std::pair<int64, std::string>>(), |
| - SERVICE_WORKER_ERROR_FAILED)); |
| + if (!LazyInitialize( |
|
davidben
2015/03/13 22:05:44
(Having never seen this class before, it sure woul
jkarlin
2015/03/14 01:17:27
Done.
|
| + base::Bind(&ServiceWorkerStorage::GetUserDataForAllRegistrations, |
| + weak_factory_.GetWeakPtr(), key, callback))) { |
| + if (state_ != INITIALIZING || !context_) { |
| + RunSoon(FROM_HERE, |
| + base::Bind(callback, std::vector<std::pair<int64, std::string>>(), |
| + SERVICE_WORKER_ERROR_FAILED)); |
| + } |
| return; |
| } |
| + DCHECK_EQ(INITIALIZED, state_); |
| if (key.empty()) { |
| RunSoon(FROM_HERE, |