#include "ScriptCallStackFactory.h"
#include "CallFrame.h"
+#include "Exception.h"
#include "JSCJSValue.h"
#include "JSCInlines.h"
#include "ScriptArguments.h"
size_t m_remainingCapacityForFrameCapture;
};
-PassRefPtr<ScriptCallStack> createScriptCallStack(JSC::ExecState* exec, size_t maxStackSize)
+Ref<ScriptCallStack> createScriptCallStack(JSC::ExecState* exec, size_t maxStackSize)
{
if (!exec)
return ScriptCallStack::create();
return ScriptCallStack::create(frames);
}
-PassRefPtr<ScriptCallStack> createScriptCallStackForConsole(JSC::ExecState* exec, size_t maxStackSize)
+Ref<ScriptCallStack> createScriptCallStackForConsole(JSC::ExecState* exec, size_t maxStackSize)
{
if (!exec)
return ScriptCallStack::create();
static void extractSourceInformationFromException(JSC::ExecState* exec, JSObject* exceptionObject, int* lineNumber, int* columnNumber, String* sourceURL)
{
// FIXME: <http://webkit.org/b/115087> Web Inspector: Should not need to evaluate JavaScript handling exceptions
- JSValue lineValue = exceptionObject->getDirect(exec->vm(), Identifier(exec, "line"));
+ JSValue lineValue = exceptionObject->getDirect(exec->vm(), Identifier::fromString(exec, "line"));
*lineNumber = lineValue && lineValue.isNumber() ? int(lineValue.toNumber(exec)) : 0;
- JSValue columnValue = exceptionObject->getDirect(exec->vm(), Identifier(exec, "column"));
+ JSValue columnValue = exceptionObject->getDirect(exec->vm(), Identifier::fromString(exec, "column"));
*columnNumber = columnValue && columnValue.isNumber() ? int(columnValue.toNumber(exec)) : 0;
- JSValue sourceURLValue = exceptionObject->getDirect(exec->vm(), Identifier(exec, "sourceURL"));
- *sourceURL = sourceURLValue && sourceURLValue.isString() ? sourceURLValue.toString(exec)->value(exec) : String("undefined");
+ JSValue sourceURLValue = exceptionObject->getDirect(exec->vm(), Identifier::fromString(exec, "sourceURL"));
+ *sourceURL = sourceURLValue && sourceURLValue.isString() ? sourceURLValue.toString(exec)->value(exec) : ASCIILiteral("undefined");
exec->clearException();
}
-PassRefPtr<ScriptCallStack> createScriptCallStackFromException(JSC::ExecState* exec, JSC::JSValue& exception, size_t maxStackSize)
+Ref<ScriptCallStack> createScriptCallStackFromException(JSC::ExecState* exec, JSC::Exception* exception, size_t maxStackSize)
{
Vector<ScriptCallFrame> frames;
- RefCountedArray<StackFrame> stackTrace = exec->vm().exceptionStack();
+ RefCountedArray<StackFrame> stackTrace = exception->stack();
for (size_t i = 0; i < stackTrace.size() && i < maxStackSize; i++) {
unsigned line;
unsigned column;
}
// Fallback to getting at least the line and sourceURL from the exception object if it has values and the exceptionStack doesn't.
- JSObject* exceptionObject = exception.toObject(exec);
- if (exception.isObject()) {
+ if (exception->value().isObject()) {
+ JSObject* exceptionObject = exception->value().toObject(exec);
int lineNumber;
int columnNumber;
String exceptionSourceURL;
return ScriptCallStack::create(frames);
}
-PassRefPtr<ScriptArguments> createScriptArguments(JSC::ExecState* exec, unsigned skipArgumentCount)
+Ref<ScriptArguments> createScriptArguments(JSC::ExecState* exec, unsigned skipArgumentCount)
{
Vector<Deprecated::ScriptValue> arguments;
size_t argumentCount = exec->argumentCount();