Bug 1183141 - Use nsTHashtable::Iterator in ServiceWorkerManager::ClaimClients; r=catalinb

This commit is contained in:
Ehsan Akhgari 2015-07-13 11:37:28 -04:00
Родитель 7d1347c3ef
Коммит 1ea4a2fdd5
1 изменённых файлов: 6 добавлений и 14 удалений

Просмотреть файл

@ -3996,19 +3996,7 @@ FireControllerChangeOnMatchingDocument(nsISupports* aKey,
return PL_DHASH_NEXT;
}
static PLDHashOperator
ClaimMatchingClients(nsISupportsHashKey* aKey, void* aData)
{
nsRefPtr<ServiceWorkerManager> swm = ServiceWorkerManager::GetInstance();
ServiceWorkerRegistrationInfo* workerRegistration =
static_cast<ServiceWorkerRegistrationInfo*>(aData);
nsCOMPtr<nsIDocument> document = do_QueryInterface(aKey->GetKey());
swm->MaybeClaimClient(document, workerRegistration);
return PL_DHASH_NEXT;
}
} // namespace
} // anonymous namespace
void
ServiceWorkerManager::GetAllClients(nsIPrincipal* aPrincipal,
@ -4076,7 +4064,11 @@ ServiceWorkerManager::ClaimClients(nsIPrincipal* aPrincipal,
return NS_ERROR_DOM_INVALID_STATE_ERR;
}
mAllDocuments.EnumerateEntries(ClaimMatchingClients, registration);
nsRefPtr<ServiceWorkerManager> swm = ServiceWorkerManager::GetInstance();
for (auto iter = mAllDocuments.Iter(); !iter.Done(); iter.Next()) {
nsCOMPtr<nsIDocument> document = do_QueryInterface(iter.Get()->GetKey());
swm->MaybeClaimClient(document, registration);
}
return NS_OK;
}