v8::Handle<v8::Value> V8Console::assertCallback(const v8::Arguments& args) { INC_STATS("DOM.Console.assertCallback"); Console* imp = V8Console::toNative(args.Holder()); bool condition = args[0]->BooleanValue(); RefPtr<ScriptArguments> scriptArguments(createScriptArguments(args, 1)); imp->assertCondition(ScriptState::current(), scriptArguments.release(), condition); return v8Undefined(); }
v8::Handle<v8::Value> V8Console::assertCallback(const v8::Arguments& args) { INC_STATS("DOM.Console.assertCallback"); Console* imp = V8Console::toNative(args.Holder()); OwnPtr<ScriptCallStack> callStack(ScriptCallStack::create(args, 1, ScriptCallStack::maxCallStackSizeToCapture)); bool condition = args[0]->BooleanValue(); imp->assertCondition(condition, callStack.get()); return v8::Handle<v8::Value>(); }
JSValue JSC_HOST_CALL jsConsolePrototypeFunctionAssert(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) { UNUSED_PARAM(args); if (!thisValue.inherits(&JSConsole::s_info)) return throwError(exec, TypeError); JSConsole* castedThisObj = static_cast<JSConsole*>(asObject(thisValue)); Console* imp = static_cast<Console*>(castedThisObj->impl()); ScriptCallStack callStack(exec, args, 1); bool condition = args.at(0).toBoolean(exec); imp->assertCondition(condition, &callStack); return jsUndefined(); }
EncodedJSValue JSC_HOST_CALL jsConsolePrototypeFunctionAssert(ExecState* exec) { JSValue thisValue = exec->hostThisValue(); if (!thisValue.inherits(&JSConsole::s_info)) return throwVMTypeError(exec); JSConsole* castedThis = static_cast<JSConsole*>(asObject(thisValue)); Console* imp = static_cast<Console*>(castedThis->impl()); RefPtr<ScriptArguments> scriptArguments(createScriptArguments(exec, 1)); size_t maxStackSize = imp->shouldCaptureFullStackTrace() ? ScriptCallStack::maxCallStackSizeToCapture : 1; RefPtr<ScriptCallStack> callStack(createScriptCallStack(exec, maxStackSize)); bool condition(exec->argument(0).toBoolean(exec)); if (exec->hadException()) return JSValue::encode(jsUndefined()); imp->assertCondition(condition, scriptArguments, callStack); return JSValue::encode(jsUndefined()); }