| Index: chrome/browser/browsing_data/browsing_data_counter.cc
|
| diff --git a/chrome/browser/browsing_data/browsing_data_counter.cc b/chrome/browser/browsing_data/browsing_data_counter.cc
|
| index a716c32c90fc4eb61d0e0a2462538f7beedcb2a7..c9aea83b719c49451799fdf7b186349afe603bb3 100644
|
| --- a/chrome/browser/browsing_data/browsing_data_counter.cc
|
| +++ b/chrome/browser/browsing_data/browsing_data_counter.cc
|
| @@ -53,12 +53,50 @@ void BrowsingDataCounter::Restart() {
|
| if (!profile_->GetPrefs()->GetBoolean(GetPrefName()))
|
| return;
|
|
|
| - callback_.Run(false, 0u);
|
| + callback_.Run(make_scoped_ptr(new Result(this)));
|
|
|
| Count();
|
| }
|
|
|
| void BrowsingDataCounter::ReportResult(ResultInt value) {
|
| DCHECK(initialized_);
|
| - callback_.Run(true, value);
|
| + callback_.Run(make_scoped_ptr(new FinishedResult(this, value)));
|
| +}
|
| +
|
| +void BrowsingDataCounter::ReportResult(scoped_ptr<Result> result) {
|
| + DCHECK(initialized_);
|
| + callback_.Run(result.Pass());
|
| +}
|
| +
|
| +// BrowsingDataCounter::Result -------------------------------------------------
|
| +
|
| +BrowsingDataCounter::Result::Result(const BrowsingDataCounter* source)
|
| + : source_(source) {
|
| +}
|
| +
|
| +BrowsingDataCounter::Result::~Result() {
|
| +}
|
| +
|
| +bool BrowsingDataCounter::Result::Finished() const {
|
| + return false;
|
| +}
|
| +
|
| +// BrowsingDataCounter::FinishedResult -----------------------------------------
|
| +
|
| +BrowsingDataCounter::FinishedResult::FinishedResult(
|
| + const BrowsingDataCounter* source, ResultInt value)
|
| + : Result(source),
|
| + value_(value) {
|
| +}
|
| +
|
| +BrowsingDataCounter::FinishedResult::~FinishedResult() {
|
| +}
|
| +
|
| +bool BrowsingDataCounter::FinishedResult::Finished() const {
|
| + return true;
|
| +}
|
| +
|
| +BrowsingDataCounter::ResultInt
|
| + BrowsingDataCounter::FinishedResult::Value() const {
|
| + return value_;
|
| }
|
|
|