context:   addFeed: function(aFeedLocation, aRootFolderURI)  {    var userAddedFeed = false;     var defaultQuickMode = this.mRSSServer.getBoolAttribute('quickMode');    var feedProperties = { feedName: "", feedLocation: aFeedLocation,                            serverURI: this.mRSSServer.serverURI,                            serverPrettyName: this.mRSSServer.prettyName,                             folderURI: aRootFolderURI,                            quickMode: this.mRSSServer.getBoolAttribute('quickMode'),                            newFeed: true,                           result: userAddedFeed};    feedProperties = openFeedEditor(feedProperties);    // if the user hit cancel, exit without doing anything    if (!feedProperties.result)      return;      if (!feedProperties.feedLocation)        return;    // before we go any further, make sure the user is not already subscribed to this feed.    if (feedAlreadyExists(feedProperties.feedLocation, this.mRSSServer))    {      var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(IPS);      promptService.alert(window, null, this.mBundle.getString("subscribe-feedAlreadySubscribed"));                  return;    }    var itemResource = rdf.GetResource(feedProperties.feedLocation);    feed = new Feed(itemResource);    // if the user specified a specific folder to add the feed too, then set it here    if (feedProperties.folderURI)    {      var folderResource = rdf.GetResource(feedProperties.folderURI);         if (folderResource)      {        var folder = folderResource.QueryInterface(Components.interfaces.nsIMsgFolder);        if (folder && !folder.isServer)          feed.folder = folder;      }    }    // set the server for the feed    feed.server = this.mRSSServer;    feed.quickMode = feedProperties.quickMode;    // update status text    updateStatusItem('statusText', document.getElementById("bundle_newsblog").getString('subscribe-validating'));    updateStatusItem('progressMeter', 0);    // validate the feed and download the articles    // we used to pass false which caused us to skip parsing then we'd     // turn around and download the feed again so we could actually parse the items...    // But now that this operation is asynch, just kick it off once...if we change this back    // modify feedDownloadCallback.downloaded to parse the feed...    // Also, disable the Add button while we are subscribing.    document.getElementById('addFeed').setAttribute('disabled', 'true');    feed.download(true, this.mFeedDownloadCallback);  },
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/4ee7fb68bd209331d0a6c13788113dccc4b38603/feed-subscriptions.js/clean/mail/extensions/newsblog/content/feed-subscriptions.js