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

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

Issue 2075523002: Add SourceUI field to permission report (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge 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/command_line.h" 9 #include "base/command_line.h"
10 #include "base/metrics/histogram_macros.h" 10 #include "base/metrics/histogram_macros.h"
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 const GURL& requesting_origin, 190 const GURL& requesting_origin,
191 const GURL& embedding_origin, 191 const GURL& embedding_origin,
192 Profile* profile) { 192 Profile* profile) {
193 RecordPermissionRequest(permission, requesting_origin, embedding_origin, 193 RecordPermissionRequest(permission, requesting_origin, embedding_origin,
194 profile); 194 profile);
195 } 195 }
196 196
197 void PermissionUmaUtil::PermissionGranted(PermissionType permission, 197 void PermissionUmaUtil::PermissionGranted(PermissionType permission,
198 const GURL& requesting_origin, 198 const GURL& requesting_origin,
199 Profile* profile) { 199 Profile* profile) {
200 RecordPermissionAction(permission, GRANTED, requesting_origin, profile); 200 RecordPermissionAction(permission, GRANTED, PermissionSourceUI::PROMPT,
201 requesting_origin, profile);
201 } 202 }
202 203
203 void PermissionUmaUtil::PermissionDenied(PermissionType permission, 204 void PermissionUmaUtil::PermissionDenied(PermissionType permission,
204 const GURL& requesting_origin, 205 const GURL& requesting_origin,
205 Profile* profile) { 206 Profile* profile) {
206 RecordPermissionAction(permission, DENIED, requesting_origin, profile); 207 RecordPermissionAction(permission, DENIED, PermissionSourceUI::PROMPT,
208 requesting_origin, profile);
207 } 209 }
208 210
209 void PermissionUmaUtil::PermissionDismissed(PermissionType permission, 211 void PermissionUmaUtil::PermissionDismissed(PermissionType permission,
210 const GURL& requesting_origin, 212 const GURL& requesting_origin,
211 Profile* profile) { 213 Profile* profile) {
212 RecordPermissionAction(permission, DISMISSED, requesting_origin, profile); 214 RecordPermissionAction(permission, DISMISSED, PermissionSourceUI::PROMPT,
215 requesting_origin, profile);
213 } 216 }
214 217
215 void PermissionUmaUtil::PermissionIgnored(PermissionType permission, 218 void PermissionUmaUtil::PermissionIgnored(PermissionType permission,
216 const GURL& requesting_origin, 219 const GURL& requesting_origin,
217 Profile* profile) { 220 Profile* profile) {
218 RecordPermissionAction(permission, IGNORED, requesting_origin, profile); 221 RecordPermissionAction(permission, IGNORED, PermissionSourceUI::PROMPT,
222 requesting_origin, profile);
219 } 223 }
220 224
221 void PermissionUmaUtil::PermissionRevoked(PermissionType permission, 225 void PermissionUmaUtil::PermissionRevoked(PermissionType permission,
226 PermissionSourceUI source_ui,
222 const GURL& revoked_origin, 227 const GURL& revoked_origin,
223 Profile* profile) { 228 Profile* profile) {
224 // TODO(tsergeant): Expand metrics definitions for revocation to include all 229 // TODO(tsergeant): Expand metrics definitions for revocation to include all
225 // permissions. 230 // permissions.
226 if (permission == PermissionType::NOTIFICATIONS || 231 if (permission == PermissionType::NOTIFICATIONS ||
227 permission == PermissionType::GEOLOCATION || 232 permission == PermissionType::GEOLOCATION ||
228 permission == PermissionType::AUDIO_CAPTURE || 233 permission == PermissionType::AUDIO_CAPTURE ||
229 permission == PermissionType::VIDEO_CAPTURE) { 234 permission == PermissionType::VIDEO_CAPTURE) {
230 RecordPermissionAction(permission, REVOKED, revoked_origin, profile); 235 RecordPermissionAction(permission, REVOKED, source_ui, revoked_origin,
236 profile);
231 } 237 }
232 } 238 }
233 239
234 void PermissionUmaUtil::PermissionPromptShown( 240 void PermissionUmaUtil::PermissionPromptShown(
235 const std::vector<PermissionRequest*>& requests) { 241 const std::vector<PermissionRequest*>& requests) {
236 DCHECK(!requests.empty()); 242 DCHECK(!requests.empty());
237 243
238 PermissionRequestType permission_prompt_type = 244 PermissionRequestType permission_prompt_type =
239 PermissionRequestType::MULTIPLE; 245 PermissionRequestType::MULTIPLE;
240 if (requests.size() == 1) 246 if (requests.size() == 1)
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 if (!preferred_data_types.Has(syncer::PROXY_TABS)) 329 if (!preferred_data_types.Has(syncer::PROXY_TABS))
324 return false; 330 return false;
325 if (!preferred_data_types.Has(syncer::PRIORITY_PREFERENCES)) 331 if (!preferred_data_types.Has(syncer::PRIORITY_PREFERENCES))
326 return false; 332 return false;
327 333
328 return true; 334 return true;
329 } 335 }
330 336
331 void PermissionUmaUtil::RecordPermissionAction(PermissionType permission, 337 void PermissionUmaUtil::RecordPermissionAction(PermissionType permission,
332 PermissionAction action, 338 PermissionAction action,
339 PermissionSourceUI source_ui,
333 const GURL& requesting_origin, 340 const GURL& requesting_origin,
334 Profile* profile) { 341 Profile* profile) {
335 if (IsOptedIntoPermissionActionReporting(profile)) { 342 if (IsOptedIntoPermissionActionReporting(profile)) {
336 // TODO(stefanocs): Add browsertests to make sure the reports are being 343 // TODO(stefanocs): Add browsertests to make sure the reports are being
337 // sent. 344 // sent.
338 g_browser_process->safe_browsing_service() 345 g_browser_process->safe_browsing_service()
339 ->ui_manager() 346 ->ui_manager()
340 ->ReportPermissionAction(requesting_origin, permission, action); 347 ->ReportPermissionAction(requesting_origin, permission, action,
348 source_ui);
341 } 349 }
342 350
343 bool secure_origin = content::IsOriginSecure(requesting_origin); 351 bool secure_origin = content::IsOriginSecure(requesting_origin);
344 352
345 switch (permission) { 353 switch (permission) {
346 case PermissionType::GEOLOCATION: 354 case PermissionType::GEOLOCATION:
347 PERMISSION_ACTION_UMA(secure_origin, "Permissions.Action.Geolocation", 355 PERMISSION_ACTION_UMA(secure_origin, "Permissions.Action.Geolocation",
348 "Permissions.Action.SecureOrigin.Geolocation", 356 "Permissions.Action.SecureOrigin.Geolocation",
349 "Permissions.Action.InsecureOrigin.Geolocation", 357 "Permissions.Action.InsecureOrigin.Geolocation",
350 action); 358 action);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 if (!deprecated_metric.empty() && rappor_service) { 418 if (!deprecated_metric.empty() && rappor_service) {
411 rappor::SampleDomainAndRegistryFromGURL(rappor_service, deprecated_metric, 419 rappor::SampleDomainAndRegistryFromGURL(rappor_service, deprecated_metric,
412 requesting_origin); 420 requesting_origin);
413 421
414 std::string rappor_metric = deprecated_metric + "2"; 422 std::string rappor_metric = deprecated_metric + "2";
415 rappor_service->RecordSample( 423 rappor_service->RecordSample(
416 rappor_metric, rappor::LOW_FREQUENCY_ETLD_PLUS_ONE_RAPPOR_TYPE, 424 rappor_metric, rappor::LOW_FREQUENCY_ETLD_PLUS_ONE_RAPPOR_TYPE,
417 rappor::GetDomainAndRegistrySampleFromGURL(requesting_origin)); 425 rappor::GetDomainAndRegistrySampleFromGURL(requesting_origin));
418 } 426 }
419 } 427 }
OLDNEW
« no previous file with comments | « chrome/browser/permissions/permission_uma_util.h ('k') | chrome/browser/permissions/permission_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698