Merge from Chromium at DEPS revision 237746

This commit was generated by merge_to_master.py.

Change-Id: Ia99affe6e2cf9342843aa38fa1d75355fd5c71f7
diff --git a/Source/bindings/v8/ExceptionState.h b/Source/bindings/v8/ExceptionState.h
index d83b77d..576d370 100644
--- a/Source/bindings/v8/ExceptionState.h
+++ b/Source/bindings/v8/ExceptionState.h
@@ -44,11 +44,12 @@
 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 @@
     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;