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

Unified Diff: runtime/bin/builtin.cc

Issue 1916793003: - Allow for loading dart:html and friends into the standalone (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Rebase. Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/bin/builtin.h ('k') | runtime/bin/builtin.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « runtime/bin/builtin.h ('k') | runtime/bin/builtin.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698