Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(431)

Side by Side Diff: ios/chrome/browser/browsing_data/browsing_data_counter_wrapper.cc

Issue 2350773002: Add a browsing data counter factory on iOS (Closed)
Patch Set: Addressed comments Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 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.
4
5 #include "ios/chrome/browser/browsing_data/browsing_data_counter_wrapper.h"
6
7 #include "base/callback.h"
8 #include "base/memory/ptr_util.h"
9 #include "components/prefs/pref_service.h"
10 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
11 #include "ios/chrome/browser/browsing_data/ios_browsing_data_counter_factory.h"
12
13 // static
14 std::unique_ptr<BrowsingDataCounterWrapper>
15 BrowsingDataCounterWrapper::CreateCounterWrapper(
16 const char* pref_name,
17 ios::ChromeBrowserState* browser_state,
18 PrefService* pref_service,
19 const UpdateUICallback& update_ui_callback) {
20 std::unique_ptr<browsing_data::BrowsingDataCounter> counter =
21 IOSBrowsingDataCounterFactory::GetForBrowserStateAndPref(browser_state,
22 pref_name);
23 if (!counter)
24 return nullptr;
25 return base::WrapUnique<BrowsingDataCounterWrapper>(
26 new BrowsingDataCounterWrapper(std::move(counter), pref_service,
27 update_ui_callback));
28 }
29
30 BrowsingDataCounterWrapper::~BrowsingDataCounterWrapper() {}
31
32 void BrowsingDataCounterWrapper::RestartCounter() {
33 counter_->Restart();
34 }
35
36 BrowsingDataCounterWrapper::BrowsingDataCounterWrapper(
37 std::unique_ptr<browsing_data::BrowsingDataCounter> counter,
38 PrefService* pref_service,
39 const UpdateUICallback& update_ui_callback)
40 : counter_(std::move(counter)), update_ui_callback_(update_ui_callback) {
41 counter_->Init(pref_service,
42 base::Bind(&BrowsingDataCounterWrapper::UpdateWithResult,
43 base::Unretained(this)));
44 }
45
46 void BrowsingDataCounterWrapper::UpdateWithResult(
47 std::unique_ptr<browsing_data::BrowsingDataCounter::Result> result) {
48 update_ui_callback_.Run(*result.get());
49 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698