anchor.diff:  import 'dart:html';
   import 'package:dartflightschool/protocol.dart' as p;
   import 'package:dartflightschool/dummyimpl.dart'; 
  +
  +class UrlData {
  +  String protocol;
  +  String server;
  +  String path;
  +  
  +  UrlData(this.protocol, this.server, this.path);
  +  
  +  UrlData.fromString(String url) {
  +    var regex = new RegExp('([^:]+)://([^/]*)/(.*)');
  +    var match = regex.matchAsPrefix(url);
  +    if(match == null) {
  +      throw new Exception("Not a valid url");
  +    }
  +    
  +    protocol = match.group(1);
  +    server = match.group(2);
  +    path = match.group(3);
  +  }
  +}
   
   @CustomTag("wsfp-browser")
   class WsfpBrowser extends PolymerElement {
  
positive.code:    * Parses the url and returns protocol and path.
     * If the url is not well-formed or the protocol is not found this returns null.
     */
    p.Protocol getProcotol(String url) {
      var regex = new RegExp('([^:]+)://([^/]*)/(.*)');
      var match = regex.matchAsPrefix(url);
      if(match == null) {
        return null;
      }
      
      var type = match.group(1);
      var host = match.group(2);
      var path = match.group(3);
      
      var protocolId = type + "_" + host;
      
      if(currentProtocolId == protocolId) {
        return currentProtocol;
  
negative.code: 
    @observable
    List<p.File> currentFiles = new List();
  
    /// the current protocol id
    String currentProtocolId;
    
  