// static bool PluginAsyncSurrogate::ScriptableInvoke(NPObject* aObject, NPIdentifier aName, const NPVariant* aArgs, uint32_t aArgCount, NPVariant* aResult) { PLUGIN_LOG_DEBUG_FUNCTION; if (aObject->_class != GetClass()) { NS_ERROR("Don't know what kind of object this is!"); return false; } AsyncNPObject* object = static_cast<AsyncNPObject*>(aObject); if (!object->mSurrogate->WaitForInit()) { return false; } NPObject* realObject = object->GetRealObject(); if (!realObject) { return false; } return realObject->_class->invoke(realObject, aName, aArgs, aArgCount, aResult); }