| Index: chrome/browser/ui/webui/options2/content_settings_handler2.cc
|
| ===================================================================
|
| --- chrome/browser/ui/webui/options2/content_settings_handler2.cc (revision 141490)
|
| +++ chrome/browser/ui/webui/options2/content_settings_handler2.cc (working copy)
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "chrome/browser/ui/webui/options2/content_settings_handler2.h"
|
|
|
| +#include <map>
|
| +#include <string>
|
| #include <vector>
|
|
|
| #include "base/bind.h"
|
| @@ -39,7 +41,6 @@
|
| #include "content/public/common/content_switches.h"
|
| #include "grit/generated_resources.h"
|
| #include "grit/locale_settings.h"
|
| -#include "net/base/net_util.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
|
|
| #if defined(OS_CHROMEOS)
|
| @@ -50,10 +51,9 @@
|
|
|
| namespace {
|
|
|
| -enum ExContentSettingsTypeEnum {
|
| - EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC =
|
| - CONTENT_SETTINGS_NUM_TYPES,
|
| - EX_CONTENT_SETTINGS_NUM_TYPES
|
| +struct ContentSettingsTypeNameEntry {
|
| + ContentSettingsType type;
|
| + const char* name;
|
| };
|
|
|
| typedef std::map<ContentSettingsPattern, ContentSetting> OnePatternSettings;
|
| @@ -67,9 +67,34 @@
|
| const char* kAppName = "appName";
|
| const char* kAppId = "appId";
|
| const char* kEmbeddingOrigin = "embeddingOrigin";
|
| -const char* kDefaultProviderID = "default";
|
| -const char* kPreferencesSource = "preferences";
|
|
|
| +const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
| + {CONTENT_SETTINGS_TYPE_COOKIES, "cookies"},
|
| + {CONTENT_SETTINGS_TYPE_IMAGES, "images"},
|
| + {CONTENT_SETTINGS_TYPE_JAVASCRIPT, "javascript"},
|
| + {CONTENT_SETTINGS_TYPE_PLUGINS, "plugins"},
|
| + {CONTENT_SETTINGS_TYPE_POPUPS, "popups"},
|
| + {CONTENT_SETTINGS_TYPE_GEOLOCATION, "location"},
|
| + {CONTENT_SETTINGS_TYPE_NOTIFICATIONS, "notifications"},
|
| + {CONTENT_SETTINGS_TYPE_INTENTS, "intents"},
|
| + {CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, "auto-select-certificate"},
|
| + {CONTENT_SETTINGS_TYPE_FULLSCREEN, "fullscreen"},
|
| + {CONTENT_SETTINGS_TYPE_MOUSELOCK, "mouselock"},
|
| +};
|
| +COMPILE_ASSERT(arraysize(kContentSettingsTypeGroupNames) ==
|
| + CONTENT_SETTINGS_NUM_TYPES,
|
| + MISSING_CONTENT_SETTINGS_TYPE);
|
| +
|
| +ContentSettingsType ContentSettingsTypeFromGroupName(const std::string& name) {
|
| + for (size_t i = 0; i < arraysize(kContentSettingsTypeGroupNames); ++i) {
|
| + if (name == kContentSettingsTypeGroupNames[i].name)
|
| + return kContentSettingsTypeGroupNames[i].type;
|
| + }
|
| +
|
| + NOTREACHED() << name << " is not a recognized content settings type.";
|
| + return CONTENT_SETTINGS_TYPE_DEFAULT;
|
| +}
|
| +
|
| std::string ContentSettingToString(ContentSetting setting) {
|
| switch (setting) {
|
| case CONTENT_SETTING_ALLOW:
|
| @@ -219,109 +244,10 @@
|
| }
|
| }
|
|
|
| -ContentSetting FlashPermissionToContentSetting(
|
| - PP_Flash_BrowserOperations_Permission permission) {
|
| - switch (permission) {
|
| - case PP_FLASH_BROWSEROPERATIONS_PERMISSION_DEFAULT:
|
| - return CONTENT_SETTING_DEFAULT;
|
| - case PP_FLASH_BROWSEROPERATIONS_PERMISSION_ALLOW:
|
| - return CONTENT_SETTING_ALLOW;
|
| - case PP_FLASH_BROWSEROPERATIONS_PERMISSION_BLOCK:
|
| - return CONTENT_SETTING_BLOCK;
|
| - case PP_FLASH_BROWSEROPERATIONS_PERMISSION_ASK:
|
| - return CONTENT_SETTING_ASK;
|
| - default:
|
| - NOTREACHED();
|
| - return CONTENT_SETTING_DEFAULT;
|
| - }
|
| -}
|
| -
|
| -PP_Flash_BrowserOperations_Permission FlashPermissionFromContentSetting(
|
| - ContentSetting setting) {
|
| - switch (setting) {
|
| - case CONTENT_SETTING_DEFAULT:
|
| - return PP_FLASH_BROWSEROPERATIONS_PERMISSION_DEFAULT;
|
| - case CONTENT_SETTING_ALLOW:
|
| - return PP_FLASH_BROWSEROPERATIONS_PERMISSION_ALLOW;
|
| - case CONTENT_SETTING_BLOCK:
|
| - return PP_FLASH_BROWSEROPERATIONS_PERMISSION_BLOCK;
|
| - case CONTENT_SETTING_ASK:
|
| - return PP_FLASH_BROWSEROPERATIONS_PERMISSION_ASK;
|
| - default:
|
| - NOTREACHED();
|
| - return PP_FLASH_BROWSEROPERATIONS_PERMISSION_DEFAULT;
|
| - }
|
| -}
|
| -
|
| -std::string CanonicalizeHost(const std::string& host) {
|
| - url_canon::CanonHostInfo info;
|
| - return net::CanonicalizeHost(host, &info);
|
| -}
|
| -
|
| -bool IsValidHost(const std::string& host) {
|
| - std::string canonicalized_host = CanonicalizeHost(host);
|
| - return !canonicalized_host.empty();
|
| -}
|
| -
|
| } // namespace
|
|
|
| namespace options2 {
|
|
|
| -class ContentSettingsHandler::ExContentSettingsType {
|
| - public:
|
| - explicit ExContentSettingsType(int value) : value_(value) {
|
| - DCHECK(value_ < EX_CONTENT_SETTINGS_NUM_TYPES);
|
| - }
|
| - explicit ExContentSettingsType(ContentSettingsType type) : value_(type) {}
|
| - explicit ExContentSettingsType(ExContentSettingsTypeEnum type)
|
| - : value_(type) {}
|
| -
|
| - bool IsExtraContentSettingsType() const {
|
| - return value_ >= CONTENT_SETTINGS_NUM_TYPES;
|
| - }
|
| -
|
| - operator int() const { return value_; }
|
| -
|
| - ContentSettingsType ToContentSettingsType() const {
|
| - DCHECK(value_ < CONTENT_SETTINGS_NUM_TYPES);
|
| - return static_cast<ContentSettingsType>(value_);
|
| - }
|
| -
|
| - private:
|
| - int value_;
|
| -};
|
| -
|
| -ContentSettingsHandler::CachedPepperFlashSettings::CachedPepperFlashSettings()
|
| - : default_permission(PP_FLASH_BROWSEROPERATIONS_PERMISSION_BLOCK),
|
| - initialized(false) {
|
| -}
|
| -
|
| -ContentSettingsHandler::CachedPepperFlashSettings::~CachedPepperFlashSettings() {
|
| -}
|
| -
|
| -struct ContentSettingsHandler::ExContentSettingsTypeNameEntry {
|
| - ExContentSettingsType type;
|
| - const char* name;
|
| -};
|
| -
|
| -const ContentSettingsHandler::ExContentSettingsTypeNameEntry
|
| - ContentSettingsHandler::kExContentSettingsTypeGroupNames[] = {
|
| - {ExContentSettingsType(CONTENT_SETTINGS_TYPE_COOKIES), "cookies"},
|
| - {ExContentSettingsType(CONTENT_SETTINGS_TYPE_IMAGES), "images"},
|
| - {ExContentSettingsType(CONTENT_SETTINGS_TYPE_JAVASCRIPT), "javascript"},
|
| - {ExContentSettingsType(CONTENT_SETTINGS_TYPE_PLUGINS), "plugins"},
|
| - {ExContentSettingsType(CONTENT_SETTINGS_TYPE_POPUPS), "popups"},
|
| - {ExContentSettingsType(CONTENT_SETTINGS_TYPE_GEOLOCATION), "location"},
|
| - {ExContentSettingsType(CONTENT_SETTINGS_TYPE_NOTIFICATIONS), "notifications"},
|
| - {ExContentSettingsType(CONTENT_SETTINGS_TYPE_INTENTS), "intents"},
|
| - {ExContentSettingsType(CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE),
|
| - "auto-select-certificate"},
|
| - {ExContentSettingsType(CONTENT_SETTINGS_TYPE_FULLSCREEN), "fullscreen"},
|
| - {ExContentSettingsType(CONTENT_SETTINGS_TYPE_MOUSELOCK), "mouselock"},
|
| - {ExContentSettingsType(EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC),
|
| - "pepper-flash-cameramic"},
|
| -};
|
| -
|
| ContentSettingsHandler::ContentSettingsHandler() {
|
| }
|
|
|
| @@ -402,12 +328,6 @@
|
| { "mouselock_allow", IDS_MOUSE_LOCK_ALLOW_RADIO },
|
| { "mouselock_ask", IDS_MOUSE_LOCK_ASK_RADIO },
|
| { "mouselock_block", IDS_MOUSE_LOCK_BLOCK_RADIO },
|
| - // Pepper Flash camera and microphone filter.
|
| - { "pepperFlashCameramicTabLabel", IDS_PEPPER_FLASH_CAMERAMIC_TAB_LABEL },
|
| - // The header has to be named as <content_type_name>_header.
|
| - { "pepper-flash-cameramic_header", IDS_PEPPER_FLASH_CAMERAMIC_HEADER },
|
| - { "pepperFlashCameramicAsk", IDS_PEPPER_FLASH_CAMERAMIC_ASK_RADIO },
|
| - { "pepperFlashCameramicBlock", IDS_PEPPER_FLASH_CAMERAMIC_BLOCK_RADIO },
|
| #if defined(OS_CHROMEOS)
|
| // Protected Content filter
|
| { "protectedContentTabLabel", IDS_PROTECTED_CONTENT_TAB_LABEL },
|
| @@ -440,8 +360,6 @@
|
| IDS_FULLSCREEN_TAB_LABEL);
|
| RegisterTitle(localized_strings, "mouselock",
|
| IDS_MOUSE_LOCK_TAB_LABEL);
|
| - RegisterTitle(localized_strings, "pepper-flash-cameramic",
|
| - IDS_PEPPER_FLASH_CAMERAMIC_TAB_LABEL);
|
|
|
| Profile* profile = Profile::FromWebUI(web_ui());
|
| localized_strings->SetBoolean(
|
| @@ -475,18 +393,11 @@
|
| PrefService* prefs = profile->GetPrefs();
|
| pref_change_registrar_.Init(prefs);
|
| pref_change_registrar_.Add(prefs::kGeolocationContentSettings, this);
|
| - pref_change_registrar_.Add(prefs::kPepperFlashSettingsEnabled, this);
|
| -
|
| - flash_settings_manager_.reset(new PepperFlashSettingsManager(this, profile));
|
| }
|
|
|
| void ContentSettingsHandler::InitializePage() {
|
| UpdateHandlersEnabledRadios();
|
| UpdateAllExceptionsViewsFromModel();
|
| -
|
| - flash_cameramic_settings_ = CachedPepperFlashSettings();
|
| - flash_settings_manager_->GetPermissionSettings(
|
| - PP_FLASH_BROWSEROPERATIONS_SETTINGTYPE_CAMERAMIC);
|
| }
|
|
|
| void ContentSettingsHandler::Observe(
|
| @@ -520,27 +431,18 @@
|
| content::Details<const ContentSettingsDetails>(details).ptr();
|
|
|
| // TODO(estade): we pretend update_all() is always true.
|
| - if (settings_details->update_all_types()) {
|
| + if (settings_details->update_all_types())
|
| UpdateAllExceptionsViewsFromModel();
|
| - } else {
|
| - UpdateExceptionsViewFromModel(
|
| - ExContentSettingsType(settings_details->type()));
|
| - }
|
| + else
|
| + UpdateExceptionsViewFromModel(settings_details->type());
|
| break;
|
| }
|
|
|
| case chrome::NOTIFICATION_PREF_CHANGED: {
|
| const std::string& pref_name =
|
| *content::Details<std::string>(details).ptr();
|
| - if (pref_name == prefs::kGeolocationContentSettings) {
|
| + if (pref_name == prefs::kGeolocationContentSettings)
|
| UpdateGeolocationExceptionsView();
|
| - } else if (pref_name == prefs::kPepperFlashSettingsEnabled) {
|
| - if (!flash_cameramic_settings_.initialized) {
|
| - flash_settings_manager_->GetPermissionSettings(
|
| - PP_FLASH_BROWSEROPERATIONS_SETTINGTYPE_CAMERAMIC);
|
| - }
|
| - }
|
| -
|
| break;
|
| }
|
|
|
| @@ -559,36 +461,15 @@
|
| }
|
| }
|
|
|
| -void ContentSettingsHandler::OnGetPermissionSettingsCompleted(
|
| - uint32 /* request_id */,
|
| - bool success,
|
| - PP_Flash_BrowserOperations_Permission default_permission,
|
| - const ppapi::FlashSiteSettings& sites) {
|
| - if (success && !flash_cameramic_settings_.initialized) {
|
| - flash_cameramic_settings_.initialized = true;
|
| - flash_cameramic_settings_.default_permission = default_permission;
|
| - for (ppapi::FlashSiteSettings::const_iterator iter = sites.begin();
|
| - iter != sites.end(); ++iter) {
|
| - if (IsValidHost(iter->site))
|
| - flash_cameramic_settings_.sites[iter->site] = iter->permission;
|
| - }
|
| - UpdateExceptionsViewFromModel(
|
| - ExContentSettingsType(EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC));
|
| -
|
| - web_ui()->CallJavascriptFunction(
|
| - "ContentSettings.enablePepperFlashCameraMicSettings");
|
| - }
|
| -}
|
| -
|
| void ContentSettingsHandler::UpdateSettingDefaultFromModel(
|
| - const ExContentSettingsType& type) {
|
| + ContentSettingsType type) {
|
| DictionaryValue filter_settings;
|
| std::string provider_id;
|
| + filter_settings.SetString(ContentSettingsTypeToGroupName(type) + ".value",
|
| + GetSettingDefaultFromModel(type, &provider_id));
|
| filter_settings.SetString(
|
| - ExContentSettingsTypeToGroupName(type) + ".value",
|
| - GetSettingDefaultFromModel(type, &provider_id));
|
| - filter_settings.SetString(
|
| - ExContentSettingsTypeToGroupName(type) + ".managedBy", provider_id);
|
| + ContentSettingsTypeToGroupName(type) + ".managedBy",
|
| + provider_id);
|
|
|
| web_ui()->CallJavascriptFunction(
|
| "ContentSettings.setContentFilterSettingsValue", filter_settings);
|
| @@ -597,21 +478,17 @@
|
| }
|
|
|
| std::string ContentSettingsHandler::GetSettingDefaultFromModel(
|
| - const ExContentSettingsType& type, std::string* provider_id) {
|
| + ContentSettingsType type, std::string* provider_id) {
|
| Profile* profile = Profile::FromWebUI(web_ui());
|
| ContentSetting default_setting;
|
| if (type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS) {
|
| default_setting =
|
| DesktopNotificationServiceFactory::GetForProfile(profile)->
|
| GetDefaultContentSetting(provider_id);
|
| - } else if (type == EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC) {
|
| - default_setting = FlashPermissionToContentSetting(
|
| - flash_cameramic_settings_.default_permission);
|
| - *provider_id = kDefaultProviderID;
|
| } else {
|
| default_setting =
|
| profile->GetHostContentSettingsMap()->
|
| - GetDefaultContentSetting(type.ToContentSettingsType(), provider_id);
|
| + GetDefaultContentSetting(type, provider_id);
|
| }
|
|
|
| return ContentSettingToString(default_setting);
|
| @@ -628,25 +505,25 @@
|
|
|
| void ContentSettingsHandler::UpdateAllExceptionsViewsFromModel() {
|
| for (int type = CONTENT_SETTINGS_TYPE_DEFAULT + 1;
|
| - type < EX_CONTENT_SETTINGS_NUM_TYPES; ++type) {
|
| + type < CONTENT_SETTINGS_NUM_TYPES; ++type) {
|
| // The content settings type CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE
|
| // is supposed to be set by policy only. Hence there is no user facing UI
|
| // for this content type and we skip it here.
|
| if (type == CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE)
|
| continue;
|
| - UpdateExceptionsViewFromModel(ExContentSettingsType(type));
|
| + UpdateExceptionsViewFromModel(static_cast<ContentSettingsType>(type));
|
| }
|
| }
|
|
|
| void ContentSettingsHandler::UpdateAllOTRExceptionsViewsFromModel() {
|
| for (int type = CONTENT_SETTINGS_TYPE_DEFAULT + 1;
|
| - type < EX_CONTENT_SETTINGS_NUM_TYPES; ++type) {
|
| - UpdateOTRExceptionsViewFromModel(ExContentSettingsType(type));
|
| + type < CONTENT_SETTINGS_NUM_TYPES; ++type) {
|
| + UpdateOTRExceptionsViewFromModel(static_cast<ContentSettingsType>(type));
|
| }
|
| }
|
|
|
| void ContentSettingsHandler::UpdateExceptionsViewFromModel(
|
| - const ExContentSettingsType& type) {
|
| + ContentSettingsType type) {
|
| // Don't update intents settings at this point.
|
| // Turn on when enable_web_intents_tag is enabled.
|
| if (type == CONTENT_SETTINGS_TYPE_INTENTS)
|
| @@ -659,28 +536,22 @@
|
| case CONTENT_SETTINGS_TYPE_NOTIFICATIONS:
|
| UpdateNotificationExceptionsView();
|
| break;
|
| - case EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC:
|
| - UpdateFlashCameraMicExceptionsView();
|
| - break;
|
| default:
|
| - UpdateExceptionsViewFromHostContentSettingsMap(
|
| - type.ToContentSettingsType());
|
| + UpdateExceptionsViewFromHostContentSettingsMap(type);
|
| break;
|
| }
|
| }
|
|
|
| void ContentSettingsHandler::UpdateOTRExceptionsViewFromModel(
|
| - const ExContentSettingsType& type) {
|
| + ContentSettingsType type) {
|
| switch (type) {
|
| case CONTENT_SETTINGS_TYPE_GEOLOCATION:
|
| case CONTENT_SETTINGS_TYPE_NOTIFICATIONS:
|
| case CONTENT_SETTINGS_TYPE_INTENTS:
|
| case CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE:
|
| - case EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC:
|
| break;
|
| default:
|
| - UpdateExceptionsViewFromOTRHostContentSettingsMap(
|
| - type.ToContentSettingsType());
|
| + UpdateExceptionsViewFromOTRHostContentSettingsMap(type);
|
| break;
|
| }
|
| }
|
| @@ -704,7 +575,7 @@
|
| // Don't add default settings.
|
| if (i->primary_pattern == ContentSettingsPattern::Wildcard() &&
|
| i->secondary_pattern == ContentSettingsPattern::Wildcard() &&
|
| - i->source != kPreferencesSource) {
|
| + i->source != "preferences") {
|
| continue;
|
| }
|
| all_patterns_settings[i->primary_pattern][i->secondary_pattern] =
|
| @@ -751,8 +622,7 @@
|
|
|
| // This is mainly here to keep this function ideologically parallel to
|
| // UpdateExceptionsViewFromHostContentSettingsMap().
|
| - UpdateSettingDefaultFromModel(
|
| - ExContentSettingsType(CONTENT_SETTINGS_TYPE_GEOLOCATION));
|
| + UpdateSettingDefaultFromModel(CONTENT_SETTINGS_TYPE_GEOLOCATION);
|
| }
|
|
|
| void ContentSettingsHandler::UpdateNotificationExceptionsView() {
|
| @@ -774,7 +644,7 @@
|
| // Don't add default settings.
|
| if (i->primary_pattern == ContentSettingsPattern::Wildcard() &&
|
| i->secondary_pattern == ContentSettingsPattern::Wildcard() &&
|
| - i->source != kPreferencesSource) {
|
| + i->source != "preferences") {
|
| continue;
|
| }
|
|
|
| @@ -790,33 +660,9 @@
|
|
|
| // This is mainly here to keep this function ideologically parallel to
|
| // UpdateExceptionsViewFromHostContentSettingsMap().
|
| - UpdateSettingDefaultFromModel(
|
| - ExContentSettingsType(CONTENT_SETTINGS_TYPE_NOTIFICATIONS));
|
| + UpdateSettingDefaultFromModel(CONTENT_SETTINGS_TYPE_NOTIFICATIONS);
|
| }
|
|
|
| -void ContentSettingsHandler::UpdateFlashCameraMicExceptionsView() {
|
| - ListValue exceptions;
|
| - for (CachedPepperFlashSettings::SiteMap::iterator iter =
|
| - flash_cameramic_settings_.sites.begin();
|
| - iter != flash_cameramic_settings_.sites.end(); ++iter) {
|
| - DictionaryValue* exception = new DictionaryValue();
|
| - exception->SetString(kDisplayPattern, iter->first);
|
| - exception->SetString(
|
| - kSetting,
|
| - ContentSettingToString(FlashPermissionToContentSetting(iter->second)));
|
| - exception->SetString(kSource, kPreferencesSource);
|
| - exceptions.Append(exception);
|
| - }
|
| -
|
| - StringValue type_string(ExContentSettingsTypeToGroupName(
|
| - ExContentSettingsType(EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC)));
|
| - web_ui()->CallJavascriptFunction("ContentSettings.setExceptions",
|
| - type_string, exceptions);
|
| -
|
| - UpdateSettingDefaultFromModel(
|
| - ExContentSettingsType(EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC));
|
| -}
|
| -
|
| void ContentSettingsHandler::UpdateExceptionsViewFromHostContentSettingsMap(
|
| ContentSettingsType type) {
|
| ContentSettingsForOneType entries;
|
| @@ -860,7 +706,7 @@
|
|
|
| // The default may also have changed (we won't get a separate notification).
|
| // If it hasn't changed, this call will be harmless.
|
| - UpdateSettingDefaultFromModel(ExContentSettingsType(type));
|
| + UpdateSettingDefaultFromModel(type);
|
| }
|
|
|
| void ContentSettingsHandler::UpdateExceptionsViewFromOTRHostContentSettingsMap(
|
| @@ -956,8 +802,7 @@
|
| }
|
|
|
| ContentSetting default_setting = ContentSettingFromString(setting);
|
| - ExContentSettingsType content_type =
|
| - ExContentSettingsTypeFromGroupName(group);
|
| + ContentSettingsType content_type = ContentSettingsTypeFromGroupName(group);
|
| Profile* profile = Profile::FromWebUI(web_ui());
|
|
|
| #if defined(OS_CHROMEOS)
|
| @@ -970,17 +815,10 @@
|
| if (content_type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS) {
|
| DesktopNotificationServiceFactory::GetForProfile(profile)->
|
| SetDefaultContentSetting(default_setting);
|
| - } else if (content_type == EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC) {
|
| - flash_cameramic_settings_.default_permission =
|
| - FlashPermissionFromContentSetting(default_setting);
|
| - flash_settings_manager_->SetDefaultPermission(
|
| - PP_FLASH_BROWSEROPERATIONS_SETTINGTYPE_CAMERAMIC,
|
| - flash_cameramic_settings_.default_permission, false);
|
| } else {
|
| HostContentSettingsMap* map = profile->GetHostContentSettingsMap();
|
| - ContentSettingsType converted_type = content_type.ToContentSettingsType();
|
| - ApplyWhitelist(converted_type, default_setting);
|
| - map->SetDefaultContentSetting(converted_type, default_setting);
|
| + ApplyWhitelist(content_type, default_setting);
|
| + map->SetDefaultContentSetting(content_type, default_setting);
|
| }
|
| switch (content_type) {
|
| case CONTENT_SETTINGS_TYPE_COOKIES:
|
| @@ -1019,10 +857,6 @@
|
| content::RecordAction(
|
| UserMetricsAction("Options_DefaultMouseLockSettingChanged"));
|
| break;
|
| - case EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC:
|
| - content::RecordAction(
|
| - UserMetricsAction("Options_DefaultFlashCameraMicSettingChanged"));
|
| - break;
|
| default:
|
| break;
|
| }
|
| @@ -1034,8 +868,7 @@
|
| CHECK(args->GetString(arg_i++, &type_string));
|
|
|
| Profile* profile = Profile::FromWebUI(web_ui());
|
| - ExContentSettingsType type = ExContentSettingsTypeFromGroupName(
|
| - type_string);
|
| + ContentSettingsType type = ContentSettingsTypeFromGroupName(type_string);
|
| if (type == CONTENT_SETTINGS_TYPE_GEOLOCATION) {
|
| std::string origin;
|
| std::string embedding_origin;
|
| @@ -1072,37 +905,18 @@
|
| rv = args->GetString(arg_i++, &pattern);
|
| DCHECK(rv);
|
|
|
| - if (type == EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC) {
|
| - DCHECK_EQ(mode, "normal");
|
| -
|
| - CachedPepperFlashSettings::SiteMap::iterator iter =
|
| - flash_cameramic_settings_.sites.find(pattern);
|
| - if (iter != flash_cameramic_settings_.sites.end()) {
|
| - flash_cameramic_settings_.sites.erase(iter);
|
| - ppapi::FlashSiteSettings site_settings(1,
|
| - ppapi::FlashSiteSetting(
|
| - pattern, PP_FLASH_BROWSEROPERATIONS_PERMISSION_DEFAULT));
|
| - flash_settings_manager_->SetSitePermission(
|
| - PP_FLASH_BROWSEROPERATIONS_SETTINGTYPE_CAMERAMIC,
|
| - site_settings);
|
| - } else {
|
| - NOTREACHED();
|
| - }
|
| - UpdateFlashCameraMicExceptionsView();
|
| - } else {
|
| - HostContentSettingsMap* settings_map =
|
| - mode == "normal" ? GetContentSettingsMap() :
|
| - GetOTRContentSettingsMap();
|
| - // The settings map could be null if the mode was OTR but the OTR profile
|
| - // got destroyed before we received this message.
|
| - if (settings_map) {
|
| - settings_map->SetContentSetting(
|
| - ContentSettingsPattern::FromString(pattern),
|
| - ContentSettingsPattern::Wildcard(),
|
| - type.ToContentSettingsType(),
|
| - "",
|
| - CONTENT_SETTING_DEFAULT);
|
| - }
|
| + HostContentSettingsMap* settings_map =
|
| + mode == "normal" ? GetContentSettingsMap() :
|
| + GetOTRContentSettingsMap();
|
| + // The settings map could be null if the mode was OTR but the OTR profile
|
| + // got destroyed before we received this message.
|
| + if (settings_map) {
|
| + settings_map->SetContentSetting(
|
| + ContentSettingsPattern::FromString(pattern),
|
| + ContentSettingsPattern::Wildcard(),
|
| + ContentSettingsTypeFromGroupName(type_string),
|
| + "",
|
| + CONTENT_SETTING_DEFAULT);
|
| }
|
| }
|
| }
|
| @@ -1118,71 +932,48 @@
|
| std::string setting;
|
| CHECK(args->GetString(arg_i++, &setting));
|
|
|
| - ExContentSettingsType type = ExContentSettingsTypeFromGroupName(type_string);
|
| + ContentSettingsType type = ContentSettingsTypeFromGroupName(type_string);
|
| if (type == CONTENT_SETTINGS_TYPE_GEOLOCATION ||
|
| type == CONTENT_SETTINGS_TYPE_NOTIFICATIONS) {
|
| NOTREACHED();
|
| - } else if (type == EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC) {
|
| - DCHECK(IsValidHost(pattern));
|
| + return;
|
| + }
|
|
|
| - if (flash_cameramic_settings_.sites.find(pattern) ==
|
| - flash_cameramic_settings_.sites.end()) {
|
| - pattern = CanonicalizeHost(pattern);
|
| - }
|
| - PP_Flash_BrowserOperations_Permission permission =
|
| - FlashPermissionFromContentSetting(ContentSettingFromString(setting));
|
| - flash_cameramic_settings_.sites[pattern] = permission;
|
| - ppapi::FlashSiteSettings
|
| - site_settings(1, ppapi::FlashSiteSetting(pattern, permission));
|
| - flash_settings_manager_->SetSitePermission(
|
| - PP_FLASH_BROWSEROPERATIONS_SETTINGTYPE_CAMERAMIC,
|
| - site_settings);
|
| - UpdateFlashCameraMicExceptionsView();
|
| - } else {
|
| - HostContentSettingsMap* settings_map =
|
| - mode == "normal" ? GetContentSettingsMap() :
|
| - GetOTRContentSettingsMap();
|
| + HostContentSettingsMap* settings_map =
|
| + mode == "normal" ? GetContentSettingsMap() :
|
| + GetOTRContentSettingsMap();
|
|
|
| - // The settings map could be null if the mode was OTR but the OTR profile
|
| - // got destroyed before we received this message.
|
| - if (!settings_map)
|
| - return;
|
| - settings_map->SetContentSetting(ContentSettingsPattern::FromString(pattern),
|
| - ContentSettingsPattern::Wildcard(),
|
| - type.ToContentSettingsType(),
|
| - "",
|
| - ContentSettingFromString(setting));
|
| - }
|
| + // The settings map could be null if the mode was OTR but the OTR profile
|
| + // got destroyed before we received this message.
|
| + if (!settings_map)
|
| + return;
|
| + settings_map->SetContentSetting(ContentSettingsPattern::FromString(pattern),
|
| + ContentSettingsPattern::Wildcard(),
|
| + type,
|
| + "",
|
| + ContentSettingFromString(setting));
|
| }
|
|
|
| void ContentSettingsHandler::CheckExceptionPatternValidity(
|
| const ListValue* args) {
|
| size_t arg_i = 0;
|
| - std::string type_string;
|
| - CHECK(args->GetString(arg_i++, &type_string));
|
| + Value* type;
|
| + CHECK(args->Get(arg_i++, &type));
|
| std::string mode_string;
|
| CHECK(args->GetString(arg_i++, &mode_string));
|
| std::string pattern_string;
|
| CHECK(args->GetString(arg_i++, &pattern_string));
|
|
|
| - ExContentSettingsType type = ExContentSettingsTypeFromGroupName(type_string);
|
| - bool is_valid = false;
|
| - if (type == EX_CONTENT_SETTINGS_TYPE_PEPPER_FLASH_CAMERAMIC) {
|
| - is_valid = IsValidHost(pattern_string);
|
| - } else {
|
| - ContentSettingsPattern pattern =
|
| - ContentSettingsPattern::FromString(pattern_string);
|
| - is_valid = pattern.IsValid();
|
| - }
|
| + ContentSettingsPattern pattern =
|
| + ContentSettingsPattern::FromString(pattern_string);
|
|
|
| - scoped_ptr<Value> type_value(Value::CreateStringValue(type_string));
|
| scoped_ptr<Value> mode_value(Value::CreateStringValue(mode_string));
|
| scoped_ptr<Value> pattern_value(Value::CreateStringValue(pattern_string));
|
| - scoped_ptr<Value> valid_value(Value::CreateBooleanValue(is_valid));
|
| + scoped_ptr<Value> valid_value(Value::CreateBooleanValue(pattern.IsValid()));
|
|
|
| web_ui()->CallJavascriptFunction(
|
| "ContentSettings.patternValidityCheckComplete",
|
| - *type_value.get(),
|
| + *type,
|
| *mode_value.get(),
|
| *pattern_value.get(),
|
| *valid_value.get());
|
| @@ -1191,7 +982,13 @@
|
| // static
|
| std::string ContentSettingsHandler::ContentSettingsTypeToGroupName(
|
| ContentSettingsType type) {
|
| - return ExContentSettingsTypeToGroupName(ExContentSettingsType(type));
|
| + for (size_t i = 0; i < arraysize(kContentSettingsTypeGroupNames); ++i) {
|
| + if (type == kContentSettingsTypeGroupNames[i].type)
|
| + return kContentSettingsTypeGroupNames[i].name;
|
| + }
|
| +
|
| + NOTREACHED();
|
| + return std::string();
|
| }
|
|
|
| HostContentSettingsMap* ContentSettingsHandler::GetContentSettingsMap() {
|
| @@ -1210,33 +1007,4 @@
|
| return NULL;
|
| }
|
|
|
| -// static
|
| -ContentSettingsHandler::ExContentSettingsType
|
| - ContentSettingsHandler::ExContentSettingsTypeFromGroupName(
|
| - const std::string& name) {
|
| - COMPILE_ASSERT(arraysize(kExContentSettingsTypeGroupNames) ==
|
| - EX_CONTENT_SETTINGS_NUM_TYPES,
|
| - MISSING_CONTENT_SETTINGS_TYPE);
|
| -
|
| - for (size_t i = 0; i < arraysize(kExContentSettingsTypeGroupNames); ++i) {
|
| - if (name == kExContentSettingsTypeGroupNames[i].name)
|
| - return kExContentSettingsTypeGroupNames[i].type;
|
| - }
|
| -
|
| - NOTREACHED() << name << " is not a recognized content settings type.";
|
| - return ExContentSettingsType(CONTENT_SETTINGS_TYPE_DEFAULT);
|
| -}
|
| -
|
| -// static
|
| -std::string ContentSettingsHandler::ExContentSettingsTypeToGroupName(
|
| - const ExContentSettingsType& type) {
|
| - for (size_t i = 0; i < arraysize(kExContentSettingsTypeGroupNames); ++i) {
|
| - if (type == kExContentSettingsTypeGroupNames[i].type)
|
| - return kExContentSettingsTypeGroupNames[i].name;
|
| - }
|
| -
|
| - NOTREACHED();
|
| - return std::string();
|
| -}
|
| -
|
| } // namespace options2
|
|
|