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

Unified Diff: chrome/browser/ui/webui/settings/site_settings_handler.cc

Issue 2861793005: [MD settings] UMA and RevocationReporter in site settings (Closed)
Patch Set: Created 3 years, 7 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/webui/settings/site_settings_handler.cc
diff --git a/chrome/browser/ui/webui/settings/site_settings_handler.cc b/chrome/browser/ui/webui/settings/site_settings_handler.cc
index 0ee7196c03a557cacecc568352e983046c46fd94..4aa3a1df44cb76c76aa5d05643fc8b2cd04f1ae5 100644
--- a/chrome/browser/ui/webui/settings/site_settings_handler.cc
+++ b/chrome/browser/ui/webui/settings/site_settings_handler.cc
@@ -16,7 +16,10 @@
#include "chrome/browser/browsing_data/browsing_data_local_storage_helper.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
+#include "chrome/browser/content_settings/web_site_settings_uma_util.h"
#include "chrome/browser/permissions/chooser_context_base.h"
+#include "chrome/browser/permissions/permission_uma_util.h"
+#include "chrome/browser/permissions/permission_util.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/site_settings_helper.h"
#include "chrome/common/extensions/manifest_handlers/app_launch_info.h"
@@ -452,10 +455,10 @@ void SiteSettingsHandler::HandleGetExceptionList(const base::ListValue* args) {
void SiteSettingsHandler::HandleResetCategoryPermissionForOrigin(
const base::ListValue* args) {
CHECK_EQ(4U, args->GetSize());
- std::string primary_pattern;
- CHECK(args->GetString(0, &primary_pattern));
- std::string secondary_pattern;
- CHECK(args->GetString(1, &secondary_pattern));
+ std::string primary_pattern_string;
+ CHECK(args->GetString(0, &primary_pattern_string));
+ std::string secondary_pattern_string;
+ CHECK(args->GetString(1, &secondary_pattern_string));
std::string type;
CHECK(args->GetString(2, &type));
bool incognito;
@@ -476,21 +479,32 @@ void SiteSettingsHandler::HandleResetCategoryPermissionForOrigin(
HostContentSettingsMap* map =
HostContentSettingsMapFactory::GetForProfile(profile);
- map->SetContentSettingCustomScope(
- ContentSettingsPattern::FromString(primary_pattern),
- secondary_pattern.empty() ?
- ContentSettingsPattern::Wildcard() :
- ContentSettingsPattern::FromString(secondary_pattern),
- content_type, "", CONTENT_SETTING_DEFAULT);
+
+ ContentSettingsPattern primary_pattern =
+ ContentSettingsPattern::FromString(primary_pattern_string);
+ ContentSettingsPattern secondary_pattern =
+ secondary_pattern_string.empty()
+ ? ContentSettingsPattern::Wildcard()
+ : ContentSettingsPattern::FromString(secondary_pattern_string);
+ PermissionUtil::ScopedRevocationReporter scoped_revocation_reporter(
+ profile, primary_pattern, secondary_pattern, content_type,
+ PermissionSourceUI::SITE_SETTINGS);
+
+ map->SetContentSettingCustomScope(primary_pattern, secondary_pattern,
+ content_type, "", CONTENT_SETTING_DEFAULT);
+
+ WebSiteSettingsUmaUtil::LogPermissionChange(
+ content_type, ContentSetting::CONTENT_SETTING_DEFAULT);
}
void SiteSettingsHandler::HandleSetCategoryPermissionForOrigin(
const base::ListValue* args) {
CHECK_EQ(5U, args->GetSize());
- std::string primary_pattern;
- CHECK(args->GetString(0, &primary_pattern));
- std::string secondary_pattern;
- CHECK(args->GetString(1, &secondary_pattern));
+ std::string primary_pattern_string;
+ CHECK(args->GetString(0, &primary_pattern_string));
+ // TODO(dschuyler): |secondary_pattern_unused| is not used, remove it.
Dan Beam 2017/05/04 19:37:45 why did the old code use it but the new one doesn'
dschuyler 2017/05/04 21:09:21 The reasoning was based on the JS sending an empty
+ std::string secondary_pattern_unused;
+ CHECK(args->GetString(1, &secondary_pattern_unused));
std::string type;
CHECK(args->GetString(2, &type));
std::string value;
@@ -515,12 +529,19 @@ void SiteSettingsHandler::HandleSetCategoryPermissionForOrigin(
HostContentSettingsMap* map =
HostContentSettingsMapFactory::GetForProfile(profile);
- map->SetContentSettingCustomScope(
- ContentSettingsPattern::FromString(primary_pattern),
- secondary_pattern.empty() ?
- ContentSettingsPattern::Wildcard() :
- ContentSettingsPattern::FromString(secondary_pattern),
- content_type, "", setting);
+
+ ContentSettingsPattern primary_pattern =
+ ContentSettingsPattern::FromString(primary_pattern_string);
+
+ PermissionUtil::ScopedRevocationReporter scoped_revocation_reporter(
+ profile, primary_pattern, ContentSettingsPattern::Wildcard(),
+ content_type, PermissionSourceUI::SITE_SETTINGS);
+
+ map->SetContentSettingCustomScope(primary_pattern,
+ ContentSettingsPattern::Wildcard(),
+ content_type, "", setting);
+
+ WebSiteSettingsUmaUtil::LogPermissionChange(content_type, setting);
}
void SiteSettingsHandler::HandleGetSiteDetails(
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698