1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/browsing_data/browsing_data_counter.h"
7 #include "base/prefs/pref_service.h"
8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/common/pref_names.h"
11 BrowsingDataCounter::BrowsingDataCounter() {}
13 BrowsingDataCounter::~BrowsingDataCounter() {
16 void BrowsingDataCounter::Init(
18 const Callback
& callback
) {
19 DCHECK(!initialized_
);
25 base::Bind(&BrowsingDataCounter::RestartCounting
,
26 base::Unretained(this)));
28 prefs::kDeleteTimePeriod
,
30 base::Bind(&BrowsingDataCounter::RestartCounting
,
31 base::Unretained(this)));
38 Profile
* BrowsingDataCounter::GetProfile() const {
42 void BrowsingDataCounter::OnInitialized() {
45 base::Time
BrowsingDataCounter::GetPeriodStart() {
46 return BrowsingDataRemover::CalculateBeginDeleteTime(
47 static_cast<BrowsingDataRemover::TimePeriod
>(*period_
));
50 void BrowsingDataCounter::RestartCounting() {
53 // If this data type was unchecked for deletion, we do not need to count it.
54 if (!profile_
->GetPrefs()->GetBoolean(GetPrefName()))
57 callback_
.Run(false, 0u);
62 void BrowsingDataCounter::ReportResult(uint32 value
) {
64 callback_
.Run(true, value
);