menuItem.setAttribute("label", handlerInfo.plugin.name); 
let brandShortName = this._brandBundle.getString("brandShortName"); let label = this._prefsBundle.getFormattedString("pluginName", [handlerInfo.plugin.name, brandShortName]); menuItem.setAttribute("label", label); 
  rebuildActionsMenu: function() {    var typeItem = this._list.selectedItem;    var handlerInfo = this._handledTypes[typeItem.type];    var menu =      document.getAnonymousElementByAttribute(typeItem, "class", "actionsMenu");    var menuPopup = menu.firstChild;    // Clear out existing items.    while (menuPopup.hasChildNodes())      menuPopup.removeChild(menuPopup.lastChild);    // If this is the feed type, add Preview in Firefox and Live Bookmarks items.    if (handlerInfo.type == TYPE_MAYBE_FEED) {      let menuItem = document.createElementNS(kXULNS, "menuitem");      menuItem.setAttribute("alwaysAsk", "true");      menuItem.setAttribute("label", this._bundle.getString("alwaysAskAboutFeed"));      menuPopup.appendChild(menuItem);      if (handlerInfo.alwaysAskBeforeHandling)        menu.selectedItem = menuItem;      menuItem = document.createElementNS(kXULNS, "menuitem");      menuItem.setAttribute("action", Ci.nsIHandlerInfo.handleInternally);      menuItem.setAttribute("label", this._bundle.getString("liveBookmarks"));      menuItem.setAttribute("image", "chrome://browser/skin/page-livemarks.png");      menuPopup.appendChild(menuItem);      if (handlerInfo.preferredAction == Ci.nsIHandlerInfo.handleInternally)        menu.selectedItem = menuItem;      // Add a separator to distinguish these items from the helper app items      // that follow them.      menuItem = document.createElementNS(kXULNS, "menuseparator");      menuPopup.appendChild(menuItem);    }    // Create a menu item for the OS default application, if any.    if (handlerInfo.hasDefaultHandler) {      let menuItem = document.createElementNS(kXULNS, "menuitem");      menuItem.setAttribute("action", Ci.nsIHandlerInfo.useSystemDefault);      menuItem.setAttribute("label", handlerInfo.defaultDescription);      if (handlerInfo.wrappedHandlerInfo) {        let iconURL =          this._getIconURLForSystemDefault(handlerInfo.wrappedHandlerInfo);        menuItem.setAttribute("image", iconURL);      }      menuPopup.appendChild(menuItem);      if (handlerInfo.preferredAction == Ci.nsIHandlerInfo.useSystemDefault)        menu.selectedItem = menuItem;    }    // Create menu items for possible handlers.    let preferredApp = handlerInfo.preferredApplicationHandler;    let possibleApps = handlerInfo.possibleApplicationHandlers.                       QueryInterface(Ci.nsIArray).enumerate();    while (possibleApps.hasMoreElements()) {      let possibleApp = possibleApps.getNext();      if (!this.isValidHandlerApp(possibleApp))        continue;      let menuItem = document.createElementNS(kXULNS, "menuitem");      menuItem.setAttribute("action", Ci.nsIHandlerInfo.useHelperApp);      menuItem.setAttribute("label", possibleApp.name);      menuItem.setAttribute("image", this._getIconURLForHandlerApp(possibleApp));      // Attach the handler app object to the menu item so we can use it      // to make changes to the datastore when the user selects the item.      menuItem.handlerApp = possibleApp;      menuPopup.appendChild(menuItem);      // Select this app if the preferred action is to use a helper app      // and this is the preferred app.      if (handlerInfo.preferredAction == Ci.nsIHandlerInfo.useHelperApp &&          preferredApp.equals(possibleApp))        menu.selectedItem = menuItem;    }    // Create a menu item for the plugin.    if (handlerInfo.plugin) {      let menuItem = document.createElementNS(kXULNS, "menuitem");      menuItem.setAttribute("action", kActionUsePlugin);      menuItem.setAttribute("label", handlerInfo.plugin.name);      menuPopup.appendChild(menuItem);      if (handlerInfo.preferredAction == kActionUsePlugin)        menu.selectedItem = menuItem;    }    // Create a menu item for saving to disk.    // Note: this option isn't available to protocol types, since we don't know    // what it means to save a URL having a certain scheme to disk, nor is it    // available to feeds, since the feed code doesn't implement the capability.    // And it's not available to types handled only by plugins either, although    // I would think we'd want to give users the ability to redirect that stuff    // to disk (so maybe we should revisit that decision).    if ((handlerInfo instanceof Ci.nsIMIMEInfo) &&        handlerInfo.type != TYPE_MAYBE_FEED &&        !handlerInfo.handledOnlyByPlugin) {      let menuItem = document.createElementNS(kXULNS, "menuitem");      menuItem.setAttribute("action", Ci.nsIHandlerInfo.saveToDisk);      menuItem.setAttribute("label", this._bundle.getString("saveToDisk"));      menuPopup.appendChild(menuItem);      if (handlerInfo.preferredAction == Ci.nsIHandlerInfo.saveToDisk)        menu.selectedItem = menuItem;    }    // Create a menu item for selecting a local application.    {      let menuItem = document.createElementNS(kXULNS, "menuitem");      menuItem.setAttribute("oncommand", "gApplicationsPane.chooseApp(event)");      menuItem.setAttribute("label", this._bundle.getString("chooseApp"));      menuPopup.appendChild(menuItem);    }  },
5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5459/8d8f9a0d6e7e39927ae72014f5466381c3ade40f/applications.js/buggy/browser/components/preferences/applications.js