| 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..da8b7462a1bcddeb203ef2ba628484049629dbfe
 | 
| --- /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 ProfileCategoryStats
 | 
| +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 ProfileCategoryStat {
 | 
| +  std::string category;
 | 
| +  int count;
 | 
| +  bool success;
 | 
| +};
 | 
| +
 | 
| +// Definition of the return value of |ProfileStatisticsCallback|.
 | 
| +typedef std::vector<ProfileCategoryStat> ProfileCategoryStats;
 | 
| +
 | 
| +// Definition of the callback function. Note that a copy of
 | 
| +// |ProfileCategoryStats| is made each time the callback is called.
 | 
| +typedef base::Callback<void(ProfileCategoryStats)>
 | 
| +    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_
 | 
| 
 |