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

Unified Diff: chrome/browser/profiles/profile_metrics.cc

Issue 1242793005: Refactor most c/b/profiles calls to ProfileInfoCache. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Windows unit test and ChromeOS build Created 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/profiles/profile_metrics.cc
diff --git a/chrome/browser/profiles/profile_metrics.cc b/chrome/browser/profiles/profile_metrics.cc
index a7bb17fd1487dd6ef646085cf760300f82f50320..327e0dd1b4ae667d2fa93c7b3d5bef8a73f1b68c 100644
--- a/chrome/browser/profiles/profile_metrics.cc
+++ b/chrome/browser/profiles/profile_metrics.cc
@@ -9,7 +9,8 @@
#include "base/metrics/histogram.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/profiles/profile_info_cache.h"
+#include "chrome/browser/profiles/profile_attributes_entry.h"
+#include "chrome/browser/profiles/profile_attributes_storage.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/signin/signin_header_helper.h"
#include "chrome/browser/ui/browser_finder.h"
@@ -71,17 +72,17 @@ ProfileMetrics::ProfileType GetProfileType(
}
void LogLockedProfileInformation(ProfileManager* manager) {
- const ProfileInfoCache& info_cache = manager->GetProfileInfoCache();
- size_t number_of_profiles = info_cache.GetNumberOfProfiles();
+ ProfileAttributesStorage& storage = manager->GetProfileAttributesStorage();
+ std::vector<ProfileAttributesEntry*> entries =
+ storage.GetAllProfilesAttributes();
base::Time now = base::Time::Now();
const int kMinutesInProfileValidDuration =
base::TimeDelta::FromDays(28).InMinutes();
- for (size_t i = 0; i < number_of_profiles; ++i) {
+ for (ProfileAttributesEntry* entry: entries) {
// Find when locked profiles were locked
- if (info_cache.ProfileIsSigninRequiredAtIndex(i)) {
- base::TimeDelta time_since_lock = now -
- info_cache.GetProfileActiveTimeAtIndex(i);
+ if (entry->IsSigninRequired()) {
+ base::TimeDelta time_since_lock = now - entry->GetActiveTime();
// Specifying 100 buckets for the histogram to get a higher level of
// granularity in the reported data, given the large number of possible
// values (kMinutesInProfileValidDuration > 40,000).
@@ -94,13 +95,12 @@ void LogLockedProfileInformation(ProfileManager* manager) {
}
}
-bool HasProfileAtIndexBeenActiveSince(const ProfileInfoCache& info_cache,
- int index,
+bool HasProfileAtIndexBeenActiveSince(const ProfileAttributesEntry* entry,
const base::Time& active_limit) {
#if !defined(OS_ANDROID) && !defined(OS_IOS)
// TODO(mlerman): iOS and Android should set an ActiveTime in the
// ProfileInfoCache. (see ProfileManager::OnBrowserSetLastActive)
- if (info_cache.GetProfileActiveTimeAtIndex(index) < active_limit)
+ if (entry->GetActiveTime() < active_limit)
return false;
#endif
return true;
@@ -143,29 +143,30 @@ enum ProfileAvatar {
bool ProfileMetrics::CountProfileInformation(ProfileManager* manager,
ProfileCounts* counts) {
- const ProfileInfoCache& info_cache = manager->GetProfileInfoCache();
- size_t number_of_profiles = info_cache.GetNumberOfProfiles();
- counts->total = number_of_profiles;
+ ProfileAttributesStorage& storage = manager->GetProfileAttributesStorage();
+ counts->total = storage.GetNumberOfProfiles();
// Ignore other metrics if we have no profiles.
- if (!number_of_profiles)
+ if (!counts->total)
return false;
// Maximum age for "active" profile is 4 weeks.
base::Time oldest = base::Time::Now() -
base::TimeDelta::FromDays(kMaximumDaysOfDisuse);
- for (size_t i = 0; i < number_of_profiles; ++i) {
- if (!HasProfileAtIndexBeenActiveSince(info_cache, i, oldest)) {
+ std::vector<ProfileAttributesEntry*> entries =
+ storage.GetAllProfilesAttributes();
+ for (ProfileAttributesEntry* entry: entries) {
Mike Lerman 2015/08/06 16:06:20 nit: space between entry and :
+ if (!HasProfileAtIndexBeenActiveSince(entry, oldest)) {
counts->unused++;
} else {
- if (info_cache.ProfileIsSupervisedAtIndex(i))
+ if (entry->IsSupervised())
counts->supervised++;
- if (info_cache.ProfileIsAuthenticatedAtIndex(i)) {
+ if (entry->IsAuthenticated()) {
counts->signedin++;
- if (info_cache.IsUsingGAIAPictureOfProfileAtIndex(i))
+ if (entry->IsUsingGAIAPicture())
counts->gaia_icon++;
- if (info_cache.ProfileIsAuthErrorAtIndex(i))
+ if (entry->IsAuthError())
counts->auth_errors++;
}
}

Powered by Google App Engine
This is Rietveld 408576698