Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Side by Side Diff: chrome/browser/resources/settings/site_settings/website_usage_private_api.js

Issue 1661533002: Implement deletion of storage per site. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address nits Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 (function() { 5 (function() {
6 'use strict'; 6 'use strict';
7 7
8 Polymer({ 8 Polymer({
9 is: 'website-usage-private-api', 9 is: 'website-usage-private-api',
10 10
11 properties: { 11 properties: {
12 /** 12 /**
13 * The amount of data used by the given website. 13 * The amount of data used by the given website.
14 */ 14 */
15 websiteDataUsage: { 15 websiteDataUsage: {
16 type: String, 16 type: String,
17 notify: true, 17 notify: true,
18 }, 18 },
19
20 /**
21 * The type of data used by the given website.
22 */
23 websiteStorageType: {
24 type: Number,
25 notify: true,
26 },
19 }, 27 },
20 28
21 attached: function() { 29 attached: function() {
22 settings.WebsiteUsagePrivateApi.websiteUsagePolymerInstance = this; 30 settings.WebsiteUsagePrivateApi.websiteUsagePolymerInstance = this;
23 }, 31 },
24 32
25 /** @param {string} host */ 33 /** @param {string} host */
26 fetchUsageTotal: function(host) { 34 fetchUsageTotal: function(host) {
27 settings.WebsiteUsagePrivateApi.fetchUsageTotal(host); 35 settings.WebsiteUsagePrivateApi.fetchUsageTotal(host);
28 }, 36 },
37
38 /**
39 * @param {string} origin
40 * @param {number} type
41 */
42 clearUsage: function(origin, type) {
43 settings.WebsiteUsagePrivateApi.clearUsage(origin, type);
44 },
45
46 /** @param {string} origin */
47 notifyUsageDeleted: function(origin) {
48 this.fire('usage-deleted', {origin: origin});
49 },
29 }); 50 });
30 })(); 51 })();
31 52
32 cr.define('settings.WebsiteUsagePrivateApi', function() { 53 cr.define('settings.WebsiteUsagePrivateApi', function() {
33 /** 54 /**
34 * @type {Object} An instance of the polymer object defined above. 55 * @type {Object} An instance of the polymer object defined above.
35 * All data will be set here. 56 * All data will be set here.
36 */ 57 */
37 var websiteUsagePolymerInstance = null; 58 var websiteUsagePolymerInstance = null;
38 59
(...skipping 14 matching lines...) Expand all
53 74
54 hostName_ = host; 75 hostName_ = host;
55 chrome.send('fetchUsageTotal', [host]); 76 chrome.send('fetchUsageTotal', [host]);
56 }; 77 };
57 78
58 /** 79 /**
59 * Callback for when the usage total is known. 80 * Callback for when the usage total is known.
60 * @param {string} host The host that the usage was fetched for. 81 * @param {string} host The host that the usage was fetched for.
61 * @param {string} usage The string showing how much data the given host 82 * @param {string} usage The string showing how much data the given host
62 * is using. 83 * is using.
84 * @param {number} type The storage type.
63 */ 85 */
64 var returnUsageTotal = function(host, usage) { 86 var returnUsageTotal = function(host, usage, type) {
65 var instance = settings.WebsiteUsagePrivateApi.websiteUsagePolymerInstance; 87 var instance = settings.WebsiteUsagePrivateApi.websiteUsagePolymerInstance;
66 if (instance == null) 88 if (instance == null)
67 return; 89 return;
68 90
69 if (hostName_ == host) 91 if (hostName_ == host) {
70 instance.websiteDataUsage = usage; 92 instance.websiteDataUsage = usage;
93 instance.websiteStorageType = type;
94 }
95 };
96
97 /**
98 * Deletes the storage being used for a given origin.
99 * @param {string} origin The origin to delete storage for.
100 * @param {number} type The type of storage to delete.
101 */
102 var clearUsage = function(origin, type) {
103 chrome.send('clearUsage', [origin, type]);
104 };
105
106 /**
107 * Callback for when the usage has been cleared.
108 * @param {string} origin The origin that the usage was fetched for.
109 */
110 var onUsageCleared = function(origin) {
111 var instance = settings.WebsiteUsagePrivateApi.websiteUsagePolymerInstance;
112 if (instance == null)
113 return;
114
115 instance.notifyUsageDeleted(origin);
71 }; 116 };
72 117
73 return { websiteUsagePolymerInstance: websiteUsagePolymerInstance, 118 return { websiteUsagePolymerInstance: websiteUsagePolymerInstance,
74 fetchUsageTotal: fetchUsageTotal, 119 fetchUsageTotal: fetchUsageTotal,
75 returnUsageTotal: returnUsageTotal }; 120 returnUsageTotal: returnUsageTotal,
121 clearUsage: clearUsage,
122 onUsageCleared: onUsageCleared, };
76 }); 123 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698