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())); }
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); }
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())); }