anchor.diff:          }
         });
       }).then((_) {
  -      return ProjectLocationManager.restoreManager(spark.localPrefs).then((manager) {
  +      return ProjectLocationManager.restoreManager(spark.localPrefs,
  +          spark.workspace).then((manager) {
           spark.projectLocationManager = manager;
         });
       }).whenComplete(() => spark.unveil());
  
positive.code:     }
  
      // On Chrome OS, use the sync filesystem.
      if (_isCros()) {
        return chrome.syncFileSystem.requestFileSystem().then((fs) {
          var entry = fs.root;
          return new LocationResult(entry, entry, true);
  
negative.code: class ProjectLocationManager {
    preferences.PreferenceStore _prefs;
    LocationResult _projectLocation;
    final ws.Workspace _workspace;
  
    /**
     * Create a ProjectLocationManager asynchronously, restoring the default
     * project location from the given preferences.
     */
    static Future<ProjectLocationManager> restoreManager(
        preferences.PreferenceStore prefs, ws.Workspace workspace) {
      return prefs.getValue('projectFolder').then((String folderToken) {
        if (folderToken == null) {
          return new ProjectLocationManager._(prefs, workspace);
        }
  
        return chrome.fileSystem.restoreEntry(folderToken).then((chrome.Entry entry) {
          return new ProjectLocationManager._(prefs, workspace,
              new LocationResult(entry, entry, false));
        }).catchError((e) {
          return new ProjectLocationManager._(prefs, workspace);
        });
      });
    }
  
    ProjectLocationManager._(this._prefs, this._workspace, [this._projectLocation]);
  
    /**
     * Returns the default location to create new projects in. For Chrome OS, this
  