| Index: chrome/browser/ui/website_settings/website_settings_ui.cc
|
| diff --git a/chrome/browser/ui/website_settings/website_settings_ui.cc b/chrome/browser/ui/website_settings/website_settings_ui.cc
|
| index ab6f59eb3cf1c4a6802ae7d0a9f8db5a5f4e52ed..552d956cec65545c655153c0382503b7a2cca25e 100644
|
| --- a/chrome/browser/ui/website_settings/website_settings_ui.cc
|
| +++ b/chrome/browser/ui/website_settings/website_settings_ui.cc
|
| @@ -12,8 +12,62 @@
|
| #include "ui/gfx/image/image.h"
|
|
|
| namespace {
|
| +
|
| const int kInvalidResourceID = -1;
|
| -}
|
| +
|
| +// The resource id's for the strings that are displayed on the permissions
|
| +// button if the permission setting is managed by policy.
|
| +const int kPermissionButtonTextIDPolicyManaged[] = {
|
| + kInvalidResourceID,
|
| + IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_POLICY,
|
| + IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_POLICY,
|
| + kInvalidResourceID,
|
| + kInvalidResourceID
|
| +};
|
| +COMPILE_ASSERT(arraysize(kPermissionButtonTextIDPolicyManaged) ==
|
| + CONTENT_SETTING_NUM_SETTINGS,
|
| + button_text_id_array_size_incorrect);
|
| +
|
| +// The resource id's for the strings that are displayed on the permissions
|
| +// button if the permission setting is managed by an extension.
|
| +const int kPermissionButtonTextIDExtensionManaged[] = {
|
| + kInvalidResourceID,
|
| + IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_EXTENSION,
|
| + IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_EXTENSION,
|
| + kInvalidResourceID,
|
| + kInvalidResourceID
|
| +};
|
| +COMPILE_ASSERT(arraysize(kPermissionButtonTextIDExtensionManaged) ==
|
| + CONTENT_SETTING_NUM_SETTINGS,
|
| + button_text_id_array_size_incorrect);
|
| +
|
| +// The resource id's for the strings that are displayed on the permissions
|
| +// button if the permission setting is managed by the user.
|
| +const int kPermissionButtonTextIDUserManaged[] = {
|
| + kInvalidResourceID,
|
| + IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_USER,
|
| + IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_USER,
|
| + kInvalidResourceID,
|
| + kInvalidResourceID
|
| +};
|
| +COMPILE_ASSERT(arraysize(kPermissionButtonTextIDUserManaged) ==
|
| + CONTENT_SETTING_NUM_SETTINGS,
|
| + button_text_id_array_size_incorrect);
|
| +
|
| +// The resource id's for the strings that are displayed on the permissions
|
| +// button if the permission setting is the global default setting.
|
| +const int kPermissionButtonTextIDDefaultSetting[] = {
|
| + kInvalidResourceID,
|
| + IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_DEFAULT,
|
| + IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_DEFAULT,
|
| + IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ASK_BY_DEFAULT,
|
| + kInvalidResourceID
|
| +};
|
| +COMPILE_ASSERT(arraysize(kPermissionButtonTextIDDefaultSetting) ==
|
| + CONTENT_SETTING_NUM_SETTINGS,
|
| + button_text_id_array_size_incorrect);
|
| +
|
| +} // namespace
|
|
|
| WebsiteSettingsUI::CookieInfo::CookieInfo()
|
| : allowed(-1), blocked(-1) {
|
| @@ -22,7 +76,8 @@ WebsiteSettingsUI::CookieInfo::CookieInfo()
|
| WebsiteSettingsUI::PermissionInfo::PermissionInfo()
|
| : type(CONTENT_SETTINGS_TYPE_DEFAULT),
|
| setting(CONTENT_SETTING_DEFAULT),
|
| - default_setting(CONTENT_SETTING_DEFAULT) {
|
| + default_setting(CONTENT_SETTING_DEFAULT),
|
| + source(content_settings::SETTING_SOURCE_NONE) {
|
| }
|
|
|
| WebsiteSettingsUI::IdentityInfo::IdentityInfo()
|
| @@ -89,37 +144,36 @@ string16 WebsiteSettingsUI::PermissionValueToUIString(ContentSetting value) {
|
|
|
| // static
|
| string16 WebsiteSettingsUI::PermissionActionToUIString(
|
| - ContentSetting setting, ContentSetting default_setting) {
|
| - ContentSetting setting_value;
|
| - int setting_description_id = kInvalidResourceID;
|
| - int action_description_id = kInvalidResourceID;
|
| -
|
| - // Check whether or not the default setting was used.
|
| - if (setting == CONTENT_SETTING_DEFAULT) {
|
| - setting_value = default_setting;
|
| - setting_description_id = IDS_WEBSITE_SETTINGS_DEFAULT_SETTING;
|
| - } else {
|
| - setting_value = setting;
|
| - setting_description_id = IDS_WEBSITE_SETTINGS_USER_SETTING;
|
| - }
|
| + ContentSetting setting,
|
| + ContentSetting default_setting,
|
| + content_settings::SettingSource source) {
|
| + ContentSetting effective_setting = setting;
|
| + if (effective_setting == CONTENT_SETTING_DEFAULT)
|
| + effective_setting = default_setting;
|
|
|
| - // Determine the string to use to describe the action that was taken, e.g.
|
| - // "Allowed", "Blocked", "Ask".
|
| - switch (setting_value) {
|
| - case CONTENT_SETTING_ALLOW:
|
| - action_description_id = IDS_WEBSITE_SETTINGS_PERMISSION_ACTION_ALLOWED;
|
| + const int* button_text_ids = NULL;
|
| + switch (source) {
|
| + case content_settings::SETTING_SOURCE_USER:
|
| + if (setting == CONTENT_SETTING_DEFAULT)
|
| + button_text_ids = kPermissionButtonTextIDDefaultSetting;
|
| + else
|
| + button_text_ids = kPermissionButtonTextIDUserManaged;
|
| break;
|
| - case CONTENT_SETTING_BLOCK:
|
| - action_description_id = IDS_WEBSITE_SETTINGS_PERMISSION_ACTION_BLOCKED;
|
| + case content_settings::SETTING_SOURCE_POLICY:
|
| + button_text_ids = kPermissionButtonTextIDPolicyManaged;
|
| break;
|
| - case CONTENT_SETTING_ASK:
|
| - action_description_id = IDS_WEBSITE_SETTINGS_PERMISSION_ACTION_ASK;
|
| + case content_settings::SETTING_SOURCE_EXTENSION:
|
| + button_text_ids = kPermissionButtonTextIDExtensionManaged;
|
| break;
|
| + case content_settings::SETTING_SOURCE_WHITELIST:
|
| + case content_settings::SETTING_SOURCE_NONE:
|
| default:
|
| NOTREACHED();
|
| + return string16();
|
| }
|
| - return l10n_util::GetStringFUTF16(setting_description_id,
|
| - l10n_util::GetStringUTF16(action_description_id));
|
| + int button_text_id = button_text_ids[effective_setting];
|
| + DCHECK_NE(button_text_id, kInvalidResourceID);
|
| + return l10n_util::GetStringUTF16(button_text_id);
|
| }
|
|
|
| // static
|
|
|