OLD | NEW |
---|---|
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_macros.h" | 5 #include "base/metrics/histogram_macros.h" |
6 #include "base/strings/stringprintf.h" | 6 #include "base/strings/stringprintf.h" |
7 #include "chrome/browser/browser_process.h" | 7 #include "chrome/browser/browser_process.h" |
8 #include "chrome/browser/content_settings/permission_context_uma_util.h" | 8 #include "chrome/browser/content_settings/permission_context_uma_util.h" |
9 #include "components/rappor/rappor_utils.h" | 9 #include "components/rappor/rappor_utils.h" |
10 #include "content/public/browser/permission_type.h" | 10 #include "content/public/browser/permission_type.h" |
11 #include "content/public/common/origin_util.h" | |
11 #include "url/gurl.h" | 12 #include "url/gurl.h" |
12 | 13 |
13 // UMA keys need to be statically initialized so plain function would not | 14 // UMA keys need to be statically initialized so plain function would not |
14 // work. Use a Macro instead. | 15 // work. Use a Macro instead. |
15 #define PERMISSION_ACTION_UMA(secure_origin, permission, permission_secure, \ | 16 #define PERMISSION_ACTION_UMA(secure_origin, permission, permission_secure, \ |
16 permission_insecure, action) \ | 17 permission_insecure, action) \ |
17 UMA_HISTOGRAM_ENUMERATION(permission, action, PERMISSION_ACTION_NUM); \ | 18 UMA_HISTOGRAM_ENUMERATION(permission, action, PERMISSION_ACTION_NUM); \ |
18 if (secure_origin) { \ | 19 if (secure_origin) { \ |
19 UMA_HISTOGRAM_ENUMERATION(permission_secure, action, \ | 20 UMA_HISTOGRAM_ENUMERATION(permission_secure, action, \ |
20 PERMISSION_ACTION_NUM); \ | 21 PERMISSION_ACTION_NUM); \ |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
73 | 74 |
74 if (permission_str.empty()) | 75 if (permission_str.empty()) |
75 return ""; | 76 return ""; |
76 return base::StringPrintf("ContentSettings.PermissionActions_%s.%s.Url", | 77 return base::StringPrintf("ContentSettings.PermissionActions_%s.%s.Url", |
77 permission_str.c_str(), action_str.c_str()); | 78 permission_str.c_str(), action_str.c_str()); |
78 } | 79 } |
79 | 80 |
80 void RecordPermissionAction(ContentSettingsType permission, | 81 void RecordPermissionAction(ContentSettingsType permission, |
81 PermissionAction action, | 82 PermissionAction action, |
82 const GURL& requesting_origin) { | 83 const GURL& requesting_origin) { |
83 bool secure_origin = requesting_origin.SchemeIsSecure(); | 84 bool secure_origin = IsOriginSecure(requesting_origin); |
Bernhard Bauer
2015/05/11 07:47:12
+Miguel
I think this makes sense, but at the very
| |
84 | 85 |
85 switch (permission) { | 86 switch (permission) { |
86 case CONTENT_SETTINGS_TYPE_GEOLOCATION: | 87 case CONTENT_SETTINGS_TYPE_GEOLOCATION: |
87 PERMISSION_ACTION_UMA( | 88 PERMISSION_ACTION_UMA( |
88 secure_origin, | 89 secure_origin, |
89 "ContentSettings.PermissionActions_Geolocation", | 90 "ContentSettings.PermissionActions_Geolocation", |
90 "ContentSettings.PermissionActionsSecureOrigin_Geolocation", | 91 "ContentSettings.PermissionActionsSecureOrigin_Geolocation", |
91 "ContentSettings.PermissionActionsInsecureOrigin_Geolocation", | 92 "ContentSettings.PermissionActionsInsecureOrigin_Geolocation", |
92 action); | 93 action); |
93 break; | 94 break; |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
131 | 132 |
132 const std::string& rappor_metric = GetRapporMetric(permission, action); | 133 const std::string& rappor_metric = GetRapporMetric(permission, action); |
133 if (!rappor_metric.empty()) | 134 if (!rappor_metric.empty()) |
134 rappor::SampleDomainAndRegistryFromGURL( | 135 rappor::SampleDomainAndRegistryFromGURL( |
135 g_browser_process->rappor_service(), rappor_metric, | 136 g_browser_process->rappor_service(), rappor_metric, |
136 requesting_origin); | 137 requesting_origin); |
137 } | 138 } |
138 | 139 |
139 void RecordPermissionRequest(ContentSettingsType permission, | 140 void RecordPermissionRequest(ContentSettingsType permission, |
140 const GURL& requesting_origin) { | 141 const GURL& requesting_origin) { |
141 bool secure_origin = requesting_origin.SchemeIsSecure(); | 142 bool secure_origin = IsOriginSecure(requesting_origin); |
142 content::PermissionType type; | 143 content::PermissionType type; |
143 switch (permission) { | 144 switch (permission) { |
144 case CONTENT_SETTINGS_TYPE_GEOLOCATION: | 145 case CONTENT_SETTINGS_TYPE_GEOLOCATION: |
145 type = content::PermissionType::GEOLOCATION; | 146 type = content::PermissionType::GEOLOCATION; |
146 rappor::SampleDomainAndRegistryFromGURL( | 147 rappor::SampleDomainAndRegistryFromGURL( |
147 g_browser_process->rappor_service(), | 148 g_browser_process->rappor_service(), |
148 "ContentSettings.PermissionRequested.Geolocation.Url", | 149 "ContentSettings.PermissionRequested.Geolocation.Url", |
149 requesting_origin); | 150 requesting_origin); |
150 break; | 151 break; |
151 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS: | 152 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS: |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
208 | 209 |
209 void PermissionContextUmaUtil::PermissionDismissed( | 210 void PermissionContextUmaUtil::PermissionDismissed( |
210 ContentSettingsType permission, const GURL& requesting_origin) { | 211 ContentSettingsType permission, const GURL& requesting_origin) { |
211 RecordPermissionAction(permission, DISMISSED, requesting_origin); | 212 RecordPermissionAction(permission, DISMISSED, requesting_origin); |
212 } | 213 } |
213 | 214 |
214 void PermissionContextUmaUtil::PermissionIgnored( | 215 void PermissionContextUmaUtil::PermissionIgnored( |
215 ContentSettingsType permission, const GURL& requesting_origin) { | 216 ContentSettingsType permission, const GURL& requesting_origin) { |
216 RecordPermissionAction(permission, IGNORED, requesting_origin); | 217 RecordPermissionAction(permission, IGNORED, requesting_origin); |
217 } | 218 } |
OLD | NEW |