Re: Disable or delete places.sqlite

Andreas Franz <[email protected]> Tue, 4 Feb 2014 01:58:12 -0800 (PST)
Newsgroups gmane.comp.mozilla.devel.xpfe
Message-ID <[email protected]>
I've found a solution: I added an observer that listens to the "places-connection-closed" event:

function clearDB() {
	try {
		var file = Components.classes["@mozilla.org/file/directory_service;1"].
           getService(Components.interfaces.nsIProperties).
           get("ProfD", Components.interfaces.nsIFile);
		file.append("places.sqlite");
		if (file.exists()){
			file.remove(false);
		}
	} catch(ex) { }
}

function myObserver()
{
  this.register();
}

myObserver.prototype = {
  observe: function(subject, topic, data) {
	clearDB();
  },
  register: function() {
    var observerService = Components.classes["@mozilla.org/observer-service;1"]
                          .getService(Components.interfaces.nsIObserverService);
    observerService.addObserver(this, "places-connection-closed", false);
  },
  unregister: function() {
    var observerService = Components.classes["@mozilla.org/observer-service;1"]
                            .getService(Components.interfaces.nsIObserverService);
    observerService.removeObserver(this, "places-connection-closed");
  }
}
observer = new myObserver();