Chromium Code Reviews| Index: chrome/browser/profiles/profile_statistics.h |
| diff --git a/chrome/browser/profiles/profile_statistics.h b/chrome/browser/profiles/profile_statistics.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f20a2d47f28cd317eae3e3d1572c6c9e03cfbb69 |
| --- /dev/null |
| +++ b/chrome/browser/profiles/profile_statistics.h |
| @@ -0,0 +1,50 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHROME_BROWSER_PROFILES_PROFILE_STATISTICS_H_ |
| +#define CHROME_BROWSER_PROFILES_PROFILE_STATISTICS_H_ |
| + |
| +#include <string> |
| +#include <utility> |
| +#include <vector> |
| +#include "base/task/cancelable_task_tracker.h" |
| +#include "chrome/browser/profiles/profile.h" |
| + |
| +namespace profiles { |
| + |
| +// Constants for the categories in ProfileStatisticsReturn |
| +extern const char kProfileStatisticsBrowsingHistory[]; |
| +extern const char kProfileStatisticsPasswords[]; |
| +extern const char kProfileStatisticsBookmarks[]; |
| +extern const char kProfileStatisticsSettings[]; |
| + |
| +// Definition of a single return value of |ProfileStatisticsCallback|. If |
| +// |success| is false, the statistics failed to load and |count| is undefined. |
| +// The data look like these: {"BrowsingHistory", 912, true}, |
| +// {"Passwords", 71, true}, {"Bookmarks", 120, true}, {"Settings", 200, true} |
| +struct ProfileStatisticsDatum { |
|
Mike Lerman
2015/08/17 14:23:38
I am highly entertained by your use of Datum! Sadl
lwchkg
2015/08/19 06:19:45
Acknowledged.
|
| + std::string category; |
| + int count; |
| + bool success; |
| +}; |
| + |
| +// Definition of the return value of |ProfileStatisticsCallback|. |
| +typedef std::vector<ProfileStatisticsDatum> ProfileStatisticsReturn; |
| + |
| +// Definition of the callback function. Note that a copy of |
| +// |ProfileStatisticsReturn| is made each time the callback is called. |
| +typedef base::Callback<void(ProfileStatisticsReturn)> |
| + ProfileStatisticsCallback; |
| + |
| +// This function collects statistical information about |profile| and returns |
| +// the information via |callback|. Currently bookmarks, history, logins and |
| +// preferences are counted. The callback function will probably be called more |
| +// than once so binding parameters with bind::Passed() is prohibited. |
| +void GetProfileStatistics(Profile* profile, |
| + const ProfileStatisticsCallback& callback, |
| + base::CancelableTaskTracker* tracker); |
| + |
| +} // namespace profiles |
| + |
| +#endif // CHROME_BROWSER_PROFILES_PROFILE_STATISTICS_H_ |