| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library builtin; | 5 library builtin; |
| 6 // NOTE: Do not import 'dart:io' in builtin. | 6 // NOTE: Do not import 'dart:io' in builtin. |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 import 'dart:_internal'; | 9 import 'dart:_internal'; |
| 10 import 'dart:isolate'; | 10 import 'dart:isolate'; |
| (...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 684 if (tag == _Dart_kScriptTag) { | 684 if (tag == _Dart_kScriptTag) { |
| 685 resourceUri = _resolveScriptUri(uri); | 685 resourceUri = _resolveScriptUri(uri); |
| 686 uri = resourceUri.toString(); | 686 uri = resourceUri.toString(); |
| 687 } else { | 687 } else { |
| 688 resourceUri = Uri.parse(uri); | 688 resourceUri = Uri.parse(uri); |
| 689 } | 689 } |
| 690 _loadData(tag, uri, resourceUri, libraryUri); | 690 _loadData(tag, uri, resourceUri, libraryUri); |
| 691 } | 691 } |
| 692 | 692 |
| 693 | 693 |
| 694 // Embedder Entrypoint: | |
| 695 // Function called by standalone embedder to resolve uris when the VM requests | |
| 696 // Dart_kCanonicalizeUrl from the tag handler. | |
| 697 String _resolveUri(String base, String userString) { | |
| 698 if (!_setupCompleted) { | |
| 699 _setupHooks(); | |
| 700 } | |
| 701 if (_traceLoading) { | |
| 702 _log('Resolving: $userString from $base'); | |
| 703 } | |
| 704 var baseUri = Uri.parse(base); | |
| 705 var result = baseUri.resolve(userString).toString(); | |
| 706 if (_traceLoading) { | |
| 707 _log('Resolved $userString in $base to $result'); | |
| 708 } | |
| 709 return result; | |
| 710 } | |
| 711 | |
| 712 | |
| 713 // Handling of access to the package root or package map from user code. | 694 // Handling of access to the package root or package map from user code. |
| 714 _triggerPackageResolution(action) { | 695 _triggerPackageResolution(action) { |
| 715 if (_packagesReady) { | 696 if (_packagesReady) { |
| 716 // Packages are ready. Execute the action now. | 697 // Packages are ready. Execute the action now. |
| 717 action(); | 698 action(); |
| 718 } else { | 699 } else { |
| 719 if (_pendingPackageLoads.isEmpty) { | 700 if (_pendingPackageLoads.isEmpty) { |
| 720 // Package resolution has not been setup yet, and this is the first | 701 // Package resolution has not been setup yet, and this is the first |
| 721 // request for package resolution & loading. | 702 // request for package resolution & loading. |
| 722 _requestPackagesMap(); | 703 _requestPackagesMap(); |
| (...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 872 | 853 |
| 873 // Register callbacks and hooks with the rest of the core libraries. | 854 // Register callbacks and hooks with the rest of the core libraries. |
| 874 _setupHooks() { | 855 _setupHooks() { |
| 875 _setupCompleted = true; | 856 _setupCompleted = true; |
| 876 VMLibraryHooks.resourceReadAsBytes = _resourceReadAsBytes; | 857 VMLibraryHooks.resourceReadAsBytes = _resourceReadAsBytes; |
| 877 | 858 |
| 878 VMLibraryHooks.packageRootUriFuture = _getPackageRootFuture; | 859 VMLibraryHooks.packageRootUriFuture = _getPackageRootFuture; |
| 879 VMLibraryHooks.packageConfigUriFuture = _getPackageConfigFuture; | 860 VMLibraryHooks.packageConfigUriFuture = _getPackageConfigFuture; |
| 880 VMLibraryHooks.resolvePackageUriFuture = _resolvePackageUriFuture; | 861 VMLibraryHooks.resolvePackageUriFuture = _resolvePackageUriFuture; |
| 881 } | 862 } |
| OLD | NEW |