v8::Handle<v8::Value> V8WebGLRenderingContext::getExtensionCallback(const v8::Arguments& args) { INC_STATS("DOM.WebGLRenderingContext.getExtensionCallback()"); WebGLRenderingContext* imp = V8WebGLRenderingContext::toNative(args.Holder()); if (args.Length() < 1) { V8Proxy::setDOMException(SYNTAX_ERR); return notHandledByInterceptor(); } STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, name, args[0]); WebGLExtension* extension = imp->getExtension(name); return toV8Object(extension, args.Holder()); }
JSValue JSWebGLRenderingContext::getExtension(ExecState* exec) { if (exec->argumentCount() < 1) return throwSyntaxError(exec); WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl()); const String& name = ustringToString(exec->argument(0).toString(exec)); if (exec->hadException()) return jsUndefined(); WebGLExtension* extension = context->getExtension(name); return toJS(exec, globalObject(), extension); }