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

Unified Diff: chrome/browser/content_settings/permission_context_base.cc

Issue 371933002: Add UMA for the new generic permisison class (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/content_settings/permission_context_base.cc
diff --git a/chrome/browser/content_settings/permission_context_base.cc b/chrome/browser/content_settings/permission_context_base.cc
index c250baf16e7ec48eccde839d26b507d2fb4b67d4..2f62e170dc3554cffd9510356bb1ba6757aa1818 100644
--- a/chrome/browser/content_settings/permission_context_base.cc
+++ b/chrome/browser/content_settings/permission_context_base.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/content_settings/permission_context_base.h"
#include "base/logging.h"
+#include "base/metrics/histogram.h"
#include "base/prefs/pref_service.h"
#include "chrome/browser/content_settings/host_content_settings_map.h"
#include "chrome/browser/content_settings/permission_bubble_request_impl.h"
@@ -40,7 +41,6 @@ void PermissionContextBase::RequestPermission(
const GURL& requesting_frame,
bool user_gesture,
const BrowserPermissionCallback& callback) {
- // TODO(miguelg): Add UMA instrumentation.
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
DecidePermission(web_contents,
@@ -65,16 +65,21 @@ void PermissionContextBase::DecidePermission(
requesting_origin, embedder_origin, permission_type_, std::string());
switch (content_setting) {
case CONTENT_SETTING_BLOCK:
- PermissionDecided(
- id, requesting_origin, embedder_origin, callback, false);
+ NotifyPermissionSet(id, requesting_origin, embedder_origin,
+ callback, false /* persist */, false /* granted */);
return;
case CONTENT_SETTING_ALLOW:
- PermissionDecided(id, requesting_origin, embedder_origin, callback, true);
+ NotifyPermissionSet(id, requesting_origin, embedder_origin,
+ callback, false /* persist */, true /* granted */);
return;
default:
break;
}
+ UMA_HISTOGRAM_ENUMERATION("ContentSettings.PermissionRequested",
+ SettingToPermission(permission_type_),
+ PERMISSION_NUM);
+
if (PermissionBubbleManager::Enabled()) {
PermissionBubbleManager* bubble_manager =
PermissionBubbleManager::FromWebContents(web_contents);
@@ -85,7 +90,7 @@ void PermissionContextBase::DecidePermission(
user_gesture,
permission_type_,
profile_->GetPrefs()->GetString(prefs::kAcceptLanguages),
- base::Bind(&PermissionContextBase::NotifyPermissionSet,
+ base::Bind(&PermissionContextBase::PermissionDecided,
weak_factory_.GetWeakPtr(),
id,
requesting_origin,
@@ -109,7 +114,7 @@ void PermissionContextBase::DecidePermission(
requesting_origin,
embedder_origin,
std::string(),
- base::Bind(&PermissionContextBase::NotifyPermissionSet,
+ base::Bind(&PermissionContextBase::PermissionDecided,
weak_factory_.GetWeakPtr(),
id,
requesting_origin,
@@ -125,10 +130,15 @@ void PermissionContextBase::PermissionDecided(
const GURL& requesting_origin,
const GURL& embedder_origin,
const BrowserPermissionCallback& callback,
+ bool persist,
bool allowed) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+ UMA_HISTOGRAM_ENUMERATION(allowed
Bernhard Bauer 2014/07/08 12:54:51 You were going to fix this?
Miguel Garcia 2014/07/08 14:14:20 Yes, I had not uploaded the change yet, you review
+ ? "ContentSettings.PermissionGranted"
+ : "ContentSettings.PermissionDenied",
+ SettingToPermission(permission_type_),
+ PERMISSION_NUM);
Takashi Toyoshima 2014/07/08 10:46:17 This is really nice:)
Miguel Garcia 2014/07/08 14:14:20 Thanks!
NotifyPermissionSet(
- id, requesting_origin, embedder_origin, callback, false, allowed);
+ id, requesting_origin, embedder_origin, callback, persist, allowed);
}
PermissionQueueController* PermissionContextBase::GetQueueController() {
@@ -155,6 +165,20 @@ void PermissionContextBase::CleanUpBubble(const PermissionRequestID& id) {
DCHECK(success) << "Missing request " << id.ToString();
}
+// static
+PermissionType PermissionContextBase::SettingToPermission(
+ ContentSettingsType permission) {
+ switch (permission) {
+ case CONTENT_SETTINGS_TYPE_MIDI_SYSEX:
+ return PERMISSION_MIDI_SYSEX;
+ case CONTENT_SETTINGS_TYPE_PUSH_MESSAGING:
+ return PERMISSION_PUSH_MESSAGING;
+ default:
+ NOTREACHED() << "PERMISSION " << permission << " not accounted for";
+ }
+ return PERMISSION_UNKNOWN;
+}
+
void PermissionContextBase::UpdateContentSetting(
const GURL& requesting_origin,
const GURL& embedder_origin,

Powered by Google App Engine
This is Rietveld 408576698