Index: sky/engine/core/script/dart_loader.cc |
diff --git a/sky/engine/core/script/dart_loader.cc b/sky/engine/core/script/dart_loader.cc |
index d3d0bd44a9e5275ca15906914b9f04e5d5c408db..62a72ea0bcce5fdf92917fc7e631448db01ced12 100644 |
--- a/sky/engine/core/script/dart_loader.cc |
+++ b/sky/engine/core/script/dart_loader.cc |
@@ -26,7 +26,7 @@ Dart_Handle CanonicalizeURL(DartState* state, |
Dart_Handle library, |
Dart_Handle url) { |
String string = StringFromDart(url); |
- if (string.startsWith("dart:")) |
+ if (string.startsWith("dart:") || string.startsWith("mojo:")) |
return url; |
// TODO(dart): Figure out how 'package:' should work in sky. |
if (string.startsWith("package:")) { |
@@ -194,6 +194,14 @@ Dart_Handle DartLoader::HandleLibraryTag(Dart_LibraryTag tag, |
return CanonicalizeURL(DartState::Current(), library, url); |
if (tag == Dart_kImportTag) { |
CHECK(WTF::isMainThread()); |
+ |
+ String string = StringFromDart(url); |
+ if (string.startsWith("mojo:")) { |
+ Dart_Handle mojo_library = Dart_LookupLibrary(url); |
+ LogIfError(mojo_library); |
+ return mojo_library; |
+ } |
+ |
return DOMDartState::Current()->loader().Import(library, url); |
} |
if (tag == Dart_kSourceTag) { |