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

Unified Diff: chrome/browser/browsing_data/site_data_counting_helper.h

Issue 2594723002: Count number of origins with data affected by clearing "cookies and site data". (Closed)
Patch Set: small fixes Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/browsing_data/site_data_counting_helper.h
diff --git a/chrome/browser/browsing_data/site_data_counting_helper.h b/chrome/browser/browsing_data/site_data_counting_helper.h
new file mode 100644
index 0000000000000000000000000000000000000000..2d83dd34cab70c3e7ec55fed98b3b9a6bc5f1664
--- /dev/null
+++ b/chrome/browser/browsing_data/site_data_counting_helper.h
@@ -0,0 +1,75 @@
+// Copyright 2017 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.
+
+#ifndef CHROME_BROWSER_BROWSING_DATA_SITE_DATA_COUNTING_HELPER_H_
+#define CHROME_BROWSER_BROWSING_DATA_SITE_DATA_COUNTING_HELPER_H_
+
+#include <set>
+#include "components/content_settings/core/common/content_settings_types.h"
+#include "net/cookies/canonical_cookie.h"
+#include "net/ssl/channel_id_store.h"
+#include "storage/common/quota/quota_types.h"
+
+class Profile;
+class BrowsingDataFlashLSOHelper;
+class HostContentSettingsMap;
+
+namespace net {
+class URLRequestContextGetter;
+}
+
+namespace content {
+struct LocalStorageUsageInfo;
+struct SessionStorageUsageInfo;
+}
+
+namespace storage {
+class SpecialStoragePolicy;
+}
+
+// Helper class that counts the number of unique origins, that are affected by
+// deleting "cookies and site data" in the CBD dialog.
+class SiteDataCountingHelper {
+ public:
+ explicit SiteDataCountingHelper(
+ Profile* profile,
+ base::Time begin,
+ base::Callback<void(int)> completion_callback);
+ ~SiteDataCountingHelper();
+
+ void CountAndDestroySelfWhenFinished();
+
+ private:
+ void GetOriginsFromHostContentSettignsMap(HostContentSettingsMap* hcsm,
+ ContentSettingsType type);
+ void GetCookiesOnIOThread(
+ const scoped_refptr<net::URLRequestContextGetter>& rq_context);
+ void GetCookiesCallback(const net::CookieList& cookies);
+ void GetSessionStorageUsageInfoCallback(
+ const scoped_refptr<storage::SpecialStoragePolicy>&
+ special_storage_policy,
+ const std::vector<content::SessionStorageUsageInfo>& infos);
+ void GetLocalStorageUsageInfoCallback(
+ const scoped_refptr<storage::SpecialStoragePolicy>&
+ special_storage_policy,
+ const std::vector<content::LocalStorageUsageInfo>& infos);
+ void GetQuotaOriginsCallback(const std::set<GURL>& origin_set,
+ storage::StorageType type);
+ void SitesWithFlashDataCallback(const std::vector<std::string>& sites);
+ void GetChannelIDsOnIOThread(
+ const scoped_refptr<net::URLRequestContextGetter>& rq_context);
+ void GetChannelIDsCallback(
+ const net::ChannelIDStore::ChannelIDList& channel_ids);
+
+ void Done(const std::vector<GURL>& origins);
+
+ Profile* profile_;
+ base::Time begin_;
+ base::Callback<void(int)> completion_callback_;
+ int tasks_;
+ std::set<GURL> unique_origins_;
+ scoped_refptr<BrowsingDataFlashLSOHelper> flash_lso_helper_;
+};
+
+#endif // CHROME_BROWSER_BROWSING_DATA_SITE_DATA_COUNTING_HELPER_H_
« no previous file with comments | « chrome/browser/browsing_data/site_data_counter.cc ('k') | chrome/browser/browsing_data/site_data_counting_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698