Chromium Code Reviews| 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 #ifndef CHROME_BROWSER_PERMISSIONS_PERMISSION_UMA_UTIL_H_ | 5 #ifndef CHROME_BROWSER_PERMISSIONS_PERMISSION_UMA_UTIL_H_ |
| 6 #define CHROME_BROWSER_PERMISSIONS_PERMISSION_UMA_UTIL_H_ | 6 #define CHROME_BROWSER_PERMISSIONS_PERMISSION_UMA_UTIL_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 33 SOURCE_UI_NUM, | 33 SOURCE_UI_NUM, |
| 34 }; | 34 }; |
| 35 | 35 |
| 36 // Provides a convenient way of logging UMA for permission related operations. | 36 // Provides a convenient way of logging UMA for permission related operations. |
| 37 class PermissionUmaUtil { | 37 class PermissionUmaUtil { |
| 38 public: | 38 public: |
| 39 static const char kPermissionsPromptShown[]; | 39 static const char kPermissionsPromptShown[]; |
| 40 static const char kPermissionsPromptShownGesture[]; | 40 static const char kPermissionsPromptShownGesture[]; |
| 41 static const char kPermissionsPromptShownNoGesture[]; | 41 static const char kPermissionsPromptShownNoGesture[]; |
| 42 static const char kPermissionsPromptAccepted[]; | 42 static const char kPermissionsPromptAccepted[]; |
| 43 static const char kPermissionsPromptAcceptedPriorDismissCountPrefix[]; | |
| 44 static const char kPermissionsPromptAcceptedPriorIgnoreCountPrefix[]; | |
| 43 static const char kPermissionsPromptAcceptedGesture[]; | 45 static const char kPermissionsPromptAcceptedGesture[]; |
| 44 static const char kPermissionsPromptAcceptedNoGesture[]; | 46 static const char kPermissionsPromptAcceptedNoGesture[]; |
| 45 static const char kPermissionsPromptDenied[]; | 47 static const char kPermissionsPromptDenied[]; |
| 48 static const char kPermissionsPromptDeniedPriorDismissCountPrefix[]; | |
| 49 static const char kPermissionsPromptDeniedPriorIgnoreCountPrefix[]; | |
| 46 static const char kPermissionsPromptDeniedGesture[]; | 50 static const char kPermissionsPromptDeniedGesture[]; |
| 47 static const char kPermissionsPromptDeniedNoGesture[]; | 51 static const char kPermissionsPromptDeniedNoGesture[]; |
| 52 static const char kPermissionsPromptDismissedPriorDismissCountPrefix[]; | |
| 53 static const char kPermissionsPromptDismissedPriorIgnoreCountPrefix[]; | |
| 54 static const char kPermissionsPromptIgnoredPriorDismissCountPrefix[]; | |
| 55 static const char kPermissionsPromptIgnoredPriorIgnoreCountPrefix[]; | |
|
raymes
2016/08/22 02:55:09
If these aren't used externally, can we just put t
dominickn
2016/08/22 22:40:51
Arguably all the strings here that are like that s
| |
| 48 static const char kPermissionsPromptRequestsPerPrompt[]; | 56 static const char kPermissionsPromptRequestsPerPrompt[]; |
| 49 static const char kPermissionsPromptMergedBubbleTypes[]; | 57 static const char kPermissionsPromptMergedBubbleTypes[]; |
| 50 static const char kPermissionsPromptMergedBubbleAccepted[]; | 58 static const char kPermissionsPromptMergedBubbleAccepted[]; |
| 51 static const char kPermissionsPromptMergedBubbleDenied[]; | 59 static const char kPermissionsPromptMergedBubbleDenied[]; |
| 52 | 60 |
| 53 static void PermissionRequested(content::PermissionType permission, | 61 static void PermissionRequested(content::PermissionType permission, |
| 54 const GURL& requesting_origin, | 62 const GURL& requesting_origin, |
| 55 const GURL& embedding_origin, | 63 const GURL& embedding_origin, |
| 56 Profile* profile); | 64 Profile* profile); |
| 57 static void PermissionGranted(content::PermissionType permission, | 65 static void PermissionGranted(content::PermissionType permission, |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 92 // Note that for coalesced permission bubbles, PermissionPromptAccepted will | 100 // Note that for coalesced permission bubbles, PermissionPromptAccepted will |
| 93 // always be called, with |accept_states| containing whether each request was | 101 // always be called, with |accept_states| containing whether each request was |
| 94 // accepted or denied. | 102 // accepted or denied. |
| 95 static void PermissionPromptAccepted( | 103 static void PermissionPromptAccepted( |
| 96 const std::vector<PermissionRequest*>& requests, | 104 const std::vector<PermissionRequest*>& requests, |
| 97 const std::vector<bool>& accept_states); | 105 const std::vector<bool>& accept_states); |
| 98 | 106 |
| 99 static void PermissionPromptDenied( | 107 static void PermissionPromptDenied( |
| 100 const std::vector<PermissionRequest*>& requests); | 108 const std::vector<PermissionRequest*>& requests); |
| 101 | 109 |
| 102 // Records |count| total dismissal actions for a prompt of type |permission| | |
| 103 // for a single origin. | |
| 104 static void PermissionPromptDismissed(content::PermissionType permission, | |
| 105 int count); | |
| 106 | |
| 107 // Records |count| total ignore actions for a prompt of type |permission| for | |
| 108 // a single origin. | |
| 109 static void PermissionPromptIgnored(content::PermissionType permission, | |
| 110 int count); | |
| 111 | |
| 112 // A permission prompt was accepted or denied, and the prompt displayed a | 110 // A permission prompt was accepted or denied, and the prompt displayed a |
| 113 // persistence toggle. Records whether the toggle was enabled (persist) or | 111 // persistence toggle. Records whether the toggle was enabled (persist) or |
| 114 // disabled (don't persist). | 112 // disabled (don't persist). |
| 115 static void PermissionPromptAcceptedWithPersistenceToggle( | 113 static void PermissionPromptAcceptedWithPersistenceToggle( |
| 116 content::PermissionType permission, | 114 content::PermissionType permission, |
| 117 bool toggle_enabled); | 115 bool toggle_enabled); |
| 118 | 116 |
| 119 static void PermissionPromptDeniedWithPersistenceToggle( | 117 static void PermissionPromptDeniedWithPersistenceToggle( |
| 120 content::PermissionType permission, | 118 content::PermissionType permission, |
| 121 bool toggle_enabled); | 119 bool toggle_enabled); |
| 122 | 120 |
| 123 private: | 121 private: |
| 124 friend class PermissionUmaUtilTest; | 122 friend class PermissionUmaUtilTest; |
| 125 | 123 |
| 126 static bool IsOptedIntoPermissionActionReporting(Profile* profile); | 124 static bool IsOptedIntoPermissionActionReporting(Profile* profile); |
| 127 | 125 |
| 128 static void RecordPermissionAction(content::PermissionType permission, | 126 static void RecordPermissionAction(content::PermissionType permission, |
| 129 PermissionAction action, | 127 PermissionAction action, |
| 130 PermissionSourceUI source_ui, | 128 PermissionSourceUI source_ui, |
| 131 PermissionRequestGestureType gesture_type, | 129 PermissionRequestGestureType gesture_type, |
| 132 const GURL& requesting_origin, | 130 const GURL& requesting_origin, |
| 133 Profile* profile); | 131 Profile* profile); |
| 134 | 132 |
| 133 // Records |count| total prior actions for a prompt of type |permission| | |
| 134 // for a single origin using |prefix| for the metric. | |
| 135 static void RecordPermissionPromptPriorCount( | |
| 136 content::PermissionType permission, | |
| 137 const std::string& prefix, | |
| 138 int count); | |
| 139 | |
| 135 DISALLOW_IMPLICIT_CONSTRUCTORS(PermissionUmaUtil); | 140 DISALLOW_IMPLICIT_CONSTRUCTORS(PermissionUmaUtil); |
| 136 }; | 141 }; |
| 137 | 142 |
| 138 #endif // CHROME_BROWSER_PERMISSIONS_PERMISSION_UMA_UTIL_H_ | 143 #endif // CHROME_BROWSER_PERMISSIONS_PERMISSION_UMA_UTIL_H_ |
| OLD | NEW |