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

Side by Side Diff: chrome/browser/permissions/permission_uma_util.cc

Issue 2254103003: Permission Action Reporting: Bundle report data. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review Comments Created 4 years, 4 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
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/permissions/permission_uma_util.h" 5 #include "chrome/browser/permissions/permission_uma_util.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/metrics/histogram_macros.h" 10 #include "base/metrics/histogram_macros.h"
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 } else { 171 } else {
172 UMA_HISTOGRAM_ENUMERATION( 172 UMA_HISTOGRAM_ENUMERATION(
173 "Permissions.Requested.SameOrigin", 173 "Permissions.Requested.SameOrigin",
174 static_cast<base::HistogramBase::Sample>(permission), 174 static_cast<base::HistogramBase::Sample>(permission),
175 static_cast<base::HistogramBase::Sample>(PermissionType::NUM)); 175 static_cast<base::HistogramBase::Sample>(PermissionType::NUM));
176 } 176 }
177 } 177 }
178 178
179 } // anonymous namespace 179 } // anonymous namespace
180 180
181 // PermissionReportInfo -------------------------------------------------------
182 PermissionReportInfo::PermissionReportInfo(
183 const GURL& origin,
184 PermissionType permission,
185 PermissionAction action,
186 PermissionSourceUI source_ui,
187 PermissionRequestGestureType gesture_type,
188 PermissionPersistDecision persist_decision,
189 int num_prior_dismissals,
190 int num_prior_ignores)
191 : origin(origin), permission(permission), action(action),
192 source_ui(source_ui), gesture_type(gesture_type),
193 persist_decision(persist_decision),
194 num_prior_dismissals(num_prior_dismissals),
195 num_prior_ignores(num_prior_ignores) {}
196
197 PermissionReportInfo::PermissionReportInfo(
198 const PermissionReportInfo& other) = default;
199
200 // PermissionUmaUtil ----------------------------------------------------------
201
181 const char PermissionUmaUtil::kPermissionsPromptShown[] = 202 const char PermissionUmaUtil::kPermissionsPromptShown[] =
182 "Permissions.Prompt.Shown"; 203 "Permissions.Prompt.Shown";
183 const char PermissionUmaUtil::kPermissionsPromptShownGesture[] = 204 const char PermissionUmaUtil::kPermissionsPromptShownGesture[] =
184 "Permissions.Prompt.Shown.Gesture"; 205 "Permissions.Prompt.Shown.Gesture";
185 const char PermissionUmaUtil::kPermissionsPromptShownNoGesture[] = 206 const char PermissionUmaUtil::kPermissionsPromptShownNoGesture[] =
186 "Permissions.Prompt.Shown.NoGesture"; 207 "Permissions.Prompt.Shown.NoGesture";
187 const char PermissionUmaUtil::kPermissionsPromptAccepted[] = 208 const char PermissionUmaUtil::kPermissionsPromptAccepted[] =
188 "Permissions.Prompt.Accepted"; 209 "Permissions.Prompt.Accepted";
189 const char PermissionUmaUtil::kPermissionsPromptAcceptedGesture[] = 210 const char PermissionUmaUtil::kPermissionsPromptAcceptedGesture[] =
190 "Permissions.Prompt.Accepted.Gesture"; 211 "Permissions.Prompt.Accepted.Gesture";
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 } 600 }
580 601
581 void PermissionUmaUtil::RecordPermissionAction( 602 void PermissionUmaUtil::RecordPermissionAction(
582 PermissionType permission, 603 PermissionType permission,
583 PermissionAction action, 604 PermissionAction action,
584 PermissionSourceUI source_ui, 605 PermissionSourceUI source_ui,
585 PermissionRequestGestureType gesture_type, 606 PermissionRequestGestureType gesture_type,
586 const GURL& requesting_origin, 607 const GURL& requesting_origin,
587 Profile* profile) { 608 Profile* profile) {
588 if (IsOptedIntoPermissionActionReporting(profile)) { 609 if (IsOptedIntoPermissionActionReporting(profile)) {
610 // TODO(kcarattini): Pass in the actual persist decision when it becomes
611 // available.
612 PermissionReportInfo report_info(requesting_origin, permission, action,
613 source_ui, gesture_type, PermissionPersistDecision::UNSPECIFIED,
614 PermissionDecisionAutoBlocker::GetDismissCount(
615 requesting_origin, permission, profile),
616 PermissionDecisionAutoBlocker::GetIgnoreCount(
617 requesting_origin, permission, profile));
589 g_browser_process->safe_browsing_service() 618 g_browser_process->safe_browsing_service()
590 ->ui_manager() 619 ->ui_manager()->ReportPermissionAction(report_info);
591 ->ReportPermissionAction(requesting_origin, permission, action,
592 source_ui, gesture_type,
593 PermissionDecisionAutoBlocker::GetDismissCount(
594 requesting_origin, permission, profile),
595 PermissionDecisionAutoBlocker::GetIgnoreCount(
596 requesting_origin, permission, profile));
597 } 620 }
598 621
599 bool secure_origin = content::IsOriginSecure(requesting_origin); 622 bool secure_origin = content::IsOriginSecure(requesting_origin);
600 623
601 switch (permission) { 624 switch (permission) {
602 case PermissionType::GEOLOCATION: 625 case PermissionType::GEOLOCATION:
603 PERMISSION_ACTION_UMA(secure_origin, "Permissions.Action.Geolocation", 626 PERMISSION_ACTION_UMA(secure_origin, "Permissions.Action.Geolocation",
604 "Permissions.Action.SecureOrigin.Geolocation", 627 "Permissions.Action.SecureOrigin.Geolocation",
605 "Permissions.Action.InsecureOrigin.Geolocation", 628 "Permissions.Action.InsecureOrigin.Geolocation",
606 action); 629 action);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
666 if (!deprecated_metric.empty() && rappor_service) { 689 if (!deprecated_metric.empty() && rappor_service) {
667 rappor::SampleDomainAndRegistryFromGURL(rappor_service, deprecated_metric, 690 rappor::SampleDomainAndRegistryFromGURL(rappor_service, deprecated_metric,
668 requesting_origin); 691 requesting_origin);
669 692
670 std::string rappor_metric = deprecated_metric + "2"; 693 std::string rappor_metric = deprecated_metric + "2";
671 rappor_service->RecordSample( 694 rappor_service->RecordSample(
672 rappor_metric, rappor::LOW_FREQUENCY_ETLD_PLUS_ONE_RAPPOR_TYPE, 695 rappor_metric, rappor::LOW_FREQUENCY_ETLD_PLUS_ONE_RAPPOR_TYPE,
673 rappor::GetDomainAndRegistrySampleFromGURL(requesting_origin)); 696 rappor::GetDomainAndRegistrySampleFromGURL(requesting_origin));
674 } 697 }
675 } 698 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698