diff --git a/engine/core/script/dart_controller.cc b/engine/core/script/dart_controller.cc index 2a05e58855233c32072551cf6226ece0e1de2935..dc7ce4c78a63d901d5517e4a7b55e984c7671a8d 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 0000000000000000000000000000000000000000..7ef22e9a431ad0272713b71fdc8794016c8ef12f --- /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 0000000000000000000000000000000000000000..7d751e516dca32b0e303735a73d66d78624ed697 --- /dev/null +++ b/tests/dart/mirror-system.sky @@ -0,0 +1,14 @@ +>