blob: 2d9f2b19b9c07bb54ce19f07878ae02217259121 [file] [log] [blame]
// Copyright 2013 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.
#include "chrome/browser/ui/bookmarks/bookmark_stats.h"
#include "chrome/browser/profiles/profile.h"
#include "base/metrics/histogram_macros.h"
#include "base/metrics/user_metrics.h"
#include "components/bookmarks/browser/bookmark_model.h"
using bookmarks::BookmarkNode;
namespace {
bool IsBookmarkBarLocation(BookmarkLaunchLocation location) {
return location == BOOKMARK_LAUNCH_LOCATION_ATTACHED_BAR ||
location == BOOKMARK_LAUNCH_LOCATION_BAR_SUBFOLDER;
}
auto GetMetricProfile(const Profile* profile) {
DCHECK(profile);
DCHECK(profile->IsRegularProfile() || profile->IsIncognitoProfile());
return profile->IsRegularProfile()
? profile_metrics::BrowserProfileType::kRegular
: profile_metrics::BrowserProfileType::kIncognito;
}
} // namespace
void RecordBookmarkLaunch(BookmarkLaunchLocation location,
profile_metrics::BrowserProfileType profile_type) {
if (IsBookmarkBarLocation(location)) {
base::RecordAction(base::UserMetricsAction("ClickedBookmarkBarURLButton"));
} else if (location == BOOKMARK_LAUNCH_LOCATION_APP_MENU) {
base::RecordAction(
base::UserMetricsAction("WrenchMenu_Bookmarks_LaunchURL"));
} else if (location == BOOKMARK_LAUNCH_LOCATION_TOP_MENU) {
base::RecordAction(base::UserMetricsAction("TopMenu_Bookmarks_LaunchURL"));
}
UMA_HISTOGRAM_ENUMERATION("Bookmarks.LaunchLocation", location,
BOOKMARK_LAUNCH_LOCATION_LIMIT);
UMA_HISTOGRAM_ENUMERATION("Bookmarks.UsageCountPerProfileType", profile_type);
}
void RecordBookmarkFolderLaunch(BookmarkLaunchLocation location) {
if (IsBookmarkBarLocation(location)) {
base::RecordAction(
base::UserMetricsAction("MiddleClickedBookmarkBarFolder"));
}
}
void RecordBookmarkFolderOpen(BookmarkLaunchLocation location) {
if (IsBookmarkBarLocation(location))
base::RecordAction(base::UserMetricsAction("ClickedBookmarkBarFolder"));
}
void RecordBookmarkAppsPageOpen(BookmarkLaunchLocation location) {
if (IsBookmarkBarLocation(location)) {
base::RecordAction(
base::UserMetricsAction("ClickedBookmarkBarAppsShortcutButton"));
}
}
void RecordBookmarksAdded(const Profile* profile) {
profile_metrics::BrowserProfileType profile_type = GetMetricProfile(profile);
UMA_HISTOGRAM_ENUMERATION("Bookmarks.AddedPerProfileType", profile_type);
}
void RecordBookmarkAllTabsWithTabsCount(const Profile* profile, int count) {
profile_metrics::BrowserProfileType profile_type = GetMetricProfile(profile);
if (profile_type == profile_metrics::BrowserProfileType::kRegular) {
UMA_HISTOGRAM_COUNTS_100("Bookmarks.BookmarkAllTabsWithTabsCount.Regular",
count);
} else {
UMA_HISTOGRAM_COUNTS_100("Bookmarks.BookmarkAllTabsWithTabsCount.Incognito",
count);
}
}