bool NPObjectWrapper::NPInvokePrivate(NPP npp, NPObject* obj, bool isDefault, NPIdentifier name, const NPVariant* args, uint32_t argCount, NPVariant* result)
{
    NPObject* actualObject = getObjectForCall(obj);
    if (!actualObject)
        return false;

    if (isDefault) {
        return _NPN_InvokeDefault(0, actualObject, args, argCount, result);
    } else {
        return _NPN_Invoke(0, actualObject, name, args, argCount, result);
    }
}
Beispiel #2
0
Eina_Bool ewk_js_object_invoke(Ewk_JS_Object* jsObject, Ewk_JS_Variant* args, int argCount, Ewk_JS_Variant* result)
{
#if ENABLE(NETSCAPE_PLUGIN_API)
    NPVariant* np_args;
    NPVariant np_result;
    bool fail = false;

    EINA_MAGIC_CHECK_OR_RETURN(jsObject, false);
    if (ewk_js_object_type_get(jsObject) != EWK_JS_OBJECT_FUNCTION)
        return false;
    if (argCount)
        EINA_SAFETY_ON_NULL_RETURN_VAL(args, false);

    np_args = static_cast<NPVariant*>(malloc(sizeof(NPVariant)  *argCount));
    if (!np_args) {
        ERR("Could not allocate memory to method arguments");
        return false;
    }

    for (int i = 0; i < argCount; i++)
        if (!ewk_js_variant_to_npvariant(&args[i], &np_args[i]))
            goto end;

    if (!(fail = _NPN_InvokeDefault(0, reinterpret_cast<NPObject*>(jsObject), np_args, argCount, &np_result)))
        goto end;
    if (result)
        fail = ewk_js_npvariant_to_variant(result, &np_result);

end:
    free(np_args);
    return fail;
#else
    UNUSED_PARAM(jsObject);
    UNUSED_PARAM(args);
    UNUSED_PARAM(argCount);
    UNUSED_PARAM(result);
    return false;
#endif
}
Beispiel #3
0
bool WebBindings::invokeDefault(NPP npp, NPObject* object, const NPVariant* args, uint32_t argCount, NPVariant* result)
{
    return _NPN_InvokeDefault(npp, object, args, argCount, result);
}
bool WebBindings::invokeDefault(NPP id, NPObject* obj, const NPVariant* args, uint32_t count, NPVariant* result)
{
    return _NPN_InvokeDefault(id, obj, args, count, result);
}
bool NPObjectWrapper::NPInvokeDefault(NPObject* obj, const NPVariant* args, uint32_t argCount, NPVariant* result)
{
    NPObject* actualObject = getObjectForCall(obj);
    return actualObject ? _NPN_InvokeDefault(0, actualObject, args, argCount, result) : false;
}
Beispiel #6
0
bool NPN_InvokeDefault(NPP npp, NPObject *npobj, const NPVariant *args,
                       uint32_t argCount, NPVariant *result) {
  return _NPN_InvokeDefault(npp, npobj, args, argCount, result);
}