| 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 |