| Index: content/browser/service_worker/service_worker_context_core.cc
|
| diff --git a/content/browser/service_worker/service_worker_context_core.cc b/content/browser/service_worker/service_worker_context_core.cc
|
| index 4243c764530b076f9a876f50c83110a25873ab68..06e1fbb055be99c108f89e1736ae45e859478684 100644
|
| --- a/content/browser/service_worker/service_worker_context_core.cc
|
| +++ b/content/browser/service_worker/service_worker_context_core.cc
|
| @@ -28,7 +28,6 @@
|
|
|
| namespace content {
|
| namespace {
|
| -
|
| void SuccessCollectorCallback(const base::Closure& done_closure,
|
| bool* overall_success,
|
| ServiceWorkerStatusCode status) {
|
| @@ -46,13 +45,6 @@
|
| callback.Run(result ? ServiceWorkerStatusCode::SERVICE_WORKER_OK
|
| : ServiceWorkerStatusCode::SERVICE_WORKER_ERROR_FAILED);
|
| }
|
| -
|
| -bool IsSameOriginClientProviderHost(const GURL& origin,
|
| - ServiceWorkerProviderHost* host) {
|
| - return host->provider_type() == SERVICE_WORKER_PROVIDER_FOR_CONTROLLEE &&
|
| - host->document_url().GetOrigin() == origin;
|
| -}
|
| -
|
| } // namespace
|
|
|
| const base::FilePath::CharType
|
| @@ -74,7 +66,7 @@
|
|
|
| // Advance the inner iterator. If an element is reached, we're done.
|
| provider_host_iterator_->Advance();
|
| - if (ForwardUntilMatchingProviderHost())
|
| + if (!provider_host_iterator_->IsAtEnd())
|
| return;
|
|
|
| // Advance the outer iterator until an element is reached, or end is hit.
|
| @@ -84,7 +76,7 @@
|
| return;
|
| ProviderMap* provider_map = process_iterator_->GetCurrentValue();
|
| provider_host_iterator_.reset(new ProviderMap::iterator(provider_map));
|
| - if (ForwardUntilMatchingProviderHost())
|
| + if (!provider_host_iterator_->IsAtEnd())
|
| return;
|
| }
|
| }
|
| @@ -95,9 +87,8 @@
|
| }
|
|
|
| ServiceWorkerContextCore::ProviderHostIterator::ProviderHostIterator(
|
| - ProcessToProviderMap* map,
|
| - const ProviderHostPredicate& predicate)
|
| - : map_(map), predicate_(predicate) {
|
| + ProcessToProviderMap* map)
|
| + : map_(map) {
|
| DCHECK(map);
|
| Initialize();
|
| }
|
| @@ -108,20 +99,10 @@
|
| while (!process_iterator_->IsAtEnd()) {
|
| ProviderMap* provider_map = process_iterator_->GetCurrentValue();
|
| provider_host_iterator_.reset(new ProviderMap::iterator(provider_map));
|
| - if (ForwardUntilMatchingProviderHost())
|
| + if (!provider_host_iterator_->IsAtEnd())
|
| return;
|
| process_iterator_->Advance();
|
| }
|
| -}
|
| -
|
| -bool ServiceWorkerContextCore::ProviderHostIterator::
|
| - ForwardUntilMatchingProviderHost() {
|
| - while (!provider_host_iterator_->IsAtEnd()) {
|
| - if (predicate_.is_null() || predicate_.Run(GetProviderHost()))
|
| - return true;
|
| - provider_host_iterator_->Advance();
|
| - }
|
| - return false;
|
| }
|
|
|
| ServiceWorkerContextCore::ServiceWorkerContextCore(
|
| @@ -220,35 +201,20 @@
|
|
|
| scoped_ptr<ServiceWorkerContextCore::ProviderHostIterator>
|
| ServiceWorkerContextCore::GetProviderHostIterator() {
|
| - return make_scoped_ptr(new ProviderHostIterator(
|
| - providers_.get(), ProviderHostIterator::ProviderHostPredicate()));
|
| -}
|
| -
|
| -scoped_ptr<ServiceWorkerContextCore::ProviderHostIterator>
|
| -ServiceWorkerContextCore::GetClientProviderHostIterator(const GURL& origin) {
|
| - return make_scoped_ptr(new ProviderHostIterator(
|
| - providers_.get(), base::Bind(IsSameOriginClientProviderHost, origin)));
|
| -}
|
| -
|
| -void ServiceWorkerContextCore::RegisterProviderHostByClientID(
|
| + return make_scoped_ptr(new ProviderHostIterator(providers_.get()));
|
| +}
|
| +
|
| +void ServiceWorkerContextCore::RegisterClientIDForProviderHost(
|
| const std::string& client_uuid,
|
| ServiceWorkerProviderHost* provider_host) {
|
| DCHECK(!ContainsKey(*provider_by_uuid_, client_uuid));
|
| (*provider_by_uuid_)[client_uuid] = provider_host;
|
| }
|
|
|
| -void ServiceWorkerContextCore::UnregisterProviderHostByClientID(
|
| +void ServiceWorkerContextCore::UnregisterClientIDForProviderHost(
|
| const std::string& client_uuid) {
|
| DCHECK(ContainsKey(*provider_by_uuid_, client_uuid));
|
| provider_by_uuid_->erase(client_uuid);
|
| -}
|
| -
|
| -ServiceWorkerProviderHost* ServiceWorkerContextCore::GetProviderHostByClientID(
|
| - const std::string& client_uuid) {
|
| - auto found = provider_by_uuid_->find(client_uuid);
|
| - if (found == provider_by_uuid_->end())
|
| - return nullptr;
|
| - return found->second;
|
| }
|
|
|
| void ServiceWorkerContextCore::RegisterServiceWorker(
|
|
|