зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1182979 - Part 2: Use nsTHashtable::Iterator in PluginScriptableObjectChild. r=jimm
This commit is contained in:
Родитель
314776cd4e
Коммит
3d57c66d5e
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -329,8 +329,6 @@ private:
|
|||
PluginScriptableObjectChild* actor;
|
||||
};
|
||||
|
||||
static PLDHashOperator CollectForInstance(NPObjectData* d, void* userArg);
|
||||
|
||||
/**
|
||||
* mObjectMap contains all the currently active NPObjects (from NPN_CreateObject until the
|
||||
* final release/dealloc, whether or not an actor is currently associated with the object.
|
||||
|
|
Загрузка…
Ссылка в новой задаче