rem: this.knownLinks = null; 
context: function LinkToolbarMenu (linkType) {  this.constructor(linkType);  this.knownLinks = null;  this.clear = function() {    this.disableParentMenuButton();    this.getXULElement().setAttribute("disabled", "true");    clearPopup(this.getPopup());    this.knownLinks = null;  }  function clearPopup(popup) {    while (popup.hasChildNodes())      popup.removeChild(popup.lastChild);  }  this.getPopup = function() {    return document.getElementById(this.xulPopupId);  }  this.displayLink = function(linkElement) {    if (this.isAlreadyAdded(linkElement)) return false;    this.getKnownLinks()[linkElement.href] = true;    this.addMenuItem(linkElement);    this.getXULElement().removeAttribute("disabled");    this.enableParentMenuButton();    return true;  }  this.isAlreadyAdded = function(linkElement) {    return this.getKnownLinks()[linkElement.href];  }  this.getKnownLinks = function() {    if (!this.knownLinks)      this.knownLinks = new Array();    return this.knownLinks;  }    function match(first, second) {    if (!first && !second) return true;    if (!first || !second) return false;    return first == second;  }  this.addMenuItem = function(linkElement) {    this.getPopup().appendChild(this.createMenuItem(linkElement));  }  this.createMenuItem = function(linkElement) {    // XXX: clone a prototypical XUL element instead of hardcoding these    //   attributes    var menuitem = document.createElement("menuitem");    menuitem.setAttribute("label", linkElement.getLabel());    menuitem.setAttribute("href", linkElement.href);    menuitem.setAttribute("class", "menuitem-iconic bookmark-item");    menuitem.setAttribute("rdf:type",         "rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#linkType");    return menuitem;  }}
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/75dee90ba9203256fa7cb1bf4a155a2b2ca052b9/linkToolbarItem.js/buggy/suite/browser/linkToolbarItem.js