void V8WebCLPlatform::getSupportedExtensionsMethodCustom(const v8::Arguments& args)
{
    
    ExceptionState es(args.GetIsolate());
    WebCLPlatform* platform = V8WebCLPlatform::toNative(args.Holder());
    Vector<String> extensions = platform->getSupportedExtensions(es);

    v8::Local<v8::Array> array = v8::Array::New(extensions.size());
    for (size_t i = 0; i < extensions.size(); i++)
        array->Set(v8::Integer::New(i), v8::String::New(fromWebCoreString(extensions[i]), extensions[i].length()));
    v8SetReturnValue(args, array);
}
void V8WebCLPlatform::getInfoMethodCustom(const v8::Arguments& args)
{

    if (args.Length() != 1)
        { throwNotEnoughArgumentsError(args.GetIsolate()); return; }

    ExceptionState es(args.GetIsolate());
    WebCLPlatform* platform = V8WebCLPlatform::toNative(args.Holder()); 
    int platform_index = toInt32(args[0]);
    WebCLGetInfo info = platform->getInfo(platform_index, es);

	v8SetReturnValue(args, toV8Object(info, args.Holder(),args.GetIsolate()));
}
Exemplo n.º 3
0
void V8WebCLPlatform::getSupportedExtensionsMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& args)
{
    ExceptionState es(ExceptionState::ExecutionContext, "getSupportedExtensions", "WebCLPlatform", args.Holder(), args.GetIsolate()); 
    WebCLPlatform* platform = V8WebCLPlatform::toNative(args.Holder());
    Vector<String> extensions = platform->getSupportedExtensions(es);
    if (es.throwIfNeeded()) {
        return;
    }

    v8::Local<v8::Array> array = v8::Array::New(args.GetIsolate(), extensions.size());
    for (size_t i = 0; i < extensions.size(); i++)
        array->Set(v8::Integer::New(args.GetIsolate(), i), v8String(args.GetIsolate(), extensions[i]));
    v8SetReturnValue(args, array);
}
Exemplo n.º 4
0
void V8WebCLPlatform::getInfoMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& args)
{

    if (args.Length() != 1) {
        throwTypeError(ExceptionMessages::failedToExecute("getInfo", "WebCLPlatform", ExceptionMessages::notEnoughArguments(1, args.Length())), args.GetIsolate());
        return;
    }

    ExceptionState es(ExceptionState::ExecutionContext, "getInfo", "WebCLPlatform", args.Holder(), args.GetIsolate());
    WebCLPlatform* platform = V8WebCLPlatform::toNative(args.Holder()); 
    int platform_index = toInt32(args[0]);
    WebCLGetInfo info = platform->getInfo(platform_index, es);
    if (es.throwIfNeeded()) {
        return;
    }

    v8SetReturnValue(args, toV8Object(info, args.Holder(),args.GetIsolate()));
}