Bug 1187151 (part 1) - Replace nsBaseHashtable::Enumerate() calls in dom/base/ with iterators. r=khuey.

--HG--
extra : rebase_source : 42667c5006bf67e705d026bb3ba8c9b3db6b20c9
This commit is contained in:
Nicholas Nethercote 2015-11-03 16:00:38 -08:00
Родитель 2ed8473bfb
Коммит 2db3c3035a
1 изменённых файлов: 4 добавлений и 13 удалений

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

@ -124,22 +124,13 @@ NS_INTERFACE_MAP_END
NS_IMPL_CYCLE_COLLECTING_ADDREF(nsDOMAttributeMap)
NS_IMPL_CYCLE_COLLECTING_RELEASE(nsDOMAttributeMap)
PLDHashOperator
SetOwnerDocumentFunc(nsAttrHashKey::KeyType aKey,
RefPtr<Attr>& aData,
void* aUserArg)
{
nsresult rv = aData->SetOwnerDocument(static_cast<nsIDocument*>(aUserArg));
return NS_FAILED(rv) ? PL_DHASH_STOP : PL_DHASH_NEXT;
}
nsresult
nsDOMAttributeMap::SetOwnerDocument(nsIDocument* aDocument)
{
uint32_t n = mAttributeCache.Enumerate(SetOwnerDocumentFunc, aDocument);
NS_ENSURE_TRUE(n == mAttributeCache.Count(), NS_ERROR_FAILURE);
for (auto iter = mAttributeCache.Iter(); !iter.Done(); iter.Next()) {
nsresult rv = iter.Data()->SetOwnerDocument(aDocument);
NS_ENSURE_SUCCESS(rv, NS_ERROR_FAILURE);
}
return NS_OK;
}