diff --git a/lib/ui/dart_runtime_hooks.cc b/lib/ui/dart_runtime_hooks.cc index b1e64bcc0..5041b87c1 100644 --- a/lib/ui/dart_runtime_hooks.cc +++ b/lib/ui/dart_runtime_hooks.cc @@ -88,9 +88,9 @@ static void InitDartInternal(Dart_Handle builtin_library, bool is_ui_isolate) { } static void InitDartCore(Dart_Handle builtin, const std::string& script_uri) { - DART_CHECK_VALID( - Dart_SetField(builtin, ToDart("_baseURL"), ToDart(script_uri))); - Dart_Handle get_base_url = GetClosure(builtin, "_getGetBaseURLClosure"); + Dart_Handle io_lib = Dart_LookupLibrary(ToDart("dart:io")); + Dart_Handle get_base_url = + Dart_Invoke(io_lib, ToDart("_getUriBaseClosure"), 0, NULL); Dart_Handle core_library = Dart_LookupLibrary(ToDart("dart:core")); DART_CHECK_VALID( Dart_SetField(core_library, ToDart("_uriBaseClosure"), get_base_url)); diff --git a/lib/ui/natives.dart b/lib/ui/natives.dart index 380a44d1d..b5123099a 100644 --- a/lib/ui/natives.dart +++ b/lib/ui/natives.dart @@ -37,15 +37,11 @@ void _setupHooks() { void _scheduleMicrotask(void callback()) native 'ScheduleMicrotask'; -String _baseURL; -Uri _getBaseURL() => Uri.parse(_baseURL); - // Required for gen_snapshot to work correctly. int _isolateId; Function _getPrintClosure() => _print; Function _getScheduleMicrotaskClosure() => _scheduleMicrotask; -Function _getGetBaseURLClosure() => _getBaseURL; // Though the "main" symbol is not included in any of the libraries imported // above, the builtin library will be included manually during VM setup. This diff --git a/runtime/dart_vm_entry_points.txt b/runtime/dart_vm_entry_points.txt index edfae90cf..008272e3f 100644 --- a/runtime/dart_vm_entry_points.txt +++ b/runtime/dart_vm_entry_points.txt @@ -1,5 +1,6 @@ dart:_internal,::,_printClosure dart:async,::,_setScheduleImmediateClosure +dart:io,::,_getUriBaseClosure dart:io,::,_setupHooks dart:io,_Platform,_localeClosure dart:io,_Platform,set:_nativeScript @@ -11,8 +12,6 @@ dart:ui,::,_dispatchPlatformMessage dart:ui,::,_dispatchPointerDataPacket dart:ui,::,_dispatchSemanticsAction dart:ui,::,_drawFrame -dart:ui,::,_getGetBaseURLClosure -dart:ui,::,_baseURL dart:ui,::,_getLocaleClosure dart:ui,::,_getMainClosure dart:ui,::,_getPrintClosure