rem: var icon = BMDS.GetTarget(gResource, RDF.GetResource(NC_NS+"Icon"), true); if (icon) BMDS.Unassert(gResource, RDF.GetResource(NC_NS+"Icon"), icon); 
add: var icon = BMDS.GetTarget(gResource, RDF.GetResource(gNC_NS+"Icon"), true); if (icon) BMDS.Unassert(gResource, RDF.GetResource(gNC_NS+"Icon"), icon); 
context: function Commit(){  var changed = false;  // Grovel through the fields to see if any of the values have  // changed. If so, update the RDF graph and force them to be saved  // to disk.  for (var i=0; i<gFields.length; ++i) {    var field = document.getElementById(gFields[i]);    if (! field)      continue;    // Get the new value as a literal, using 'null' if the value is empty.    var newValue = field.value;    if (gFields[i] == "webpanel")      newValue = field.checked ? "true" : undefined;     var oldValue = BMDS.GetTarget(gResource, gProperties[i], true);    if (oldValue)      oldValue = oldValue.QueryInterface(Components.interfaces.nsIRDFLiteral);    if (newValue && gFields[i] == "shortcut")      // shortcuts are always lowercased internally      newValue = newValue.toLowerCase();    else if (newValue && gFields[i] == "url") {      if (newValue.indexOf(":") < 0)        // we're dealing with the URL attribute;        // if a scheme isn't specified, use "http://"        newValue = "http://" + newValue;    }    if (newValue)      newValue = RDF.GetLiteral(newValue);    changed |= updateAttribute(gProperties[i], oldValue, newValue);    if (gFields[i] == "url" && oldValue && oldValue.Value != newValue.Value) {      // if the URL was updated, clear out the favicon      var icon = BMDS.GetTarget(gResource, RDF.GetResource(NC_NS+"Icon"), true);      if (icon) BMDS.Unassert(gResource, RDF.GetResource(NC_NS+"Icon"), icon);    }  }  // Update bookmark schedule if necessary;  // if the tab was removed, just skip it  var scheduleTab = document.getElementById("ScheduleTab");  if (scheduleTab) {    var scheduleArc = RDF.GetResource(WEB_NS+"Schedule");    oldValue = BMDS.GetTarget(gResource, scheduleArc, true);    newValue = null;    var dayRangeNode = document.getElementById("dayRange");    var dayRange = dayRangeNode.selectedItem.getAttribute("value");    if (dayRange) {      var startHourRangeNode = document.getElementById("startHourRange");      var startHourRange = startHourRangeNode.selectedItem.getAttribute("value");      var endHourRangeNode = document.getElementById("endHourRange");      var endHourRange = endHourRangeNode.selectedItem.getAttribute("value");      if (parseInt(startHourRange) > parseInt(endHourRange)) {        var temp = startHourRange;        startHourRange = endHourRange;        endHourRange = temp;      }      var duration = document.getElementById("duration").value;      if (!duration) {        alert(BookmarksUtils.getLocaleString("pleaseEnterADuration"));        return false;      }      var methods = [];      if (document.getElementById("bookmarkIcon").checked)        methods.push("icon");      if (document.getElementById("playSound").checked)        methods.push("sound");      if (document.getElementById("showAlert").checked)        methods.push("alert");      if (document.getElementById("openWindow").checked)        methods.push("open");      if (methods.length == 0) {        alert(BookmarksUtils.getLocaleString("pleaseSelectANotification"));        return false;      }      var method = methods.join(); // join string in array with ","      newValue = dayRange + "|" + startHourRange + "-" + endHourRange + "|" + duration + "|" + method;    }    if (newValue)      newValue = RDF.GetLiteral(newValue);    changed |= updateAttribute(scheduleArc, oldValue, newValue);     }  if (changed) {    var remote = BMDS.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);    if (remote)      remote.Flush();  }  window.arguments[1].ok = true;  window.close();  return true;}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/da13e64cf2f4fd9692155e90cae7223431174c1d/bookmarksProperties.js/clean/browser/components/bookmarks/content/bookmarksProperties.js