| 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..a88c2d5681825ae26f669e95de28591542ca46de 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): Review whether |secondary_pattern_string| should be used.
|
| + std::string secondary_pattern_string;
|
| + CHECK(args->GetString(1, &secondary_pattern_string));
|
| std::string type;
|
| CHECK(args->GetString(2, &type));
|
| std::string value;
|
| @@ -515,12 +529,22 @@ 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);
|
| + 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, "", setting);
|
| +
|
| + WebSiteSettingsUmaUtil::LogPermissionChange(content_type, setting);
|
| }
|
|
|
| void SiteSettingsHandler::HandleGetSiteDetails(
|
|
|