diff --git a/engine/core/script/dart_controller.cc b/engine/core/script/dart_controller.cc index 2a05e588552..dc7ce4c78a6 100644 --- a/engine/core/script/dart_controller.cc +++ b/engine/core/script/dart_controller.cc @@ -204,6 +204,10 @@ static Dart_Isolate IsolateCreateCallback(const char* script_uri, DartApiScope apiScope; Builtin::SetNativeResolver(Builtin::kBuiltinLibrary); Builtin::SetNativeResolver(Builtin::kMojoInternalLibrary); + + // Ensure the isolate has a root library. + Dart_LoadScript(Dart_NewStringFromCString("dart:empty"), + Dart_NewStringFromCString(""), 0, 0); } Dart_ExitIsolate(); @@ -273,6 +277,10 @@ void DartController::CreateIsolateFor(Document* document) { { DartApiScope apiScope; + // Ensure the isolate has a root library. + Dart_LoadScript(Dart_NewStringFromCString("dart:empty"), + Dart_NewStringFromCString(""), 0, 0); + Builtin::SetNativeResolver(Builtin::kBuiltinLibrary); Builtin::SetNativeResolver(Builtin::kMojoInternalLibrary); BuiltinNatives::Init(); diff --git a/tests/dart/mirror-system-expected.txt b/tests/dart/mirror-system-expected.txt new file mode 100644 index 00000000000..7ef22e9a431 --- /dev/null +++ b/tests/dart/mirror-system-expected.txt @@ -0,0 +1 @@ +PASS diff --git a/tests/dart/mirror-system.sky b/tests/dart/mirror-system.sky new file mode 100644 index 00000000000..7d751e516dc --- /dev/null +++ b/tests/dart/mirror-system.sky @@ -0,0 +1,14 @@ +>