Chromium Code Reviews| Index: chrome/browser/browsing_data/cookie_counting_helper.h |
| diff --git a/chrome/browser/browsing_data/cookie_counting_helper.h b/chrome/browser/browsing_data/cookie_counting_helper.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a705f516b5cbcf23e8582e3a429bc114b3bf06ad |
| --- /dev/null |
| +++ b/chrome/browser/browsing_data/cookie_counting_helper.h |
| @@ -0,0 +1,70 @@ |
| +// Copyright (c) 2016 The Chromium Authors. All rights reserved. |
|
msramek
2017/01/09 12:54:44
Ditto.
dullweber
2017/01/09 16:05:46
Done.
|
| +// 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_COOKIE_COUNTING_HELPER_H_ |
| +#define CHROME_BROWSER_BROWSING_DATA_COOKIE_COUNTING_HELPER_H_ |
| + |
| +#include <set> |
| +#include "net/cookies/canonical_cookie.h" |
| +#include "net/ssl/channel_id_store.h" |
| +#include "storage/common/quota/quota_types.h" |
| + |
| +class Profile; |
| +class BrowsingDataFlashLSOHelper; |
| + |
| +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 CookieCountingHelper { |
|
msramek
2017/01/09 12:54:43
Note that we have SiteDataSizeCollector (used in c
dullweber
2017/01/09 16:05:46
The SiteDataSizeCollector uses the same helper cla
|
| + public: |
| + explicit CookieCountingHelper(Profile* profile, |
| + base::Time begin, |
| + base::Callback<void(int)> completion_callback); |
| + ~CookieCountingHelper(); |
| + |
| + void CountAndDestroySelfWhenFinished(); |
| + |
| + private: |
| + 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_COOKIE_COUNTING_HELPER_H_ |