| Index: pkg/analysis_server/lib/src/context_manager.dart | 
| diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart | 
| index 630da7d205e5e0421589ae9d2bd72060e90c1fa0..b610510c21bcc504e473043dc72fd2461c3a768d 100644 | 
| --- a/pkg/analysis_server/lib/src/context_manager.dart | 
| +++ b/pkg/analysis_server/lib/src/context_manager.dart | 
| @@ -901,22 +901,19 @@ class ContextManagerImpl implements ContextManager { | 
| // If there is no embedded URI resolver, a new source factory needs to | 
| // be recreated. | 
| if (sourceFactory is SourceFactoryImpl) { | 
| -            if (!sourceFactory.resolvers | 
| -                .any((UriResolver r) => r is EmbedderUriResolver)) { | 
| -              // Get all but the dart: Uri resolver. | 
| -              List<UriResolver> resolvers = sourceFactory.resolvers | 
| -                  .where((r) => r is! DartUriResolver) | 
| -                  .toList(); | 
| -              // Add an embedded URI resolver in its place. | 
| -              resolvers.add(new EmbedderUriResolver(embedderYamls)); | 
| - | 
| -              // Set a new source factory. | 
| -              SourceFactoryImpl newFactory = sourceFactory.clone(); | 
| -              newFactory.resolvers.clear(); | 
| -              newFactory.resolvers.addAll(resolvers); | 
| -              info.context.sourceFactory = newFactory; | 
| -              return; | 
| -            } | 
| +            // Get all but the dart: Uri resolver. | 
| +            List<UriResolver> resolvers = sourceFactory.resolvers | 
| +                .where((r) => r is! DartUriResolver) | 
| +                .toList(); | 
| +            // Add an embedded URI resolver in its place. | 
| +            resolvers.add(new DartUriResolver(new EmbedderSdk(embedderYamls))); | 
| + | 
| +            // Set a new source factory. | 
| +            SourceFactoryImpl newFactory = sourceFactory.clone(); | 
| +            newFactory.resolvers.clear(); | 
| +            newFactory.resolvers.addAll(resolvers); | 
| +            info.context.sourceFactory = newFactory; | 
| +            return; | 
| } | 
| } | 
|  | 
| @@ -1157,16 +1154,16 @@ class ContextManagerImpl implements ContextManager { | 
| List<UriResolver> packageUriResolvers = | 
| disposition.createPackageUriResolvers(resourceProvider); | 
|  | 
| -    EmbedderUriResolver embedderUriResolver = | 
| -        new EmbedderUriResolver(context.embedderYamlLocator.embedderYamls); | 
| -    if (embedderUriResolver.length == 0) { | 
| +    EmbedderSdk sdk = | 
| +        new EmbedderSdk(context.embedderYamlLocator.embedderYamls); | 
| +    if (sdk.libraryMap.size() == 0) { | 
| // The embedder uri resolver has no mappings. Use the default Dart SDK | 
| // uri resolver. | 
| resolvers.add(new DartUriResolver(sdkManager.getSdkForOptions(options))); | 
| } else { | 
| // The embedder uri resolver has mappings, use it instead of the default | 
| // Dart SDK uri resolver. | 
| -      resolvers.add(embedderUriResolver); | 
| +      resolvers.add(new DartUriResolver(sdk)); | 
| } | 
|  | 
| resolvers.addAll(packageUriResolvers); | 
|  |