Inspector should display information about non-object exceptions
https://bugs.webkit.org/show_bug.cgi?id=114123
Reviewed by Adele Peterson.
Source/JavaScriptCore:
Make sure we store the right stack information, even when throwing
a primitive.
* interpreter/CallFrame.h:
(JSC::ExecState::clearSupplementaryExceptionInfo):
(ExecState):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::addStackTraceIfNecessary):
(JSC::Interpreter::throwException):
Source/WebCore:
Make use of the stack trace for line information when we're reporting
an exception
* bindings/js/JSDOMBinding.cpp:
(WebCore::reportException):
LayoutTests:
All these tests throw primitives as exceptions, and now they have source
and line number information
* fast/dom/exception-getting-event-handler-expected.txt:
* fast/dom/javascript-url-exception-isolation-expected.txt:
* fast/dom/nested-script-exceptions-expected.txt:
* fast/events/onerror-no-constructor-expected.txt:
* fast/events/window-onerror13-expected.txt:
* fast/events/window-onerror16-expected.txt:
* fast/events/window-onerror2-expected.txt:
* fast/events/window-onerror8-expected.txt:
* fast/js/uncaught-exception-line-number-expected.txt:
* fast/sub-pixel/inline-block-with-padding-expected.txt:
* platform/mac/fast/AppleScript/001-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/JavaScriptCore/interpreter/CallFrame.h b/Source/JavaScriptCore/interpreter/CallFrame.h
index 716115ba..746d334 100644
--- a/Source/JavaScriptCore/interpreter/CallFrame.h
+++ b/Source/JavaScriptCore/interpreter/CallFrame.h
@@ -68,6 +68,11 @@
// But they're used in many places in legacy code, so they're not going away any time soon.
void clearException() { globalData().exception = JSValue(); }
+ void clearSupplementaryExceptionInfo()
+ {
+ globalData().exceptionStack = RefCountedArray<StackFrame>();
+ }
+
JSValue exception() const { return globalData().exception; }
bool hadException() const { return globalData().exception; }