| Index: third_party/WebKit/Source/bindings/core/v8/V8ThrowException.cpp
|
| diff --git a/third_party/WebKit/Source/bindings/core/v8/V8ThrowException.cpp b/third_party/WebKit/Source/bindings/core/v8/V8ThrowException.cpp
|
| index befb07846c5871a6241402a554ed3bc993aca5ad..485b3596487f21a697365de004020d0622193e26 100644
|
| --- a/third_party/WebKit/Source/bindings/core/v8/V8ThrowException.cpp
|
| +++ b/third_party/WebKit/Source/bindings/core/v8/V8ThrowException.cpp
|
| @@ -24,84 +24,10 @@
|
|
|
| #include "bindings/core/v8/V8ThrowException.h"
|
|
|
| -#include "bindings/core/v8/BindingSecurity.h"
|
| #include "bindings/core/v8/V8Binding.h"
|
| -#include "bindings/core/v8/V8DOMException.h"
|
| -#include "bindings/core/v8/V8PrivateProperty.h"
|
| -#include "core/dom/DOMException.h"
|
| -#include "core/dom/ExceptionCode.h"
|
|
|
| namespace blink {
|
|
|
| -namespace {
|
| -
|
| -void DomExceptionStackGetter(v8::Local<v8::Name> name,
|
| - const v8::PropertyCallbackInfo<v8::Value>& info) {
|
| - v8::Isolate* isolate = info.GetIsolate();
|
| - v8::Local<v8::Value> value;
|
| - if (info.Data()
|
| - .As<v8::Object>()
|
| - ->Get(isolate->GetCurrentContext(), V8AtomicString(isolate, "stack"))
|
| - .ToLocal(&value))
|
| - V8SetReturnValue(info, value);
|
| -}
|
| -
|
| -void DomExceptionStackSetter(v8::Local<v8::Name> name,
|
| - v8::Local<v8::Value> value,
|
| - const v8::PropertyCallbackInfo<void>& info) {
|
| - v8::Maybe<bool> unused = info.Data().As<v8::Object>()->Set(
|
| - info.GetIsolate()->GetCurrentContext(),
|
| - V8AtomicString(info.GetIsolate(), "stack"), value);
|
| - ALLOW_UNUSED_LOCAL(unused);
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -v8::Local<v8::Value> V8ThrowException::CreateDOMException(
|
| - v8::Isolate* isolate,
|
| - ExceptionCode exception_code,
|
| - const String& sanitized_message,
|
| - const String& unsanitized_message) {
|
| - DCHECK_GT(exception_code, 0);
|
| - DCHECK(exception_code == kSecurityError || unsanitized_message.IsNull());
|
| -
|
| - if (isolate->IsExecutionTerminating())
|
| - return v8::Local<v8::Value>();
|
| -
|
| - switch (exception_code) {
|
| - case kV8Error:
|
| - return CreateError(isolate, sanitized_message);
|
| - case kV8TypeError:
|
| - return CreateTypeError(isolate, sanitized_message);
|
| - case kV8RangeError:
|
| - return CreateRangeError(isolate, sanitized_message);
|
| - case kV8SyntaxError:
|
| - return CreateSyntaxError(isolate, sanitized_message);
|
| - case kV8ReferenceError:
|
| - return CreateReferenceError(isolate, sanitized_message);
|
| - }
|
| -
|
| - DOMException* dom_exception = DOMException::Create(
|
| - exception_code, sanitized_message, unsanitized_message);
|
| - v8::Local<v8::Object> exception_obj =
|
| - ToV8(dom_exception, isolate->GetCurrentContext()->Global(), isolate)
|
| - .As<v8::Object>();
|
| - // Attach an Error object to the DOMException. This is then lazily used to
|
| - // get the stack value.
|
| - v8::Local<v8::Value> error =
|
| - v8::Exception::Error(V8String(isolate, dom_exception->message()));
|
| - exception_obj
|
| - ->SetAccessor(isolate->GetCurrentContext(),
|
| - V8AtomicString(isolate, "stack"), DomExceptionStackGetter,
|
| - DomExceptionStackSetter, error)
|
| - .ToChecked();
|
| -
|
| - auto private_error = V8PrivateProperty::GetDOMExceptionError(isolate);
|
| - private_error.Set(exception_obj, error);
|
| -
|
| - return exception_obj;
|
| -}
|
| -
|
| #define DEFINE_CREATE_AND_THROW_ERROR_FUNC(blinkErrorType, v8ErrorType, \
|
| defaultMessage) \
|
| v8::Local<v8::Value> V8ThrowException::Create##blinkErrorType( \
|
|
|