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

Side by Side Diff: chrome/browser/content_settings/permission_context_uma_util.cc

Issue 622793002: Group the different permission related methods in the content api. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 1 month 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 "base/metrics/histogram.h" 5 #include "base/metrics/histogram.h"
6 #include "chrome/browser/content_settings/permission_context_uma_util.h" 6 #include "chrome/browser/content_settings/permission_context_uma_util.h"
7 #include "content/public/browser/permission_type.h"
7 #include "url/gurl.h" 8 #include "url/gurl.h"
8 9
9
10 // UMA keys need to be statically initialized so plain function would not 10 // UMA keys need to be statically initialized so plain function would not
11 // work. Use a Macro instead. 11 // work. Use a Macro instead.
12 #define PERMISSION_ACTION_UMA(secure_origin, \ 12 #define PERMISSION_ACTION_UMA(secure_origin, \
13 permission, permission_secure, permission_insecure, action) \ 13 permission, permission_secure, permission_insecure, action) \
14 UMA_HISTOGRAM_ENUMERATION( \ 14 UMA_HISTOGRAM_ENUMERATION( \
15 permission, \ 15 permission, \
16 action, \ 16 action, \
17 PERMISSION_ACTION_NUM); \ 17 PERMISSION_ACTION_NUM); \
18 if (secure_origin) { \ 18 if (secure_origin) { \
19 UMA_HISTOGRAM_ENUMERATION(permission_secure, \ 19 UMA_HISTOGRAM_ENUMERATION(permission_secure, \
(...skipping 14 matching lines...) Expand all
34 enum PermissionAction { 34 enum PermissionAction {
35 GRANTED = 0, 35 GRANTED = 0,
36 DENIED = 1, 36 DENIED = 1,
37 DISMISSED = 2, 37 DISMISSED = 2,
38 IGNORED = 3, 38 IGNORED = 3,
39 39
40 // Always keep this at the end. 40 // Always keep this at the end.
41 PERMISSION_ACTION_NUM, 41 PERMISSION_ACTION_NUM,
42 }; 42 };
43 43
44 // Enum for UMA purposes, make sure you update histograms.xml if you add new
45 // permission actions. Never delete or reorder an entry; only add new entries
46 // immediately before PERMISSION_NUM
47 enum PermissionType {
48 PERMISSION_UNKNOWN = 0,
49 PERMISSION_MIDI_SYSEX = 1,
50 PERMISSION_PUSH_MESSAGING = 2,
51 PERMISSION_NOTIFICATIONS = 3,
52 PERMISSION_GEOLOCATION = 4,
53
54 // Always keep this at the end.
55 PERMISSION_NUM,
56 };
57
58 void RecordPermissionAction( 44 void RecordPermissionAction(
59 ContentSettingsType permission, 45 ContentSettingsType permission,
60 PermissionAction action, 46 PermissionAction action,
61 bool secure_origin) { 47 bool secure_origin) {
62 switch (permission) { 48 switch (permission) {
63 case CONTENT_SETTINGS_TYPE_GEOLOCATION: 49 case CONTENT_SETTINGS_TYPE_GEOLOCATION:
64 PERMISSION_ACTION_UMA( 50 PERMISSION_ACTION_UMA(
65 secure_origin, 51 secure_origin,
66 "ContentSettings.PermissionActions_Geolocation", 52 "ContentSettings.PermissionActions_Geolocation",
67 "ContentSettings.PermissionActionsSecureOrigin_Geolocation", 53 "ContentSettings.PermissionActionsSecureOrigin_Geolocation",
(...skipping 30 matching lines...) Expand all
98 // the generic permission class. 84 // the generic permission class.
99 break; 85 break;
100 #endif 86 #endif
101 default: 87 default:
102 NOTREACHED() << "PERMISSION " << permission << " not accounted for"; 88 NOTREACHED() << "PERMISSION " << permission << " not accounted for";
103 } 89 }
104 } 90 }
105 91
106 void RecordPermissionRequest( 92 void RecordPermissionRequest(
107 ContentSettingsType permission, bool secure_origin) { 93 ContentSettingsType permission, bool secure_origin) {
108 PermissionType type; 94 content::PermissionType type;
109 switch (permission) { 95 switch (permission) {
110 case CONTENT_SETTINGS_TYPE_GEOLOCATION: 96 case CONTENT_SETTINGS_TYPE_GEOLOCATION:
111 type = PERMISSION_GEOLOCATION; 97 type = content::PERMISSION_GEOLOCATION;
112 break; 98 break;
113 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS: 99 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS:
114 type = PERMISSION_NOTIFICATIONS; 100 type = content::PERMISSION_NOTIFICATIONS;
115 break; 101 break;
116 case CONTENT_SETTINGS_TYPE_MIDI_SYSEX: 102 case CONTENT_SETTINGS_TYPE_MIDI_SYSEX:
117 type = PERMISSION_MIDI_SYSEX; 103 type = content::PERMISSION_MIDI_SYSEX;
118 break; 104 break;
119 case CONTENT_SETTINGS_TYPE_PUSH_MESSAGING: 105 case CONTENT_SETTINGS_TYPE_PUSH_MESSAGING:
120 type = PERMISSION_PUSH_MESSAGING; 106 type = content::PERMISSION_PUSH_MESSAGING;
121 break; 107 break;
122 default: 108 default:
123 NOTREACHED() << "PERMISSION " << permission << " not accounted for"; 109 NOTREACHED() << "PERMISSION " << permission << " not accounted for";
124 type = PERMISSION_UNKNOWN; 110 return;
125 } 111 }
126 UMA_HISTOGRAM_ENUMERATION( 112 UMA_HISTOGRAM_ENUMERATION(
127 "ContentSettings.PermissionRequested", 113 "ContentSettings.PermissionRequested", type, content::PERMISSION_NUM);
128 type,
129 PERMISSION_NUM);
130 if (secure_origin) { 114 if (secure_origin) {
131 UMA_HISTOGRAM_ENUMERATION( 115 UMA_HISTOGRAM_ENUMERATION(
132 "ContentSettings.PermissionRequested_SecureOrigin", 116 "ContentSettings.PermissionRequested_SecureOrigin",
133 type, 117 type,
134 PERMISSION_NUM); 118 content::PERMISSION_NUM);
135 } else { 119 } else {
136 UMA_HISTOGRAM_ENUMERATION( 120 UMA_HISTOGRAM_ENUMERATION(
137 "ContentSettings.PermissionRequested_InsecureOrigin", 121 "ContentSettings.PermissionRequested_InsecureOrigin",
138 type, 122 type,
139 PERMISSION_NUM); 123 content::PERMISSION_NUM);
140 } 124 }
141 } 125 }
142 126
143 } // namespace 127 } // namespace
144 128
145 // Make sure you update histograms.xml permission histogram_suffix if you 129 // Make sure you update histograms.xml permission histogram_suffix if you
146 // add new permission 130 // add new permission
147 void PermissionContextUmaUtil::PermissionRequested( 131 void PermissionContextUmaUtil::PermissionRequested(
148 ContentSettingsType permission, const GURL& requesting_origin) { 132 ContentSettingsType permission, const GURL& requesting_origin) {
149 RecordPermissionRequest(permission, requesting_origin.SchemeIsSecure()); 133 RecordPermissionRequest(permission, requesting_origin.SchemeIsSecure());
(...skipping 15 matching lines...) Expand all
165 ContentSettingsType permission, const GURL& requesting_origin) { 149 ContentSettingsType permission, const GURL& requesting_origin) {
166 RecordPermissionAction(permission, DISMISSED, 150 RecordPermissionAction(permission, DISMISSED,
167 requesting_origin.SchemeIsSecure()); 151 requesting_origin.SchemeIsSecure());
168 } 152 }
169 153
170 void PermissionContextUmaUtil::PermissionIgnored( 154 void PermissionContextUmaUtil::PermissionIgnored(
171 ContentSettingsType permission, const GURL& requesting_origin) { 155 ContentSettingsType permission, const GURL& requesting_origin) {
172 RecordPermissionAction(permission, IGNORED, 156 RecordPermissionAction(permission, IGNORED,
173 requesting_origin.SchemeIsSecure()); 157 requesting_origin.SchemeIsSecure());
174 } 158 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698