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

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

Issue 2640033006: Convert AutoBlocker static class to KeyedService. (Closed)
Patch Set: Git surgery. Created 3 years, 10 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 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 Profile* profile) { 264 Profile* profile) {
265 RecordPermissionRequest(permission, requesting_origin, embedding_origin, 265 RecordPermissionRequest(permission, requesting_origin, embedding_origin,
266 profile); 266 profile);
267 } 267 }
268 268
269 void PermissionUmaUtil::PermissionGranted( 269 void PermissionUmaUtil::PermissionGranted(
270 PermissionType permission, 270 PermissionType permission,
271 PermissionRequestGestureType gesture_type, 271 PermissionRequestGestureType gesture_type,
272 const GURL& requesting_origin, 272 const GURL& requesting_origin,
273 Profile* profile) { 273 Profile* profile) {
274 PermissionDecisionAutoBlocker* autoblocker =
275 PermissionDecisionAutoBlocker::GetForProfile(profile);
274 RecordPermissionAction(permission, GRANTED, PermissionSourceUI::PROMPT, 276 RecordPermissionAction(permission, GRANTED, PermissionSourceUI::PROMPT,
275 gesture_type, requesting_origin, profile); 277 gesture_type, requesting_origin, profile);
276 RecordPermissionPromptPriorCount( 278 RecordPermissionPromptPriorCount(
277 permission, kPermissionsPromptAcceptedPriorDismissCountPrefix, 279 permission, kPermissionsPromptAcceptedPriorDismissCountPrefix,
278 PermissionDecisionAutoBlocker::GetDismissCount(requesting_origin, 280 autoblocker->GetDismissCount(requesting_origin, permission));
279 permission, profile));
280 RecordPermissionPromptPriorCount( 281 RecordPermissionPromptPriorCount(
281 permission, kPermissionsPromptAcceptedPriorIgnoreCountPrefix, 282 permission, kPermissionsPromptAcceptedPriorIgnoreCountPrefix,
282 PermissionDecisionAutoBlocker::GetIgnoreCount(requesting_origin, 283 autoblocker->GetIgnoreCount(requesting_origin, permission));
283 permission, profile));
284 } 284 }
285 285
286 void PermissionUmaUtil::PermissionDenied( 286 void PermissionUmaUtil::PermissionDenied(
287 PermissionType permission, 287 PermissionType permission,
288 PermissionRequestGestureType gesture_type, 288 PermissionRequestGestureType gesture_type,
289 const GURL& requesting_origin, 289 const GURL& requesting_origin,
290 Profile* profile) { 290 Profile* profile) {
291 PermissionDecisionAutoBlocker* autoblocker =
292 PermissionDecisionAutoBlocker::GetForProfile(profile);
291 RecordPermissionAction(permission, DENIED, PermissionSourceUI::PROMPT, 293 RecordPermissionAction(permission, DENIED, PermissionSourceUI::PROMPT,
292 gesture_type, requesting_origin, profile); 294 gesture_type, requesting_origin, profile);
293 RecordPermissionPromptPriorCount( 295 RecordPermissionPromptPriorCount(
294 permission, kPermissionsPromptDeniedPriorDismissCountPrefix, 296 permission, kPermissionsPromptDeniedPriorDismissCountPrefix,
295 PermissionDecisionAutoBlocker::GetDismissCount(requesting_origin, 297 autoblocker->GetDismissCount(requesting_origin, permission));
296 permission, profile));
297 RecordPermissionPromptPriorCount( 298 RecordPermissionPromptPriorCount(
298 permission, kPermissionsPromptDeniedPriorIgnoreCountPrefix, 299 permission, kPermissionsPromptDeniedPriorIgnoreCountPrefix,
299 PermissionDecisionAutoBlocker::GetIgnoreCount(requesting_origin, 300 autoblocker->GetIgnoreCount(requesting_origin, permission));
300 permission, profile));
301 } 301 }
302 302
303 void PermissionUmaUtil::PermissionDismissed( 303 void PermissionUmaUtil::PermissionDismissed(
304 PermissionType permission, 304 PermissionType permission,
305 PermissionRequestGestureType gesture_type, 305 PermissionRequestGestureType gesture_type,
306 const GURL& requesting_origin, 306 const GURL& requesting_origin,
307 Profile* profile) { 307 Profile* profile) {
308 PermissionDecisionAutoBlocker* autoblocker =
309 PermissionDecisionAutoBlocker::GetForProfile(profile);
308 RecordPermissionAction(permission, DISMISSED, PermissionSourceUI::PROMPT, 310 RecordPermissionAction(permission, DISMISSED, PermissionSourceUI::PROMPT,
309 gesture_type, requesting_origin, profile); 311 gesture_type, requesting_origin, profile);
310 RecordPermissionPromptPriorCount( 312 RecordPermissionPromptPriorCount(
311 permission, kPermissionsPromptDismissedPriorDismissCountPrefix, 313 permission, kPermissionsPromptDismissedPriorDismissCountPrefix,
312 PermissionDecisionAutoBlocker::GetDismissCount(requesting_origin, 314 autoblocker->GetDismissCount(requesting_origin, permission));
313 permission, profile));
314 RecordPermissionPromptPriorCount( 315 RecordPermissionPromptPriorCount(
315 permission, kPermissionsPromptDismissedPriorIgnoreCountPrefix, 316 permission, kPermissionsPromptDismissedPriorIgnoreCountPrefix,
316 PermissionDecisionAutoBlocker::GetIgnoreCount(requesting_origin, 317 autoblocker->GetIgnoreCount(requesting_origin, permission));
317 permission, profile));
318 } 318 }
319 319
320 void PermissionUmaUtil::PermissionIgnored( 320 void PermissionUmaUtil::PermissionIgnored(
321 PermissionType permission, 321 PermissionType permission,
322 PermissionRequestGestureType gesture_type, 322 PermissionRequestGestureType gesture_type,
323 const GURL& requesting_origin, 323 const GURL& requesting_origin,
324 Profile* profile) { 324 Profile* profile) {
325 PermissionDecisionAutoBlocker* autoblocker =
326 PermissionDecisionAutoBlocker::GetForProfile(profile);
325 RecordPermissionAction(permission, IGNORED, PermissionSourceUI::PROMPT, 327 RecordPermissionAction(permission, IGNORED, PermissionSourceUI::PROMPT,
326 gesture_type, requesting_origin, profile); 328 gesture_type, requesting_origin, profile);
327 RecordPermissionPromptPriorCount( 329 RecordPermissionPromptPriorCount(
328 permission, kPermissionsPromptIgnoredPriorDismissCountPrefix, 330 permission, kPermissionsPromptIgnoredPriorDismissCountPrefix,
329 PermissionDecisionAutoBlocker::GetDismissCount(requesting_origin, 331 autoblocker->GetDismissCount(requesting_origin, permission));
330 permission, profile));
331 RecordPermissionPromptPriorCount( 332 RecordPermissionPromptPriorCount(
332 permission, kPermissionsPromptIgnoredPriorIgnoreCountPrefix, 333 permission, kPermissionsPromptIgnoredPriorIgnoreCountPrefix,
333 PermissionDecisionAutoBlocker::GetIgnoreCount(requesting_origin, 334 autoblocker->GetIgnoreCount(requesting_origin, permission));
334 permission, profile));
335 335
336 // RecordPermission* methods need to be called before RecordIgnore in the 336 // RecordPermission* methods need to be called before RecordIgnore in the
337 // blocker because they record the number of prior ignore and dismiss values, 337 // blocker because they record the number of prior ignore and dismiss values,
338 // and we don't want to include the current ignore. 338 // and we don't want to include the current ignore.
339 PermissionDecisionAutoBlocker::RecordIgnore(requesting_origin, permission, 339 autoblocker->RecordIgnore(requesting_origin, permission);
340 profile);
341 } 340 }
342 341
343 void PermissionUmaUtil::PermissionRevoked(PermissionType permission, 342 void PermissionUmaUtil::PermissionRevoked(PermissionType permission,
344 PermissionSourceUI source_ui, 343 PermissionSourceUI source_ui,
345 const GURL& revoked_origin, 344 const GURL& revoked_origin,
346 Profile* profile) { 345 Profile* profile) {
347 // TODO(tsergeant): Expand metrics definitions for revocation to include all 346 // TODO(tsergeant): Expand metrics definitions for revocation to include all
348 // permissions. 347 // permissions.
349 if (permission == PermissionType::NOTIFICATIONS || 348 if (permission == PermissionType::NOTIFICATIONS ||
350 permission == PermissionType::GEOLOCATION || 349 permission == PermissionType::GEOLOCATION ||
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 } 620 }
622 621
623 void PermissionUmaUtil::RecordPermissionAction( 622 void PermissionUmaUtil::RecordPermissionAction(
624 PermissionType permission, 623 PermissionType permission,
625 PermissionAction action, 624 PermissionAction action,
626 PermissionSourceUI source_ui, 625 PermissionSourceUI source_ui,
627 PermissionRequestGestureType gesture_type, 626 PermissionRequestGestureType gesture_type,
628 const GURL& requesting_origin, 627 const GURL& requesting_origin,
629 Profile* profile) { 628 Profile* profile) {
630 if (IsOptedIntoPermissionActionReporting(profile)) { 629 if (IsOptedIntoPermissionActionReporting(profile)) {
630 PermissionDecisionAutoBlocker* autoblocker =
631 PermissionDecisionAutoBlocker::GetForProfile(profile);
631 // TODO(kcarattini): Pass in the actual persist decision when it becomes 632 // TODO(kcarattini): Pass in the actual persist decision when it becomes
632 // available. 633 // available.
633 PermissionReportInfo report_info(requesting_origin, permission, action, 634 PermissionReportInfo report_info(
634 source_ui, gesture_type, PermissionPersistDecision::UNSPECIFIED, 635 requesting_origin, permission, action, source_ui, gesture_type,
635 PermissionDecisionAutoBlocker::GetDismissCount( 636 PermissionPersistDecision::UNSPECIFIED,
636 requesting_origin, permission, profile), 637 autoblocker->GetDismissCount(requesting_origin, permission),
637 PermissionDecisionAutoBlocker::GetIgnoreCount( 638 autoblocker->GetIgnoreCount(requesting_origin, permission));
638 requesting_origin, permission, profile));
639 g_browser_process->safe_browsing_service() 639 g_browser_process->safe_browsing_service()
640 ->ui_manager()->ReportPermissionAction(report_info); 640 ->ui_manager()->ReportPermissionAction(report_info);
641 } 641 }
642 642
643 bool secure_origin = content::IsOriginSecure(requesting_origin); 643 bool secure_origin = content::IsOriginSecure(requesting_origin);
644 644
645 switch (permission) { 645 switch (permission) {
646 case PermissionType::GEOLOCATION: 646 case PermissionType::GEOLOCATION:
647 PERMISSION_ACTION_UMA(secure_origin, "Permissions.Action.Geolocation", 647 PERMISSION_ACTION_UMA(secure_origin, "Permissions.Action.Geolocation",
648 "Permissions.Action.SecureOrigin.Geolocation", 648 "Permissions.Action.SecureOrigin.Geolocation",
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
716 if (!deprecated_metric.empty() && rappor_service) { 716 if (!deprecated_metric.empty() && rappor_service) {
717 rappor::SampleDomainAndRegistryFromGURL(rappor_service, deprecated_metric, 717 rappor::SampleDomainAndRegistryFromGURL(rappor_service, deprecated_metric,
718 requesting_origin); 718 requesting_origin);
719 719
720 std::string rappor_metric = deprecated_metric + "2"; 720 std::string rappor_metric = deprecated_metric + "2";
721 rappor_service->RecordSampleString( 721 rappor_service->RecordSampleString(
722 rappor_metric, rappor::LOW_FREQUENCY_ETLD_PLUS_ONE_RAPPOR_TYPE, 722 rappor_metric, rappor::LOW_FREQUENCY_ETLD_PLUS_ONE_RAPPOR_TYPE,
723 rappor::GetDomainAndRegistrySampleFromGURL(requesting_origin)); 723 rappor::GetDomainAndRegistrySampleFromGURL(requesting_origin));
724 } 724 }
725 } 725 }
OLDNEW
« no previous file with comments | « chrome/browser/permissions/permission_decision_auto_blocker_unittest.cc ('k') | chrome/browser/permissions/permission_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698