Index: chrome/browser/ui/webui/options/content_settings_handler.cc |
diff --git a/chrome/browser/ui/webui/options/content_settings_handler.cc b/chrome/browser/ui/webui/options/content_settings_handler.cc |
index 531952ecab655c7044bc120379e1a04836c9766c..0af09317d56348ec450b81b6d91250ac799a5c7c 100644 |
--- a/chrome/browser/ui/webui/options/content_settings_handler.cc |
+++ b/chrome/browser/ui/webui/options/content_settings_handler.cc |
@@ -27,6 +27,7 @@ |
#include "chrome/browser/notifications/desktop_notification_profile_util.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/ui/browser_list.h" |
+#include "chrome/common/chrome_content_settings_client.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/content_settings.h" |
#include "chrome/common/content_settings_pattern.h" |
@@ -177,11 +178,12 @@ base::DictionaryValue* GetExceptionForPage( |
const ContentSetting& setting, |
const std::string& provider_name) { |
base::DictionaryValue* exception = new base::DictionaryValue(); |
- exception->SetString(kOrigin, pattern.ToString()); |
+ content_settings::ChromeContentSettingsClient client; |
+ exception->SetString(kOrigin, pattern.ToString(&client)); |
exception->SetString(kEmbeddingOrigin, |
secondary_pattern == ContentSettingsPattern::Wildcard() ? |
std::string() : |
- secondary_pattern.ToString()); |
+ secondary_pattern.ToString(&client)); |
exception->SetString(kSetting, ContentSettingToString(setting)); |
exception->SetString(kSource, provider_name); |
return exception; |
@@ -195,9 +197,10 @@ base::DictionaryValue* GetGeolocationExceptionForPage( |
const ContentSettingsPattern& embedding_origin, |
ContentSetting setting) { |
base::DictionaryValue* exception = new base::DictionaryValue(); |
+ content_settings::ChromeContentSettingsClient client; |
exception->SetString(kSetting, ContentSettingToString(setting)); |
- exception->SetString(kOrigin, origin.ToString()); |
- exception->SetString(kEmbeddingOrigin, embedding_origin.ToString()); |
+ exception->SetString(kOrigin, origin.ToString(&client)); |
+ exception->SetString(kEmbeddingOrigin, embedding_origin.ToString(&client)); |
return exception; |
} |
@@ -209,8 +212,9 @@ base::DictionaryValue* GetNotificationExceptionForPage( |
ContentSetting setting, |
const std::string& provider_name) { |
base::DictionaryValue* exception = new base::DictionaryValue(); |
+ content_settings::ChromeContentSettingsClient client; |
exception->SetString(kSetting, ContentSettingToString(setting)); |
- exception->SetString(kOrigin, pattern.ToString()); |
+ exception->SetString(kOrigin, pattern.ToString(&client)); |
exception->SetString(kSource, provider_name); |
return exception; |
} |
@@ -965,8 +969,9 @@ void ContentSettingsHandler::UpdateMediaExceptionsView() { |
media_dict->GetString(kOrigin, &origin); |
media_dict->GetString(kSetting, &audio_setting); |
media_dict->GetString(kVideoSetting, &video_setting); |
+ content_settings::ChromeContentSettingsClient client; |
media_settings_.exceptions.push_back(MediaException( |
- ContentSettingsPattern::FromString(origin), |
+ ContentSettingsPattern::FromString(&client, origin), |
ContentSettingFromString(audio_setting), |
ContentSettingFromString(video_setting))); |
} |
@@ -1178,8 +1183,9 @@ void ContentSettingsHandler::RemoveNotificationException( |
DCHECK(content_setting == CONTENT_SETTING_ALLOW || |
content_setting == CONTENT_SETTING_BLOCK); |
+ content_settings::ChromeContentSettingsClient client; |
DesktopNotificationProfileUtil::ClearSetting(profile, |
- ContentSettingsPattern::FromString(origin)); |
+ ContentSettingsPattern::FromString(&client, origin)); |
} |
void ContentSettingsHandler::RemoveMediaException(const base::ListValue* args) { |
@@ -1195,12 +1201,15 @@ void ContentSettingsHandler::RemoveMediaException(const base::ListValue* args) { |
mode == "normal" ? GetContentSettingsMap() : |
GetOTRContentSettingsMap(); |
if (settings_map) { |
- settings_map->SetWebsiteSetting(ContentSettingsPattern::FromString(pattern), |
+ content_settings::ChromeContentSettingsClient client; |
+ settings_map->SetWebsiteSetting(ContentSettingsPattern::FromString(&client, |
+ pattern), |
ContentSettingsPattern::Wildcard(), |
CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, |
std::string(), |
NULL); |
- settings_map->SetWebsiteSetting(ContentSettingsPattern::FromString(pattern), |
+ settings_map->SetWebsiteSetting(ContentSettingsPattern::FromString(&client, |
+ pattern), |
ContentSettingsPattern::Wildcard(), |
CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, |
std::string(), |
@@ -1230,11 +1239,12 @@ void ContentSettingsHandler::RemoveExceptionFromHostContentSettingsMap( |
mode == "normal" ? GetContentSettingsMap() : |
GetOTRContentSettingsMap(); |
if (settings_map) { |
+ content_settings::ChromeContentSettingsClient client; |
settings_map->SetWebsiteSetting( |
- ContentSettingsPattern::FromString(pattern), |
+ ContentSettingsPattern::FromString(&client, pattern), |
secondary_pattern.empty() ? |
ContentSettingsPattern::Wildcard() : |
- ContentSettingsPattern::FromString(secondary_pattern), |
+ ContentSettingsPattern::FromString(&client, secondary_pattern), |
type, |
std::string(), |
NULL); |
@@ -1431,7 +1441,9 @@ void ContentSettingsHandler::SetException(const base::ListValue* args) { |
// got destroyed before we received this message. |
if (!settings_map) |
return; |
- settings_map->SetContentSetting(ContentSettingsPattern::FromString(pattern), |
+ content_settings::ChromeContentSettingsClient client; |
+ settings_map->SetContentSetting(ContentSettingsPattern::FromString(&client, |
+ pattern), |
ContentSettingsPattern::Wildcard(), |
type, |
std::string(), |
@@ -1448,8 +1460,9 @@ void ContentSettingsHandler::CheckExceptionPatternValidity( |
std::string pattern_string; |
CHECK(args->GetString(2, &pattern_string)); |
+ content_settings::ChromeContentSettingsClient client; |
ContentSettingsPattern pattern = |
- ContentSettingsPattern::FromString(pattern_string); |
+ ContentSettingsPattern::FromString(&client, pattern_string); |
web_ui()->CallJavascriptFunction( |
"ContentSettings.patternValidityCheckComplete", |