@@ -26,6 +26,7 @@ extern DFE dfe;
2626#endif
2727
2828// Keep in sync with loader.dart.
29+ static const intptr_t _Dart_kInitLoader = 4 ;
2930static const intptr_t _Dart_kImportExtension = 9 ;
3031static const intptr_t _Dart_kResolveAsFilePath = 10 ;
3132
@@ -136,9 +137,6 @@ void Loader::Init(const char* package_root,
136137 Dart_Port loader_port = Builtin::LoadPort ();
137138 ASSERT (loader_port != ILLEGAL_PORT);
138139
139- // Keep in sync with loader.dart.
140- const intptr_t _Dart_kInitLoader = 4 ;
141-
142140 Dart_Handle request = Dart_NewList (9 );
143141 Dart_ListSetAt (request, 0 , trace_loader ? Dart_True () : Dart_False ());
144142 Dart_ListSetAt (request, 1 , Dart_NewInteger (Dart_GetMainPortId ()));
@@ -552,12 +550,6 @@ Dart_Handle Loader::SendAndProcessReply(intptr_t tag,
552550 return Dart_Null ();
553551}
554552
555- Dart_Handle Loader::LoadUrlContents (Dart_Handle url,
556- uint8_t ** payload,
557- intptr_t * payload_length) {
558- return SendAndProcessReply (Dart_kScriptTag, url, payload, payload_length);
559- }
560-
561553Dart_Handle Loader::ResolveAsFilePath (Dart_Handle url,
562554 uint8_t ** payload,
563555 intptr_t * payload_length) {
@@ -575,14 +567,6 @@ Dart_Handle Loader::LibraryTagHandler(Dart_LibraryTag tag,
575567 Dart_Handle url) {
576568 return Dart_Null ();
577569}
578-
579- Dart_Handle Loader::DartColonLibraryTagHandler (Dart_LibraryTag tag,
580- Dart_Handle library,
581- Dart_Handle url,
582- const char * library_url_string,
583- const char * url_string) {
584- return Dart_Null ();
585- }
586570#else
587571static void MallocFinalizer (void * isolate_callback_data,
588572 Dart_WeakPersistentHandle handle,
@@ -593,18 +577,28 @@ static void MallocFinalizer(void* isolate_callback_data,
593577Dart_Handle Loader::LibraryTagHandler (Dart_LibraryTag tag,
594578 Dart_Handle library,
595579 Dart_Handle url) {
580+ const char * url_string = NULL ;
581+ Dart_Handle result = Dart_StringToCString (url, &url_string);
582+ if (Dart_IsError (result)) {
583+ return result;
584+ }
596585 if (tag == Dart_kCanonicalizeUrl) {
597586 Dart_Handle library_url = Dart_LibraryUrl (library);
598587 if (Dart_IsError (library_url)) {
599588 return library_url;
600589 }
590+ const char * library_url_string = NULL ;
591+ result = Dart_StringToCString (library_url, &library_url_string);
592+ if (Dart_IsError (result)) {
593+ return result;
594+ }
595+ bool is_dart_scheme_url = DartUtils::IsDartSchemeURL (url_string);
596+ bool is_dart_library = DartUtils::IsDartSchemeURL (library_url_string);
597+ if (is_dart_scheme_url || is_dart_library) {
598+ return url;
599+ }
601600 return Dart_DefaultCanonicalizeUrl (library_url, url);
602601 }
603- const char * url_string = NULL ;
604- Dart_Handle result = Dart_StringToCString (url, &url_string);
605- if (Dart_IsError (result)) {
606- return result;
607- }
608602 if (tag == Dart_kKernelTag) {
609603 uint8_t * kernel_buffer = NULL ;
610604 intptr_t kernel_buffer_size = 0 ;
@@ -650,27 +644,6 @@ Dart_Handle Loader::LibraryTagHandler(Dart_LibraryTag tag,
650644 free (lib_path);
651645 return result;
652646 }
653- if (tag != Dart_kScriptTag) {
654- // Special case for handling dart: imports and parts.
655- // Grab the library's url.
656- Dart_Handle library_url = Dart_LibraryUrl (library);
657- if (Dart_IsError (library_url)) {
658- return library_url;
659- }
660- const char * library_url_string = NULL ;
661- result = Dart_StringToCString (library_url, &library_url_string);
662- if (Dart_IsError (result)) {
663- return result;
664- }
665-
666- bool is_dart_scheme_url = DartUtils::IsDartSchemeURL (url_string);
667- bool is_dart_library = DartUtils::IsDartSchemeURL (library_url_string);
668-
669- if (is_dart_scheme_url || is_dart_library) {
670- return DartColonLibraryTagHandler (tag, library, url, library_url_string,
671- url_string);
672- }
673- }
674647 if (DartUtils::IsDartExtensionSchemeURL (url_string)) {
675648 // Handle early error cases for dart-ext: imports.
676649 if (tag != Dart_kImportTag) {
@@ -685,15 +658,7 @@ Dart_Handle Loader::LibraryTagHandler(Dart_LibraryTag tag,
685658
686659 auto isolate_data = reinterpret_cast <IsolateData*>(Dart_CurrentIsolateData ());
687660 ASSERT (isolate_data != NULL );
688- if ((tag == Dart_kScriptTag) && Dart_IsString (library)) {
689- // Update packages file for isolate.
690- const char * packages_file = NULL ;
691- Dart_Handle result = Dart_StringToCString (library, &packages_file);
692- if (Dart_IsError (result)) {
693- return result;
694- }
695- isolate_data->UpdatePackagesFile (packages_file);
696- }
661+
697662 // Grab this isolate's loader.
698663 Loader* loader = NULL ;
699664
@@ -712,10 +677,8 @@ Dart_Handle Loader::LibraryTagHandler(Dart_LibraryTag tag,
712677 loader = new Loader (isolate_data);
713678 loader->Init (isolate_data->isolate_group_data ()->package_root ,
714679 isolate_data->packages_file (),
715- DartUtils::original_working_directory,
716- (tag == Dart_kScriptTag) ? url_string : NULL );
680+ DartUtils::original_working_directory, NULL );
717681 } else {
718- ASSERT (tag != Dart_kScriptTag);
719682 // The isolate has a loader -- this is an inner invocation that will queue
720683 // work with the service isolate.
721684 // Use the existing loader.
@@ -793,21 +756,6 @@ Dart_Handle Loader::LibraryTagHandler(Dart_LibraryTag tag,
793756 }
794757 return Dart_Null ();
795758}
796-
797- Dart_Handle Loader::DartColonLibraryTagHandler (Dart_LibraryTag tag,
798- Dart_Handle library,
799- Dart_Handle url,
800- const char * library_url_string,
801- const char * url_string) {
802- // Handle canonicalization, 'import' and 'part' of 'dart:' libraries.
803- if (tag == Dart_kCanonicalizeUrl) {
804- // These will be handled internally.
805- return url;
806- }
807- // All cases should have been handled above.
808- UNREACHABLE ();
809- return Dart_Null ();
810- }
811759#endif // !defined(DART_PRECOMPILED_RUNTIME)
812760
813761void Loader::InitOnce () {
0 commit comments