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

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: Rebase Created 4 years, 6 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 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 void PermissionUmaUtil::PermissionRequested(PermissionType permission, 189 void PermissionUmaUtil::PermissionRequested(PermissionType permission,
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 SourceUI source_ui,
199 Profile* profile) { 200 Profile* profile) {
200 RecordPermissionAction(permission, GRANTED, requesting_origin, profile); 201 RecordPermissionAction(permission, GRANTED, requesting_origin, source_ui,
202 profile);
201 } 203 }
202 204
203 void PermissionUmaUtil::PermissionDenied(PermissionType permission, 205 void PermissionUmaUtil::PermissionDenied(PermissionType permission,
204 const GURL& requesting_origin, 206 const GURL& requesting_origin,
207 SourceUI source_ui,
205 Profile* profile) { 208 Profile* profile) {
206 RecordPermissionAction(permission, DENIED, requesting_origin, profile); 209 RecordPermissionAction(permission, DENIED, requesting_origin, source_ui,
210 profile);
207 } 211 }
208 212
209 void PermissionUmaUtil::PermissionDismissed(PermissionType permission, 213 void PermissionUmaUtil::PermissionDismissed(PermissionType permission,
210 const GURL& requesting_origin, 214 const GURL& requesting_origin,
215 SourceUI source_ui,
211 Profile* profile) { 216 Profile* profile) {
212 RecordPermissionAction(permission, DISMISSED, requesting_origin, profile); 217 RecordPermissionAction(permission, DISMISSED, requesting_origin, source_ui,
218 profile);
213 } 219 }
214 220
215 void PermissionUmaUtil::PermissionIgnored(PermissionType permission, 221 void PermissionUmaUtil::PermissionIgnored(PermissionType permission,
216 const GURL& requesting_origin, 222 const GURL& requesting_origin,
223 SourceUI source_ui,
217 Profile* profile) { 224 Profile* profile) {
218 RecordPermissionAction(permission, IGNORED, requesting_origin, profile); 225 RecordPermissionAction(permission, IGNORED, requesting_origin, source_ui,
226 profile);
219 } 227 }
220 228
221 void PermissionUmaUtil::PermissionRevoked(PermissionType permission, 229 void PermissionUmaUtil::PermissionRevoked(PermissionType permission,
222 const GURL& revoked_origin, 230 const GURL& revoked_origin,
231 SourceUI source_ui,
kcarattini 2016/07/06 06:54:08 Add a TODO to add reporting for revocations from t
stefanocs 2016/07/07 01:26:03 Done. Revocations from the Page Action bubbles had
223 Profile* profile) { 232 Profile* profile) {
224 // TODO(tsergeant): Expand metrics definitions for revocation to include all 233 // TODO(tsergeant): Expand metrics definitions for revocation to include all
225 // permissions. 234 // permissions.
226 if (permission == PermissionType::NOTIFICATIONS || 235 if (permission == PermissionType::NOTIFICATIONS ||
227 permission == PermissionType::GEOLOCATION || 236 permission == PermissionType::GEOLOCATION ||
228 permission == PermissionType::AUDIO_CAPTURE || 237 permission == PermissionType::AUDIO_CAPTURE ||
229 permission == PermissionType::VIDEO_CAPTURE) { 238 permission == PermissionType::VIDEO_CAPTURE) {
230 RecordPermissionAction(permission, REVOKED, revoked_origin, profile); 239 RecordPermissionAction(permission, REVOKED, revoked_origin, source_ui,
240 profile);
231 } 241 }
232 } 242 }
233 243
234 void PermissionUmaUtil::PermissionPromptShown( 244 void PermissionUmaUtil::PermissionPromptShown(
235 const std::vector<PermissionBubbleRequest*>& requests) { 245 const std::vector<PermissionBubbleRequest*>& requests) {
236 DCHECK(!requests.empty()); 246 DCHECK(!requests.empty());
237 247
238 PermissionBubbleType permission_prompt_type = PermissionBubbleType::MULTIPLE; 248 PermissionBubbleType permission_prompt_type = PermissionBubbleType::MULTIPLE;
239 if (requests.size() == 1) 249 if (requests.size() == 1)
240 permission_prompt_type = requests[0]->GetPermissionBubbleType(); 250 permission_prompt_type = requests[0]->GetPermissionBubbleType();
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 return false; 342 return false;
333 // Do not report if Chrome Pref Sync is not enabled. 343 // Do not report if Chrome Pref Sync is not enabled.
334 if (!preferred_data_types.Has(syncer::PREFERENCES)) 344 if (!preferred_data_types.Has(syncer::PREFERENCES))
335 return false; 345 return false;
336 return true; 346 return true;
337 } 347 }
338 348
339 void PermissionUmaUtil::RecordPermissionAction(PermissionType permission, 349 void PermissionUmaUtil::RecordPermissionAction(PermissionType permission,
340 PermissionAction action, 350 PermissionAction action,
341 const GURL& requesting_origin, 351 const GURL& requesting_origin,
352 SourceUI source_ui,
342 Profile* profile) { 353 Profile* profile) {
343 // Send permission action report to opted-in users. 354 // Send permission action report to opted-in users.
344 if (IsOptedInPermissionActionReporting(profile)) { 355 if (IsOptedInPermissionActionReporting(profile)) {
345 g_browser_process->safe_browsing_service() 356 g_browser_process->safe_browsing_service()
346 ->ui_manager() 357 ->ui_manager()
347 ->ReportPermissionAction(requesting_origin, permission, action); 358 ->ReportPermissionAction(requesting_origin, permission, action,
359 source_ui);
348 } 360 }
349 361
350 bool secure_origin = content::IsOriginSecure(requesting_origin); 362 bool secure_origin = content::IsOriginSecure(requesting_origin);
351 363
352 switch (permission) { 364 switch (permission) {
353 case PermissionType::GEOLOCATION: 365 case PermissionType::GEOLOCATION:
354 PERMISSION_ACTION_UMA(secure_origin, "Permissions.Action.Geolocation", 366 PERMISSION_ACTION_UMA(secure_origin, "Permissions.Action.Geolocation",
355 "Permissions.Action.SecureOrigin.Geolocation", 367 "Permissions.Action.SecureOrigin.Geolocation",
356 "Permissions.Action.InsecureOrigin.Geolocation", 368 "Permissions.Action.InsecureOrigin.Geolocation",
357 action); 369 action);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 if (!deprecated_metric.empty() && rappor_service) { 429 if (!deprecated_metric.empty() && rappor_service) {
418 rappor::SampleDomainAndRegistryFromGURL(rappor_service, deprecated_metric, 430 rappor::SampleDomainAndRegistryFromGURL(rappor_service, deprecated_metric,
419 requesting_origin); 431 requesting_origin);
420 432
421 std::string rappor_metric = deprecated_metric + "2"; 433 std::string rappor_metric = deprecated_metric + "2";
422 rappor_service->RecordSample( 434 rappor_service->RecordSample(
423 rappor_metric, rappor::LOW_FREQUENCY_ETLD_PLUS_ONE_RAPPOR_TYPE, 435 rappor_metric, rappor::LOW_FREQUENCY_ETLD_PLUS_ONE_RAPPOR_TYPE,
424 rappor::GetDomainAndRegistrySampleFromGURL(requesting_origin)); 436 rappor::GetDomainAndRegistrySampleFromGURL(requesting_origin));
425 } 437 }
426 } 438 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698