Index: Source/bindings/v8/ExceptionState.h |
diff --git a/Source/bindings/v8/ExceptionState.h b/Source/bindings/v8/ExceptionState.h |
index d83b77d4af87e19a4ca2d4075fe62dd47ad14c4e..576d370ee2553c3176ddb9e58bb33964d484633f 100644 |
--- a/Source/bindings/v8/ExceptionState.h |
+++ b/Source/bindings/v8/ExceptionState.h |
@@ -44,11 +44,12 @@ typedef int ExceptionCode; |
class ExceptionState { |
WTF_MAKE_NONCOPYABLE(ExceptionState); |
public: |
- explicit ExceptionState(v8::Isolate* isolate) |
+ explicit ExceptionState(const v8::Handle<v8::Object>& creationContext, v8::Isolate* isolate) |
: m_code(0) |
+ , m_creationContext(creationContext) |
, m_isolate(isolate) { } |
- virtual void throwDOMException(const ExceptionCode&, const String& message); |
+ virtual void throwDOMException(const ExceptionCode&, const String& message); |
virtual void throwTypeError(const String& message); |
virtual void throwSecurityError(const String& sanitizedMessage, const String& unsanitizedMessage = String()); |
@@ -80,12 +81,13 @@ private: |
void setException(v8::Handle<v8::Value>); |
ScopedPersistent<v8::Value> m_exception; |
+ v8::Handle<v8::Object> m_creationContext; |
v8::Isolate* m_isolate; |
}; |
class TrackExceptionState : public ExceptionState { |
public: |
- TrackExceptionState(): ExceptionState(0) { } |
+ TrackExceptionState(): ExceptionState(v8::Handle<v8::Object>(), 0) { } |
virtual void throwDOMException(const ExceptionCode&, const String& message) OVERRIDE FINAL; |
virtual void throwTypeError(const String& message = String()) OVERRIDE FINAL; |
virtual void throwSecurityError(const String& sanitizedMessage, const String& unsanitizedMessage = String()) OVERRIDE FINAL; |