Chromium Code Reviews| Index: components/browsing_data/core/counters/site_settings_counter.cc |
| diff --git a/components/browsing_data/core/counters/site_settings_counter.cc b/components/browsing_data/core/counters/site_settings_counter.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3063d10ac6ab4c11cb8bceb93086c4a42506da76 |
| --- /dev/null |
| +++ b/components/browsing_data/core/counters/site_settings_counter.cc |
| @@ -0,0 +1,48 @@ |
| +// 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. |
| + |
| +#include "components/browsing_data/core/counters/site_settings_counter.h" |
| + |
| +#include "components/browsing_data/core/pref_names.h" |
| +#include "components/content_settings/core/browser/content_settings_registry.h" |
| + |
| +namespace browsing_data { |
| + |
| +SiteSettingsCounter::SiteSettingsCounter(HostContentSettingsMap* map) |
| + : map_(map) { |
| + DCHECK(map_); |
| +} |
| + |
| +SiteSettingsCounter::~SiteSettingsCounter() {} |
| + |
| +void SiteSettingsCounter::OnInitialized() {} |
| + |
| +const char* SiteSettingsCounter::GetPrefName() const { |
| + return browsing_data::prefs::kDeleteSiteSettings; |
| +} |
| + |
| +void SiteSettingsCounter::Count() { |
| + std::set<ContentSettingsPattern> patterns; |
|
msramek
2017/05/08 10:53:56
style: Include what you use.
dullweber
2017/05/08 15:50:24
I added includes for <set> and content_settings_pa
|
| + base::Time period_start = GetPeriodStart(); |
| + auto* registry = content_settings::ContentSettingsRegistry::GetInstance(); |
| + for (const content_settings::ContentSettingsInfo* info : *registry) { |
| + ContentSettingsType type = info->website_settings_info()->type(); |
| + ContentSettingsForOneType content_settings_list; |
| + map_->GetSettingsForOneType(type, content_settings::ResourceIdentifier(), |
| + &content_settings_list); |
| + for (const auto& content_setting : content_settings_list) { |
| + if (content_setting.source == "preference") { |
| + base::Time last_modified = map_->GetSettingLastModifiedDate( |
| + content_setting.primary_pattern, content_setting.secondary_pattern, |
| + type); |
| + if (last_modified >= period_start) { |
| + patterns.insert(content_setting.primary_pattern); |
| + } |
| + } |
| + } |
| + } |
| + ReportResult(patterns.size()); |
| +} |
| + |
| +} // namespace browsing_data |