Bug 1182979 - Part 2: Use nsTHashtable::Iterator in PluginScriptableObjectChild. r=jimm

This commit is contained in:
Birunthan Mohanathas
2015-07-16 10:59:36 -07:00
parent 9aa82d0aad
commit 442824a1e0
2 changed files with 10 additions and 15 deletions

View File

@@ -1266,22 +1266,19 @@ PluginScriptableObjectChild::GetInstanceForNPObject(NPObject* aObject)
return d->instance;
}
/* static */ PLDHashOperator
PluginScriptableObjectChild::CollectForInstance(NPObjectData* d, void* userArg)
{
PluginInstanceChild* instance = static_cast<PluginInstanceChild*>(userArg);
if (d->instance == instance) {
NPObject* o = d->GetKey();
instance->mDeletingHash->PutEntry(o);
}
return PL_DHASH_NEXT;
}
/* static */ void
PluginScriptableObjectChild::NotifyOfInstanceShutdown(PluginInstanceChild* aInstance)
{
AssertPluginThread();
if (sObjectMap) {
sObjectMap->EnumerateEntries(CollectForInstance, aInstance);
if (!sObjectMap) {
return;
}
for (auto iter = sObjectMap->Iter(); !iter.Done(); iter.Next()) {
NPObjectData* d = iter.Get();
if (d->instance == aInstance) {
NPObject* o = d->GetKey();
aInstance->mDeletingHash->PutEntry(o);
}
}
}