rem: var self = this; function onTabSelect(event) { self.onTabSelect(event); } this._tabbrowser.addEventListener("select", onTabSelect, false); 
add: var GroupingSerializer = { serialize: function GS_serialize(raw) { return raw.join(","); }, deserialize: function GS_deserialize(str) { return str === "" ? [] : str.split(","); } }; PlacesController.groupers.generic = new PrefHandler(PREF_PLACES_GROUPING_GENERIC, [Ci.nsINavHistoryQueryOptions.GROUP_BY_DOMAIN], GroupingSerializer); PlacesController.groupers.bookmark = new PrefHandler(PREF_PLACES_GROUPING_BOOKMARK, [Ci.nsINavHistoryQueryOptions.GROUP_BY_FOLDER], GroupingSerializer);   PlacesUIHook.init(this._content); 
context: PlacesPage.init = function PP_init() {  var wm =      Cc["@mozilla.org/appshell/window-mediator;1"].      getService(Ci.nsIWindowMediator);  this._topWindow = wm.getMostRecentWindow("navigator:browser");  this._topDocument = this._topWindow.document;  this._tabbrowser = this._topWindow.getBrowser();  var self = this;  function onTabSelect(event) {    self.onTabSelect(event);  }  this._tabbrowser.addEventListener("select", onTabSelect, false);  var placesList = document.getElementById("placesList");  var placeContent = document.getElementById("placeContent");  var placesCommands = document.getElementById("placesCommands");    this.controller =     new PlacesController([placesList, placeContent], placesCommands);  const NH = Ci.nsINavHistory;    var places =       Cc["@mozilla.org/browser/nav-history;1"].getService(NH);  var query = places.getNewQuery();  var date = new Date();  var result = places.executeQuery(query, [NH.GROUP_BY_HOST],                                    1, NH.SORT_BY_NONE, false);  result.QueryInterface(Ci.nsITreeView);  var placeContent = document.getElementById("placeContent");  placeContent.view = result;    this._showPlacesUI();};
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/3091786869d86127f3c980e90871d46bcba41d07/places.js/buggy/browser/components/places/content/places.js