Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1251)

Side by Side Diff: third_party/WebKit/Source/bindings/core/v8/V8ThrowException.h

Issue 2834463002: Move CreateDOMException out of V8ThrowException (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution. 11 * documentation and/or other materials provided with the distribution.
12 * 12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND 13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 15 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16 * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR 16 * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
17 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 17 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 19 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
20 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 20 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
21 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 21 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
22 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 */ 23 */
24 24
25 #ifndef V8ThrowException_h 25 #ifndef V8ThrowException_h
26 #define V8ThrowException_h 26 #define V8ThrowException_h
27 27
28 #include "core/CoreExport.h" 28 #include "core/CoreExport.h"
29 #include "core/dom/ExceptionCode.h"
30 #include "platform/wtf/Allocator.h" 29 #include "platform/wtf/Allocator.h"
31 #include "platform/wtf/text/WTFString.h" 30 #include "platform/wtf/text/WTFString.h"
32 #include "v8/include/v8.h" 31 #include "v8/include/v8.h"
33 32
34 namespace blink { 33 namespace blink {
35 34
36 // Provides utility functions to create and/or throw a V8 exception. 35 // Provides utility functions to create and/or throw a V8 exception.
37 // Mostly a set of wrapper functions for v8::Exception class. 36 // Mostly a set of wrapper functions for v8::Exception class.
haraken 2017/04/19 22:15:10 Reword a class-level comment. V8ThrowException is
38 class CORE_EXPORT V8ThrowException { 37 class CORE_EXPORT V8ThrowException {
39 STATIC_ONLY(V8ThrowException); 38 STATIC_ONLY(V8ThrowException);
40 39
41 public: 40 public:
42 // Creates and returns an exception object, or returns an empty handle if
43 // failed. |unsanitizedMessage| should not be specified unless it's
44 // SecurityError.
45 static v8::Local<v8::Value> CreateDOMException(
46 v8::Isolate*,
47 ExceptionCode,
48 const String& sanitized_message,
49 const String& unsanitized_message = String());
50 41
51 static void ThrowException(v8::Isolate* isolate, 42 static void ThrowException(v8::Isolate* isolate,
52 v8::Local<v8::Value> exception) { 43 v8::Local<v8::Value> exception) {
53 if (!isolate->IsExecutionTerminating()) 44 if (!isolate->IsExecutionTerminating())
54 isolate->ThrowException(exception); 45 isolate->ThrowException(exception);
55 } 46 }
56 47
57 static v8::Local<v8::Value> CreateError(v8::Isolate*, const String& message); 48 static v8::Local<v8::Value> CreateError(v8::Isolate*, const String& message);
58 static v8::Local<v8::Value> CreateRangeError(v8::Isolate*, 49 static v8::Local<v8::Value> CreateRangeError(v8::Isolate*,
59 const String& message); 50 const String& message);
60 static v8::Local<v8::Value> CreateReferenceError(v8::Isolate*, 51 static v8::Local<v8::Value> CreateReferenceError(v8::Isolate*,
61 const String& message); 52 const String& message);
62 static v8::Local<v8::Value> CreateSyntaxError(v8::Isolate*, 53 static v8::Local<v8::Value> CreateSyntaxError(v8::Isolate*,
63 const String& message); 54 const String& message);
64 static v8::Local<v8::Value> CreateTypeError(v8::Isolate*, 55 static v8::Local<v8::Value> CreateTypeError(v8::Isolate*,
65 const String& message); 56 const String& message);
66 57
67 static void ThrowError(v8::Isolate*, const String& message); 58 static void ThrowError(v8::Isolate*, const String& message);
68 static void ThrowRangeError(v8::Isolate*, const String& message); 59 static void ThrowRangeError(v8::Isolate*, const String& message);
69 static void ThrowReferenceError(v8::Isolate*, const String& message); 60 static void ThrowReferenceError(v8::Isolate*, const String& message);
70 static void ThrowSyntaxError(v8::Isolate*, const String& message); 61 static void ThrowSyntaxError(v8::Isolate*, const String& message);
71 static void ThrowTypeError(v8::Isolate*, const String& message); 62 static void ThrowTypeError(v8::Isolate*, const String& message);
72 }; 63 };
73 64
74 } // namespace blink 65 } // namespace blink
75 66
76 #endif // V8ThrowException_h 67 #endif // V8ThrowException_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698