| Index: chrome/browser/engagement/important_sites_util.h
|
| diff --git a/chrome/browser/engagement/important_sites_util.h b/chrome/browser/engagement/important_sites_util.h
|
| index 364da285f30c9036214524bce3d0bdab493af516..d32cd448d01c3c2b172f41d0196cc6bd9e7ff853 100644
|
| --- a/chrome/browser/engagement/important_sites_util.h
|
| +++ b/chrome/browser/engagement/important_sites_util.h
|
| @@ -8,22 +8,40 @@
|
| #include <string>
|
| #include <vector>
|
|
|
| +#include "base/callback.h"
|
| #include "base/macros.h"
|
| #include "url/gurl.h"
|
|
|
| class Profile;
|
|
|
| +namespace content {
|
| +class DOMStorageContext;
|
| +}
|
| +
|
| +namespace storage {
|
| +class QuotaManager;
|
| +}
|
| +
|
| namespace user_prefs {
|
| class PrefRegistrySyncable;
|
| }
|
|
|
| +// Helper methods for important sites.
|
| +// All methods should be used on the UI thread.
|
| class ImportantSitesUtil {
|
| public:
|
| +#if defined(OS_ANDROID)
|
| + static const int kMaxImportantSites = 5;
|
| +#else
|
| + static const int kMaxImportantSites = 10;
|
| +#endif
|
| +
|
| struct ImportantDomainInfo {
|
| std::string registerable_domain;
|
| GURL example_origin;
|
| double engagement_score = 0;
|
| int32_t reason_bitfield = 0;
|
| + int64_t usage = 0;
|
| };
|
|
|
| // Do not change the values here, as they are used for UMA histograms.
|
| @@ -36,6 +54,9 @@ class ImportantSitesUtil {
|
| REASON_BOUNDARY
|
| };
|
|
|
| + using UsageCallback =
|
| + base::Callback<void(std::vector<ImportantDomainInfo> sites)>;
|
| +
|
| static bool IsDialogDisabled(Profile* profile);
|
|
|
| static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
|
| @@ -50,6 +71,14 @@ class ImportantSitesUtil {
|
| Profile* profile,
|
| size_t max_results);
|
|
|
| + // Populates the ImportantDomainInfo::usage field of each site with the amount
|
| + // of localstorage and quota bytes used. The |sites| vector with populated
|
| + // usage fields is returned by |callback|.
|
| + static void PopulateUsage(storage::QuotaManager* quota_manager,
|
| + content::DOMStorageContext* dom_storage,
|
| + std::vector<ImportantDomainInfo> sites,
|
| + UsageCallback callback);
|
| +
|
| // Record the sites that the user chose to blacklist from clearing (in the
|
| // Clear Browsing Dialog) and the sites they ignored. The blacklisted sites
|
| // are NOT cleared as they are 'blacklisted' from the clear operation.
|
|
|