diff --git a/browser/components/places/content/controller.js b/browser/components/places/content/controller.js
index 50841549e101..54eccccab167 100755
--- a/browser/components/places/content/controller.js
+++ b/browser/components/places/content/controller.js
@@ -129,6 +129,8 @@ PlacesController.prototype = {
case "cmd_cut":
case "cmd_delete":
return this._hasRemovableSelection(false);
+ case "placesCmd_deleteDataHost":
+ return this._hasRemovableSelection(false);
case "placesCmd_moveBookmarks":
return this._hasRemovableSelection(true);
case "cmd_copy":
@@ -231,6 +233,12 @@ PlacesController.prototype = {
case "cmd_delete":
this.remove("Remove Selection");
break;
+ case "placesCmd_deleteDataHost":
+ let pb = Cc["@mozilla.org/privatebrowsing;1"].
+ getService(Ci.nsIPrivateBrowsingService);
+ let uri = PlacesUtils._uri(this._view.selectedNode.uri);
+ pb.removeDataFromDomain(uri.host);
+ break;
case "cmd_selectAll":
this.selectAll();
break;
diff --git a/browser/components/places/content/placesOverlay.xul b/browser/components/places/content/placesOverlay.xul
index 4369fdee98a8..58e04b32eaf3 100644
--- a/browser/components/places/content/placesOverlay.xul
+++ b/browser/components/places/content/placesOverlay.xul
@@ -91,6 +91,8 @@
oncommand="goDoCommand('placesCmd_sortBy:name');"/>
+
+ selection="bookmark|tagChild|folder|query|dynamiccontainer|separator|host"/>
+
+