OLD | NEW |
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 // This file has been moved to platform/bindings/V8ThrowException.h. |
26 #define V8ThrowException_h | 26 // TODO(adithyas): Remove this file. |
27 | 27 #include "platform/bindings/V8ThrowException.h" |
28 #include "core/CoreExport.h" | |
29 #include "platform/wtf/Allocator.h" | |
30 #include "platform/wtf/text/WTFString.h" | |
31 #include "v8/include/v8.h" | |
32 | |
33 namespace blink { | |
34 | |
35 // Provides utility functions to create and/or throw JS built-in errors. | |
36 class CORE_EXPORT V8ThrowException { | |
37 STATIC_ONLY(V8ThrowException); | |
38 | |
39 public: | |
40 | |
41 static void ThrowException(v8::Isolate* isolate, | |
42 v8::Local<v8::Value> exception) { | |
43 if (!isolate->IsExecutionTerminating()) | |
44 isolate->ThrowException(exception); | |
45 } | |
46 | |
47 static v8::Local<v8::Value> CreateError(v8::Isolate*, const String& message); | |
48 static v8::Local<v8::Value> CreateRangeError(v8::Isolate*, | |
49 const String& message); | |
50 static v8::Local<v8::Value> CreateReferenceError(v8::Isolate*, | |
51 const String& message); | |
52 static v8::Local<v8::Value> CreateSyntaxError(v8::Isolate*, | |
53 const String& message); | |
54 static v8::Local<v8::Value> CreateTypeError(v8::Isolate*, | |
55 const String& message); | |
56 | |
57 static void ThrowError(v8::Isolate*, const String& message); | |
58 static void ThrowRangeError(v8::Isolate*, const String& message); | |
59 static void ThrowReferenceError(v8::Isolate*, const String& message); | |
60 static void ThrowSyntaxError(v8::Isolate*, const String& message); | |
61 static void ThrowTypeError(v8::Isolate*, const String& message); | |
62 }; | |
63 | |
64 } // namespace blink | |
65 | |
66 #endif // V8ThrowException_h | |
OLD | NEW |