| 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",
|
|
|