OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "sky/engine/config.h" | |
6 #include "sky/engine/tonic/dart_exception_factory.h" | |
7 | |
8 #include "sky/engine/tonic/dart_converter.h" | |
9 #include "sky/engine/tonic/dart_builtin.h" | |
10 | |
11 namespace blink { | |
12 | |
13 DartExceptionFactory::DartExceptionFactory(DartState* dart_state) | |
14 : dart_state_(dart_state) { | |
15 } | |
16 | |
17 DartExceptionFactory::~DartExceptionFactory() { | |
18 } | |
19 | |
20 Dart_Handle DartExceptionFactory::CreateException(const String& class_name, | |
21 const String& message) { | |
22 if (core_library_.is_empty()) { | |
23 Dart_Handle library = DartBuiltin::LookupLibrary("dart:core"); | |
24 core_library_.Set(dart_state_, library); | |
25 } | |
26 | |
27 Dart_Handle exception_class = Dart_GetType( | |
28 core_library_.value(), StringToDart(dart_state_, class_name), 0, 0); | |
29 Dart_Handle message_handle = StringToDart(dart_state_, message); | |
30 Dart_Handle empty_string = Dart_NewStringFromCString(""); | |
esprehn
2015/02/17 18:06:53
Do we want a shared per isolate empty string? Exce
abarth-chromium
2015/02/17 18:14:05
It looks like Dart_NewStringFromCString("") is rel
| |
31 return Dart_New(exception_class, empty_string, 1, &message_handle); | |
32 } | |
33 | |
34 } // namespace blink | |
OLD | NEW |