JSValue JSHTMLCanvasElement::supportsContext(ExecState* exec) { HTMLCanvasElement* canvas = static_cast<HTMLCanvasElement*>(impl()); if (!exec->argumentCount()) return jsBoolean(false); const String& contextId = exec->argument(0).toString(exec)->value(exec); if (exec->hadException()) return jsUndefined(); RefPtr<CanvasContextAttributes> attrs; #if ENABLE(WEBGL) if (HTMLCanvasElement::is3dType(contextId)) { get3DContextAttributes(exec, attrs); if (exec->hadException()) return jsUndefined(); } #endif return jsBoolean(canvas->supportsContext(contextId, attrs.get())); }