| Index: runtime/bin/builtin.cc
|
| diff --git a/runtime/bin/builtin.cc b/runtime/bin/builtin.cc
|
| index 272976fed9b2d105baa7e24e4c6f28819c6b7e10..62c79983447a3b984a66c5219c1a9965e240b605 100644
|
| --- a/runtime/bin/builtin.cc
|
| +++ b/runtime/bin/builtin.cc
|
| @@ -18,6 +18,24 @@ Builtin::builtin_lib_props Builtin::builtin_libraries_[] = {
|
| { DartUtils::kBuiltinLibURL, _builtin_source_paths_, NULL, NULL, true },
|
| { DartUtils::kIOLibURL, io_source_paths_,
|
| DartUtils::kIOLibPatchURL, io_patch_paths_, true },
|
| +
|
| +#if defined(DART_NO_SNAPSHOT)
|
| + // Only include these libraries in the dart_bootstrap case for now.
|
| + { "dart:html", html_source_paths_, NULL, NULL, true },
|
| + { "dart:html_common", html_common_source_paths_, NULL, NULL, true},
|
| + { "dart:js", js_source_paths_, NULL, NULL, true},
|
| + { "dart:_blink", blink_source_paths_, NULL, NULL, true },
|
| + { "dart:indexed_db", indexeddb_source_paths_, NULL, NULL, true },
|
| + { "cached_patches.dart", cached_patches_source_paths_, NULL, NULL, true },
|
| + { "dart:web_gl", web_gl_source_paths_, NULL, NULL, true },
|
| + { "metadata.dart", metadata_source_paths_, NULL, NULL, true },
|
| + { "dart:web_sql", websql_source_paths_, NULL, NULL, true },
|
| + { "dart:svg", svg_source_paths_, NULL, NULL, true },
|
| + { "dart:web_audio", webaudio_source_paths_, NULL, NULL, true },
|
| +#endif // defined(DART_NO_SNAPSHOT)
|
| +
|
| + // End marker.
|
| + { NULL, NULL, NULL, NULL, false }
|
| };
|
|
|
| Dart_Port Builtin::load_port_ = ILLEGAL_PORT;
|
| @@ -49,7 +67,7 @@ static void LoadPatchFiles(Dart_Handle library,
|
|
|
| Dart_Handle Builtin::Source(BuiltinLibraryId id) {
|
| ASSERT((sizeof(builtin_libraries_) / sizeof(builtin_lib_props)) ==
|
| - kInvalidLibrary);
|
| + kInvalidLibrary + 1);
|
| ASSERT(id >= kBuiltinLibrary && id < kInvalidLibrary);
|
|
|
| // Try to read the source using the path specified for the uri.
|
| @@ -61,7 +79,7 @@ Dart_Handle Builtin::Source(BuiltinLibraryId id) {
|
|
|
| Dart_Handle Builtin::PartSource(BuiltinLibraryId id, const char* part_uri) {
|
| ASSERT((sizeof(builtin_libraries_) / sizeof(builtin_lib_props)) ==
|
| - kInvalidLibrary);
|
| + kInvalidLibrary + 1);
|
| ASSERT(id >= kBuiltinLibrary && id < kInvalidLibrary);
|
|
|
| // Try to read the source using the path specified for the uri.
|
| @@ -97,6 +115,9 @@ void Builtin::SetNativeResolver(BuiltinLibraryId id) {
|
|
|
|
|
| Dart_Handle Builtin::LoadLibrary(Dart_Handle url, BuiltinLibraryId id) {
|
| + ASSERT(static_cast<int>(id) >= 0);
|
| + ASSERT(static_cast<int>(id) < kInvalidLibrary);
|
| +
|
| Dart_Handle library = Dart_LoadLibrary(url, Source(id), 0, 0);
|
| if (!Dart_IsError(library) && (builtin_libraries_[id].has_natives_)) {
|
| // Setup the native resolver for built in library functions.
|
| @@ -113,9 +134,23 @@ Dart_Handle Builtin::LoadLibrary(Dart_Handle url, BuiltinLibraryId id) {
|
| }
|
|
|
|
|
| +Builtin::BuiltinLibraryId Builtin::FindId(const char* url_string) {
|
| + int id = 0;
|
| + while (true) {
|
| + if (builtin_libraries_[id].url_ == NULL) {
|
| + return kInvalidLibrary;
|
| + }
|
| + if (strcmp(url_string, builtin_libraries_[id].url_) == 0) {
|
| + return static_cast<BuiltinLibraryId>(id);
|
| + }
|
| + id++;
|
| + }
|
| +}
|
| +
|
| +
|
| Dart_Handle Builtin::LoadAndCheckLibrary(BuiltinLibraryId id) {
|
| ASSERT((sizeof(builtin_libraries_) / sizeof(builtin_lib_props)) ==
|
| - kInvalidLibrary);
|
| + kInvalidLibrary + 1);
|
| ASSERT(id >= kBuiltinLibrary && id < kInvalidLibrary);
|
| Dart_Handle url = DartUtils::NewString(builtin_libraries_[id].url_);
|
| Dart_Handle library = Dart_LookupLibrary(url);
|
|
|