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

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

Issue 2123653006: Rename PermissionBubbleRequest to PermissionRequest (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@permission_manager_rename
Patch Set: PermissionBubbleType -> PermissionRequestType Created 4 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 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/metrics/histogram_macros.h" 9 #include "base/metrics/histogram_macros.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
11 #include "chrome/browser/browser_process.h" 11 #include "chrome/browser/browser_process.h"
12 #include "chrome/browser/permissions/permission_manager.h" 12 #include "chrome/browser/permissions/permission_manager.h"
13 #include "chrome/browser/permissions/permission_request.h"
13 #include "chrome/browser/permissions/permission_util.h" 14 #include "chrome/browser/permissions/permission_util.h"
14 #include "chrome/browser/profiles/profile.h" 15 #include "chrome/browser/profiles/profile.h"
15 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" 16 #include "chrome/browser/safe_browsing/safe_browsing_service.h"
17 #include "chrome/browser/safe_browsing/ui_manager.h"
18 #include "chrome/browser/sync/profile_sync_service_factory.h"
19 #include "chrome/common/chrome_switches.h"
20 #include "chrome/common/pref_names.h"
21 #include "components/browser_sync/browser/profile_sync_service.h"
22 #include "components/prefs/pref_service.h"
16 #include "components/rappor/rappor_service.h" 23 #include "components/rappor/rappor_service.h"
17 #include "components/rappor/rappor_utils.h" 24 #include "components/rappor/rappor_utils.h"
18 #include "content/public/browser/permission_type.h" 25 #include "content/public/browser/permission_type.h"
19 #include "content/public/common/origin_util.h" 26 #include "content/public/common/origin_util.h"
20 #include "url/gurl.h" 27 #include "url/gurl.h"
21 28
22 // UMA keys need to be statically initialized so plain function would not 29 // UMA keys need to be statically initialized so plain function would not
23 // work. Use macros instead. 30 // work. Use macros instead.
24 #define PERMISSION_ACTION_UMA(secure_origin, permission, permission_secure, \ 31 #define PERMISSION_ACTION_UMA(secure_origin, permission, permission_secure, \
25 permission_insecure, action) \ 32 permission_insecure, action) \
26 UMA_HISTOGRAM_ENUMERATION(permission, action, PERMISSION_ACTION_NUM); \ 33 UMA_HISTOGRAM_ENUMERATION(permission, action, PERMISSION_ACTION_NUM); \
27 if (secure_origin) { \ 34 if (secure_origin) { \
28 UMA_HISTOGRAM_ENUMERATION(permission_secure, action, \ 35 UMA_HISTOGRAM_ENUMERATION(permission_secure, action, \
29 PERMISSION_ACTION_NUM); \ 36 PERMISSION_ACTION_NUM); \
30 } else { \ 37 } else { \
31 UMA_HISTOGRAM_ENUMERATION(permission_insecure, action, \ 38 UMA_HISTOGRAM_ENUMERATION(permission_insecure, action, \
32 PERMISSION_ACTION_NUM); \ 39 PERMISSION_ACTION_NUM); \
33 } 40 }
34 41
35 #define PERMISSION_BUBBLE_TYPE_UMA(metric_name, permission_bubble_type) \ 42 #define PERMISSION_BUBBLE_TYPE_UMA(metric_name, permission_bubble_type) \
36 UMA_HISTOGRAM_ENUMERATION( \ 43 UMA_HISTOGRAM_ENUMERATION( \
37 metric_name, \ 44 metric_name, \
38 static_cast<base::HistogramBase::Sample>(permission_bubble_type), \ 45 static_cast<base::HistogramBase::Sample>(permission_bubble_type), \
39 static_cast<base::HistogramBase::Sample>(PermissionBubbleType::NUM)) 46 static_cast<base::HistogramBase::Sample>(PermissionRequestType::NUM))
40 47
41 using content::PermissionType; 48 using content::PermissionType;
42 49
43 namespace { 50 namespace {
44 51
45 const std::string GetRapporMetric(PermissionType permission, 52 const std::string GetRapporMetric(PermissionType permission,
46 PermissionAction action) { 53 PermissionAction action) {
47 std::string action_str; 54 std::string action_str;
48 switch (action) { 55 switch (action) {
49 case GRANTED: 56 case GRANTED:
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 // permissions. 312 // permissions.
306 if (permission == PermissionType::NOTIFICATIONS || 313 if (permission == PermissionType::NOTIFICATIONS ||
307 permission == PermissionType::GEOLOCATION || 314 permission == PermissionType::GEOLOCATION ||
308 permission == PermissionType::AUDIO_CAPTURE || 315 permission == PermissionType::AUDIO_CAPTURE ||
309 permission == PermissionType::VIDEO_CAPTURE) { 316 permission == PermissionType::VIDEO_CAPTURE) {
310 RecordPermissionAction(permission, REVOKED, revoked_origin); 317 RecordPermissionAction(permission, REVOKED, revoked_origin);
311 } 318 }
312 } 319 }
313 320
314 void PermissionUmaUtil::PermissionPromptShown( 321 void PermissionUmaUtil::PermissionPromptShown(
315 const std::vector<PermissionBubbleRequest*>& requests) { 322 const std::vector<PermissionRequest*>& requests) {
316 DCHECK(!requests.empty()); 323 DCHECK(!requests.empty());
317 324
318 PermissionBubbleType permission_prompt_type = PermissionBubbleType::MULTIPLE; 325 PermissionRequestType permission_prompt_type =
326 PermissionRequestType::MULTIPLE;
319 if (requests.size() == 1) 327 if (requests.size() == 1)
320 permission_prompt_type = requests[0]->GetPermissionBubbleType(); 328 permission_prompt_type = requests[0]->GetPermissionRequestType();
321 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptShown, permission_prompt_type); 329 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptShown, permission_prompt_type);
322 330
323 UMA_HISTOGRAM_ENUMERATION( 331 UMA_HISTOGRAM_ENUMERATION(
324 kPermissionsPromptRequestsPerPrompt, 332 kPermissionsPromptRequestsPerPrompt,
325 static_cast<base::HistogramBase::Sample>(requests.size()), 333 static_cast<base::HistogramBase::Sample>(requests.size()),
326 static_cast<base::HistogramBase::Sample>(10)); 334 static_cast<base::HistogramBase::Sample>(10));
327 335
328 if (requests.size() > 1) { 336 if (requests.size() > 1) {
329 for (const auto* request : requests) { 337 for (const auto* request : requests) {
330 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptMergedBubbleTypes, 338 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptMergedBubbleTypes,
331 request->GetPermissionBubbleType()); 339 request->GetPermissionRequestType());
332 } 340 }
333 } 341 }
334 } 342 }
335 343
336 void PermissionUmaUtil::PermissionPromptAccepted( 344 void PermissionUmaUtil::PermissionPromptAccepted(
337 const std::vector<PermissionBubbleRequest*>& requests, 345 const std::vector<PermissionRequest*>& requests,
338 const std::vector<bool>& accept_states) { 346 const std::vector<bool>& accept_states) {
339 DCHECK(!requests.empty()); 347 DCHECK(!requests.empty());
340 DCHECK(requests.size() == accept_states.size()); 348 DCHECK(requests.size() == accept_states.size());
341 349
342 bool all_accepted = accept_states[0]; 350 bool all_accepted = accept_states[0];
343 PermissionBubbleType permission_prompt_type = 351 PermissionRequestType permission_prompt_type =
344 requests[0]->GetPermissionBubbleType(); 352 requests[0]->GetPermissionRequestType();
345 if (requests.size() > 1) { 353 if (requests.size() > 1) {
346 permission_prompt_type = PermissionBubbleType::MULTIPLE; 354 permission_prompt_type = PermissionRequestType::MULTIPLE;
347 for (size_t i = 0; i < requests.size(); ++i) { 355 for (size_t i = 0; i < requests.size(); ++i) {
348 const auto* request = requests[i]; 356 const auto* request = requests[i];
349 if (accept_states[i]) { 357 if (accept_states[i]) {
350 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptMergedBubbleAccepted, 358 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptMergedBubbleAccepted,
351 request->GetPermissionBubbleType()); 359 request->GetPermissionRequestType());
352 } else { 360 } else {
353 all_accepted = false; 361 all_accepted = false;
354 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptMergedBubbleDenied, 362 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptMergedBubbleDenied,
355 request->GetPermissionBubbleType()); 363 request->GetPermissionRequestType());
356 } 364 }
357 } 365 }
358 } 366 }
359 367
360 if (all_accepted) { 368 if (all_accepted) {
361 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptAccepted, 369 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptAccepted,
362 permission_prompt_type); 370 permission_prompt_type);
363 } else { 371 } else {
364 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptDenied, 372 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptDenied,
365 permission_prompt_type); 373 permission_prompt_type);
366 } 374 }
367 } 375 }
368 376
369 void PermissionUmaUtil::PermissionPromptDenied( 377 void PermissionUmaUtil::PermissionPromptDenied(
370 const std::vector<PermissionBubbleRequest*>& requests) { 378 const std::vector<PermissionRequest*>& requests) {
371 DCHECK(!requests.empty()); 379 DCHECK(!requests.empty());
372 DCHECK(requests.size() == 1); 380 DCHECK(requests.size() == 1);
373 381
374 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptDenied, 382 PERMISSION_BUBBLE_TYPE_UMA(kPermissionsPromptDenied,
375 requests[0]->GetPermissionBubbleType()); 383 requests[0]->GetPermissionRequestType());
376 } 384 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698