Chromium Code Reviews| Index: chrome/browser/resources/settings/site_settings/website_usage_private_api.js |
| diff --git a/chrome/browser/resources/settings/site_settings/website_usage_private_api.js b/chrome/browser/resources/settings/site_settings/website_usage_private_api.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..bb6ed7df35491b89acc7027e1e64ee5251e51198 |
| --- /dev/null |
| +++ b/chrome/browser/resources/settings/site_settings/website_usage_private_api.js |
| @@ -0,0 +1,75 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +(function() { |
| +'use strict'; |
| + |
| +Polymer({ |
| + is: 'website-usage-private-api', |
| + |
| + properties: { |
| + /** |
| + * The amount of data used by the given website. |
| + */ |
| + websiteDataUsage: { |
| + type: String, |
| + notify: true, |
| + }, |
| + }, |
| + |
| + attached: function() { |
| + settings.WebsiteUsagePrivateApi.websiteUsagePolymerInstance = this; |
| + }, |
| + |
| + fetchUsageTotal: function(host) { |
|
michaelpg
2016/01/27 18:42:48
/** @param {string} host */
Finnur
2016/01/28 11:17:49
Done.
|
| + settings.WebsiteUsagePrivateApi.fetchUsageTotal(host); |
| + }, |
| +}); |
| +})(); |
| + |
| +cr.define('settings.WebsiteUsagePrivateApi', function() { |
| + /** |
| + * @type {Object} An instance of the polymer object defined above. |
| + * All data will be set here. |
| + */ |
| + websiteUsagePolymerInstance = null; |
|
michaelpg
2016/01/27 18:42:48
var
Finnur
2016/01/28 11:17:49
Done.
|
| + |
| + /** |
| + * @type {string} The host for which the usage total is being fetched. |
| + */ |
| + var host; |
| + |
| + /** |
| + * Encapsulates the calls between JS and C++ to fetch how much storage the |
| + * host is using. |
| + * Will update the data in |websiteUsagePolymerInstance|. |
| + */ |
| + fetchUsageTotal = function(host) { |
|
michaelpg
2016/01/27 18:42:48
var. You're creating global variables, they should
Finnur
2016/01/28 11:17:49
Done, I believe. Happy to do a follow-up if I got
|
| + var instance = settings.WebsiteUsagePrivateApi.websiteUsagePolymerInstance; |
| + if (instance != null) |
| + instance.websiteDataUsage = ''; |
| + |
| + this.host = host; |
|
michaelpg
2016/01/27 18:42:48
do you mean to use the "var host" defined at 41? y
Finnur
2016/01/28 11:17:49
Done.
|
| + chrome.send('fetchUsageTotal', [host]); |
| + }; |
| + |
| + /** |
| + * Callback for when the usage total is known. |
| + * @param {string} host The host that the usage was fetched for. |
| + * @param {string} usage The string showing how much data the given host |
| + * is using. |
| + */ |
| + returnUsageTotal = function(host, usage) { |
| + var instance = settings.WebsiteUsagePrivateApi.websiteUsagePolymerInstance; |
| + if (instance == null) |
| + return; |
| + |
| + if (this.host == host) |
| + instance.websiteDataUsage = usage; |
| + }; |
| + |
| + return { websiteUsagePolymerInstance: websiteUsagePolymerInstance, |
| + fetchUsageTotal: fetchUsageTotal, |
| + returnUsageTotal: returnUsageTotal }; |
| +}); |