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

Side by Side Diff: chrome/browser/browsing_data/history_counter.h

Issue 2153863002: Move counters for passwords, history and autofill to components (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@separate_build_targets_in_components_bd
Patch Set: Addressed comments Created 4 years, 5 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 (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.
4
5 #ifndef CHROME_BROWSER_BROWSING_DATA_HISTORY_COUNTER_H_
6 #define CHROME_BROWSER_BROWSING_DATA_HISTORY_COUNTER_H_
7
8 #include "base/memory/weak_ptr.h"
9 #include "base/task/cancelable_task_tracker.h"
10 #include "base/timer/timer.h"
11 #include "components/browsing_data/core/counters/browsing_data_counter.h"
12 #include "components/history/core/browser/history_service.h"
13 #include "components/history/core/browser/web_history_service.h"
14 #include "components/sync_driver/sync_service_observer.h"
15
16 class Profile;
17
18 class ProfileSyncService;
19
20 class HistoryCounter : public browsing_data::BrowsingDataCounter,
21 public sync_driver::SyncServiceObserver {
22 public:
23 class HistoryResult : public FinishedResult {
24 public:
25 HistoryResult(const HistoryCounter* source,
26 ResultInt value,
27 bool has_synced_visits);
28 ~HistoryResult() override;
29
30 bool has_synced_visits() const { return has_synced_visits_; }
31
32 private:
33 bool has_synced_visits_;
34 };
35
36 explicit HistoryCounter(Profile* profile);
37 ~HistoryCounter() override;
38
39 void OnInitialized() override;
40
41 // Whether there are counting tasks in progress. Only used for testing.
42 bool HasTrackedTasks();
43
44 // Make the history counter use a custom WebHistoryService instance. Only
45 // used for testing.
46 void SetWebHistoryServiceForTesting(history::WebHistoryService* service);
47
48 private:
49 Profile* profile_;
50
51 BrowsingDataCounter::ResultInt local_result_;
52 bool has_synced_visits_;
53
54 bool local_counting_finished_;
55 bool web_counting_finished_;
56
57 history::WebHistoryService* testing_web_history_service_;
58
59 base::CancelableTaskTracker cancelable_task_tracker_;
60 std::unique_ptr<history::WebHistoryService::Request> web_history_request_;
61 base::OneShotTimer web_history_timeout_;
62
63 base::ThreadChecker thread_checker_;
64
65 ProfileSyncService* sync_service_;
66 bool history_sync_enabled_;
67
68 base::WeakPtrFactory<HistoryCounter> weak_ptr_factory_;
69
70 void Count() override;
71
72 void OnGetLocalHistoryCount(history::HistoryCountResult result);
73 void OnGetWebHistoryCount(history::WebHistoryService::Request* request,
74 const base::DictionaryValue* result);
75 void OnWebHistoryTimeout();
76 void MergeResults();
77
78 // SyncServiceObserver implementation.
79 void OnStateChanged() override;
80 };
81
82 #endif // CHROME_BROWSER_BROWSING_DATA_HISTORY_COUNTER_H_
OLDNEW
« no previous file with comments | « chrome/browser/browsing_data/downloads_counter.cc ('k') | chrome/browser/browsing_data/history_counter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698