JSValue jsConsoleMemory(ExecState* exec, JSValue slotBase, const Identifier&) { JSConsole* castedThis = static_cast<JSConsole*>(asObject(slotBase)); UNUSED_PARAM(exec); Console* imp = static_cast<Console*>(castedThis->impl()); JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->memory())); return result; }
EncodedJSValue JSC_HOST_CALL jsConsolePrototypeFunctionProfileEnd(ExecState* exec) { JSValue thisValue = exec->hostThisValue(); if (!thisValue.inherits(&JSConsole::s_info)) return throwVMTypeError(exec); JSConsole* castedThis = static_cast<JSConsole*>(asObject(thisValue)); return JSValue::encode(castedThis->profileEnd(exec)); }
bool JSConsoleOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSConsole* jsConsole = static_cast<JSConsole*>(handle.get().asCell()); if (!isObservable(jsConsole)) return false; Frame* root = jsConsole->impl()->frame(); if (!root) return false; return visitor.containsOpaqueRoot(root); }
EncodedJSValue JSC_HOST_CALL jsConsolePrototypeFunctionGroupEnd(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()); imp->groupEnd(); return JSValue::encode(jsUndefined()); }
JSValue JSC_HOST_CALL jsConsolePrototypeFunctionGroupEnd(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()); imp->groupEnd(); return jsUndefined(); }
JSValue JSC_HOST_CALL jsConsolePrototypeFunctionTime(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()); const UString& title = valueToStringWithUndefinedOrNullCheck(exec, args.at(0)); imp->time(title); return jsUndefined(); }
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 jsConsolePrototypeFunctionGroupCollapsed(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, 0)); size_t maxStackSize = imp->shouldCaptureFullStackTrace() ? ScriptCallStack::maxCallStackSizeToCapture : 1; RefPtr<ScriptCallStack> callStack(createScriptCallStack(exec, maxStackSize)); imp->groupCollapsed(scriptArguments, callStack); return JSValue::encode(jsUndefined()); }
EncodedJSValue JSC_HOST_CALL jsConsolePrototypeFunctionTime(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()); const String& title(valueToStringWithUndefinedOrNullCheck(exec, exec->argument(0))); if (exec->hadException()) return JSValue::encode(jsUndefined()); imp->time(title); return JSValue::encode(jsUndefined()); }
EncodedJSValue JSC_HOST_CALL jsConsolePrototypeFunctionDebug(ExecState* exec) { JSValue thisValue = exec->hostThisValue(); JSConsole* castedThis = static_cast<JSConsole*>(asObject(thisValue)); Console* imp = static_cast<Console*>(castedThis->impl()); unsigned count = exec->argumentCount(); Vector<NPVariant, 8> cArgs(count); unsigned i; for (i = 0; i < count; i++) JSC::Bindings::convertValueToNPVariant(exec, exec->argument(i), &cArgs[i]); // Invoke the 'C' method. bool retval = true; NPVariant resultVariant; VOID_TO_NPVARIANT(resultVariant); { JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly); //ASSERT(JSC::Bindings::globalExceptionString().isNull()); NPInvokeFunctionPtr ptr = (NPInvokeFunctionPtr)(imp->frame()->page()->chrome()->client()->getJavascriptCallCppCallback()); retval = ptr(0, 0, cArgs.data(), count, &resultVariant); //CInstance::moveGlobalExceptionToExecState(exec); } if (!retval) throwError(exec, createError(exec, "Error calling method on NPObject.")); for (i = 0; i < count; i++) _NPN_ReleaseVariantValue(&cArgs[i]); JSValue resultValue = JSC::Bindings::convertNPVariantToValue(exec, &resultVariant, 0); _NPN_ReleaseVariantValue(&resultVariant); return resultValue; // 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, 0)); // size_t maxStackSize = imp->shouldCaptureFullStackTrace() ? ScriptCallStack::maxCallStackSizeToCapture : 1; // RefPtr<ScriptCallStack> callStack(createScriptCallStack(exec, maxStackSize)); // // imp->debug(scriptArguments, callStack); // return JSValue::encode(jsUndefined()); }
EncodedJSValue JSC_HOST_CALL jsConsolePrototypeFunctionTimeEnd(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)); const String& title(valueToStringWithUndefinedOrNullCheck(exec, exec->argument(0))); if (exec->hadException()) return JSValue::encode(jsUndefined()); imp->timeEnd(title, scriptArguments, callStack); return JSValue::encode(jsUndefined()); }
void JSConsoleOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSConsole* jsConsole = static_cast<JSConsole*>(handle.get().asCell()); DOMWrapperWorld* world = static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, jsConsole->impl(), jsConsole); }
JSValue jsConsoleProfiles(ExecState* exec, JSValue slotBase, const Identifier&) { JSConsole* castedThis = static_cast<JSConsole*>(asObject(slotBase)); return castedThis->profiles(exec); }