Index: chrome/browser/resources/settings/site_settings/site_data.js |
diff --git a/chrome/browser/resources/settings/site_settings/site_data.js b/chrome/browser/resources/settings/site_settings/site_data.js |
index b8657741880ff287e851a0005288ae567fbe1a49..80742876cc5e320eca4516c9d26bc93da3b8e0c6 100644 |
--- a/chrome/browser/resources/settings/site_settings/site_data.js |
+++ b/chrome/browser/resources/settings/site_settings/site_data.js |
@@ -23,21 +23,30 @@ Polymer({ |
* The cookie tree with the details needed to display individual sites and |
* their contained data. |
* @type {!settings.CookieTreeNode} |
+ * @private |
*/ |
treeNodes_: Object, |
/** |
* Keeps track of how many outstanding requests for more data there are. |
+ * @private |
*/ |
requests_: Number, |
/** |
* The current filter applied to the cookie data list. |
+ * @private |
*/ |
filterString_: { |
type: String, |
value: '', |
- } |
+ }, |
+ |
+ /** @private */ |
+ confirmationDeleteMsg_: String, |
+ |
+ /** @private */ |
+ idToDelete_: String, |
}, |
ready: function() { |
@@ -134,19 +143,51 @@ Polymer({ |
/** |
* Called when a single item has been removed (not during delete all). |
* @param {!CookieRemovePacket} args The details about what to remove. |
+ * @private |
*/ |
onTreeItemRemoved_: function(args) { |
this.treeNodes_.removeByParentId(args.id, args.start, args.count); |
this.sites = this.treeNodes_.getSummaryList(); |
}, |
+ /** @private */ |
+ onCloseDialog_: function() { |
+ this.$.confirmDeleteDialog.close(); |
+ }, |
+ |
/** |
- * Deletes all site data for a given site. |
+ * Confirms the deletion of a site. |
* @param {!{model: !{item: CookieDataSummaryItem}}} event |
* @private |
*/ |
- onDeleteSite_: function(event) { |
- this.browserProxy.removeCookie(event.model.item.id); |
+ onConfirmDeleteSite_: function(event) { |
+ this.idToDelete_ = event.model.item.id; |
+ this.confirmationDeleteMsg_ = loadTimeData.getStringF( |
+ 'siteSettingsCookieRemoveConfirmation', event.model.item.site); |
+ this.$.confirmDeleteDialog.showModal(); |
+ }, |
+ |
+ onConfirmDeleteMultipleSites_: function(event) { |
+ this.idToDelete_ = ''; // Delete all. |
+ this.confirmationDeleteMsg_ = loadTimeData.getString( |
+ 'siteSettingsCookieRemoveMultipleConfirmation'); |
+ this.$.confirmDeleteDialog.showModal(); |
+ }, |
+ |
+ onConfirmDelete_: function(event) { |
+ if (this.idToDelete_ != '') |
+ this.onDeleteSite_(); |
+ else |
+ this.onDeleteMultipleSites_(); |
+ this.$.confirmDeleteDialog.close(); |
+ }, |
+ |
+ /** |
+ * Deletes all site data for a given site. |
+ * @private |
+ */ |
+ onDeleteSite_: function() { |
+ this.browserProxy.removeCookie(this.idToDelete_); |
}, |
/** |