From a849803571dfc4726f09249164bb9b83018715b3 Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Mon, 13 Jul 2015 11:37:28 -0400 Subject: [PATCH] Bug 1183141 - Use nsTHashtable::Iterator in ServiceWorkerManager::ClaimClients; r=catalinb --- dom/workers/ServiceWorkerManager.cpp | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/dom/workers/ServiceWorkerManager.cpp b/dom/workers/ServiceWorkerManager.cpp index e6a2e3c33ca2..4eeaaa3fc173 100644 --- a/dom/workers/ServiceWorkerManager.cpp +++ b/dom/workers/ServiceWorkerManager.cpp @@ -3996,19 +3996,7 @@ FireControllerChangeOnMatchingDocument(nsISupports* aKey, return PL_DHASH_NEXT; } -static PLDHashOperator -ClaimMatchingClients(nsISupportsHashKey* aKey, void* aData) -{ - nsRefPtr swm = ServiceWorkerManager::GetInstance(); - ServiceWorkerRegistrationInfo* workerRegistration = - static_cast(aData); - nsCOMPtr 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 swm = ServiceWorkerManager::GetInstance(); + for (auto iter = mAllDocuments.Iter(); !iter.Done(); iter.Next()) { + nsCOMPtr document = do_QueryInterface(iter.Get()->GetKey()); + swm->MaybeClaimClient(document, registration); + } return NS_OK; }