Chromium Code Reviews| Index: runtime/bin/builtin.cc |
| diff --git a/runtime/bin/builtin.cc b/runtime/bin/builtin.cc |
| index 272976fed9b2d105baa7e24e4c6f28819c6b7e10..b0f6d1310c0b7c076bd8e605e5320441e7ec713d 100644 |
| --- a/runtime/bin/builtin.cc |
| +++ b/runtime/bin/builtin.cc |
| @@ -18,6 +18,20 @@ 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 }, |
| + { DartUtils::kHTMLLibURL, html_source_paths_, NULL, NULL, true }, |
|
siva
2016/04/25 23:38:31
Do is dart:html treated differently here with a de
Ivan Posva
2016/04/26 21:17:43
It does not need to be.
|
| + { "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 }, |
| + |
| + // End marker. |
| + { NULL, NULL, NULL, NULL, false } |
| }; |
| Dart_Port Builtin::load_port_ = ILLEGAL_PORT; |
| @@ -49,7 +63,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 +75,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 +111,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 +130,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); |