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"
10 BrowsingDataCounter::BrowsingDataCounter()
15 BrowsingDataCounter::~BrowsingDataCounter() {
18 void BrowsingDataCounter::Init(
20 const Callback
& callback
) {
21 DCHECK(!initialized_
);
27 base::Bind(&BrowsingDataCounter::OnPrefChanged
,
28 base::Unretained(this)));
34 void BrowsingDataCounter::OnPrefChanged() {
37 // If this data type was unchecked for deletion, we do not need to count it.
38 if (!profile_
->GetPrefs()->GetBoolean(GetPrefName()))
41 // If counting is already in progress, do not restart it.
45 callback_
.Run(false, 0u);
52 void BrowsingDataCounter::Count() {
55 void BrowsingDataCounter::ReportResult(uint32 value
) {
59 callback_
.Run(true, value
);