OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 context.directory.manager; | 5 library context.directory.manager; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'dart:collection'; | 8 import 'dart:collection'; |
9 import 'dart:convert'; | 9 import 'dart:convert'; |
10 import 'dart:core' hide Resource; | 10 import 'dart:core' hide Resource; |
(...skipping 899 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
910 // If there is no embedded URI resolver, a new source factory needs to | 910 // If there is no embedded URI resolver, a new source factory needs to |
911 // be recreated. | 911 // be recreated. |
912 if (sourceFactory is SourceFactoryImpl) { | 912 if (sourceFactory is SourceFactoryImpl) { |
913 if (!sourceFactory.resolvers | 913 if (!sourceFactory.resolvers |
914 .any((UriResolver r) => r is EmbedderUriResolver)) { | 914 .any((UriResolver r) => r is EmbedderUriResolver)) { |
915 // Get all but the dart: Uri resolver. | 915 // Get all but the dart: Uri resolver. |
916 List<UriResolver> resolvers = sourceFactory.resolvers | 916 List<UriResolver> resolvers = sourceFactory.resolvers |
917 .where((r) => r is! DartUriResolver) | 917 .where((r) => r is! DartUriResolver) |
918 .toList(); | 918 .toList(); |
919 // Add an embedded URI resolver in its place. | 919 // Add an embedded URI resolver in its place. |
920 resolvers.add(new EmbedderUriResolver(embedderYamls)); | 920 resolvers |
| 921 .add(new EmbedderUriResolver(new EmbedderSdk(embedderYamls))); |
921 | 922 |
922 // Set a new source factory. | 923 // Set a new source factory. |
923 SourceFactoryImpl newFactory = sourceFactory.clone(); | 924 SourceFactoryImpl newFactory = sourceFactory.clone(); |
924 newFactory.resolvers.clear(); | 925 newFactory.resolvers.clear(); |
925 newFactory.resolvers.addAll(resolvers); | 926 newFactory.resolvers.addAll(resolvers); |
926 info.context.sourceFactory = newFactory; | 927 info.context.sourceFactory = newFactory; |
927 return; | 928 return; |
928 } | 929 } |
929 } | 930 } |
930 } | 931 } |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1167 disposition.createPackageUriResolvers(resourceProvider); | 1168 disposition.createPackageUriResolvers(resourceProvider); |
1168 | 1169 |
1169 EmbedderUriResolver embedderUriResolver; | 1170 EmbedderUriResolver embedderUriResolver; |
1170 | 1171 |
1171 // First check for a resolver provider. | 1172 // First check for a resolver provider. |
1172 if (embeddedUriResolverProvider != null) { | 1173 if (embeddedUriResolverProvider != null) { |
1173 embedderUriResolver = embeddedUriResolverProvider(folder); | 1174 embedderUriResolver = embeddedUriResolverProvider(folder); |
1174 } | 1175 } |
1175 | 1176 |
1176 // If no embedded URI resolver was provided, defer to a locator-backed one. | 1177 // If no embedded URI resolver was provided, defer to a locator-backed one. |
1177 embedderUriResolver ??= | 1178 embedderUriResolver ??= new EmbedderUriResolver( |
1178 new EmbedderUriResolver(context.embedderYamlLocator.embedderYamls); | 1179 new EmbedderSdk(context.embedderYamlLocator.embedderYamls)); |
1179 if (embedderUriResolver.length == 0) { | 1180 if (embedderUriResolver.length == 0) { |
1180 // The embedder uri resolver has no mappings. Use the default Dart SDK | 1181 // The embedder uri resolver has no mappings. Use the default Dart SDK |
1181 // uri resolver. | 1182 // uri resolver. |
1182 resolvers.add(new DartUriResolver(sdkManager.getSdkForOptions(options))); | 1183 resolvers.add(new DartUriResolver(sdkManager.getSdkForOptions(options))); |
1183 } else { | 1184 } else { |
1184 // The embedder uri resolver has mappings, use it instead of the default | 1185 // The embedder uri resolver has mappings, use it instead of the default |
1185 // Dart SDK uri resolver. | 1186 // Dart SDK uri resolver. |
1186 resolvers.add(embedderUriResolver); | 1187 resolvers.add(embedderUriResolver); |
1187 } | 1188 } |
1188 | 1189 |
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1834 ResourceProvider resourceProvider) { | 1835 ResourceProvider resourceProvider) { |
1835 if (packages != null) { | 1836 if (packages != null) { |
1836 // Construct package map for the SdkExtUriResolver. | 1837 // Construct package map for the SdkExtUriResolver. |
1837 Map<String, List<Folder>> packageMap = buildPackageMap(resourceProvider); | 1838 Map<String, List<Folder>> packageMap = buildPackageMap(resourceProvider); |
1838 return <UriResolver>[new SdkExtUriResolver(packageMap)]; | 1839 return <UriResolver>[new SdkExtUriResolver(packageMap)]; |
1839 } else { | 1840 } else { |
1840 return const <UriResolver>[]; | 1841 return const <UriResolver>[]; |
1841 } | 1842 } |
1842 } | 1843 } |
1843 } | 1844 } |
OLD | NEW |