| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/page_info/website_settings_ui.h" | 5 #include "chrome/browser/ui/page_info/website_settings_ui.h" |
| 6 | 6 |
| 7 #include "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" | 8 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" |
| 9 #include "chrome/browser/plugins/plugin_utils.h" | 9 #include "chrome/browser/plugins/plugin_utils.h" |
| 10 #include "chrome/browser/plugins/plugins_field_trial.h" | 10 #include "chrome/browser/plugins/plugins_field_trial.h" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 // The resource IDs for the strings that are displayed on the permissions | 25 // The resource IDs for the strings that are displayed on the permissions |
| 26 // button if the permission setting is managed by policy. | 26 // button if the permission setting is managed by policy. |
| 27 const int kPermissionButtonTextIDPolicyManaged[] = { | 27 const int kPermissionButtonTextIDPolicyManaged[] = { |
| 28 kInvalidResourceID, | 28 kInvalidResourceID, |
| 29 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_POLICY, | 29 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_POLICY, |
| 30 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_POLICY, | 30 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_POLICY, |
| 31 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ASK_BY_POLICY, | 31 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ASK_BY_POLICY, |
| 32 kInvalidResourceID, | 32 kInvalidResourceID, |
| 33 kInvalidResourceID}; | 33 kInvalidResourceID}; |
| 34 static_assert(arraysize(kPermissionButtonTextIDPolicyManaged) == | 34 static_assert(arraysize(kPermissionButtonTextIDPolicyManaged) == |
| 35 CONTENT_SETTING_NUM_SETTINGS, | 35 CONTENT_SETTING_NUM_SETTINGS, |
| 36 "kPermissionButtonTextIDPolicyManaged array size is incorrect"); | 36 "kPermissionButtonTextIDPolicyManaged array size is incorrect"); |
| 37 | 37 |
| 38 // The resource IDs for the strings that are displayed on the permissions | 38 // The resource IDs for the strings that are displayed on the permissions |
| 39 // button if the permission setting is managed by an extension. | 39 // button if the permission setting is managed by an extension. |
| 40 const int kPermissionButtonTextIDExtensionManaged[] = { | 40 const int kPermissionButtonTextIDExtensionManaged[] = { |
| 41 kInvalidResourceID, | 41 kInvalidResourceID, |
| 42 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_EXTENSION, | 42 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_EXTENSION, |
| 43 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_EXTENSION, | 43 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_EXTENSION, |
| 44 kInvalidResourceID, | 44 kInvalidResourceID, |
| 45 kInvalidResourceID, | 45 kInvalidResourceID, |
| 46 kInvalidResourceID}; | 46 kInvalidResourceID}; |
| 47 static_assert(arraysize(kPermissionButtonTextIDExtensionManaged) == | 47 static_assert(arraysize(kPermissionButtonTextIDExtensionManaged) == |
| 48 CONTENT_SETTING_NUM_SETTINGS, | 48 CONTENT_SETTING_NUM_SETTINGS, |
| 49 "kPermissionButtonTextIDExtensionManaged array size is " | 49 "kPermissionButtonTextIDExtensionManaged array size is " |
| 50 "incorrect"); | 50 "incorrect"); |
| 51 | 51 |
| 52 // The resource IDs for the strings that are displayed on the permissions | 52 // The resource IDs for the strings that are displayed on the permissions |
| 53 // button if the permission setting is managed by the user. | 53 // button if the permission setting is managed by the user. |
| 54 const int kPermissionButtonTextIDUserManaged[] = { | 54 const int kPermissionButtonTextIDUserManaged[] = { |
| 55 kInvalidResourceID, | 55 kInvalidResourceID, |
| 56 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_USER, | 56 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_USER, |
| 57 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_USER, | 57 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_USER, |
| 58 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ASK_BY_USER, | 58 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ASK_BY_USER, |
| 59 kInvalidResourceID, | 59 kInvalidResourceID, |
| 60 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_DETECT_IMPORTANT_CONTENT_BY_USER}; | 60 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_DETECT_IMPORTANT_CONTENT_BY_USER}; |
| 61 static_assert(arraysize(kPermissionButtonTextIDUserManaged) == | 61 static_assert(arraysize(kPermissionButtonTextIDUserManaged) == |
| 62 CONTENT_SETTING_NUM_SETTINGS, | 62 CONTENT_SETTING_NUM_SETTINGS, |
| 63 "kPermissionButtonTextIDUserManaged array size is incorrect"); | 63 "kPermissionButtonTextIDUserManaged array size is incorrect"); |
| 64 | 64 |
| 65 // The resource IDs for the strings that are displayed on the permissions | 65 // The resource IDs for the strings that are displayed on the permissions |
| 66 // button if the permission setting is the global default setting. | 66 // button if the permission setting is the global default setting. |
| 67 const int kPermissionButtonTextIDDefaultSetting[] = { | 67 const int kPermissionButtonTextIDDefaultSetting[] = { |
| 68 kInvalidResourceID, | 68 kInvalidResourceID, |
| 69 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_DEFAULT, | 69 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ALLOWED_BY_DEFAULT, |
| 70 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_DEFAULT, | 70 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_BLOCKED_BY_DEFAULT, |
| 71 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ASK_BY_DEFAULT, | 71 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_ASK_BY_DEFAULT, |
| 72 kInvalidResourceID, | 72 kInvalidResourceID, |
| 73 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_DETECT_IMPORTANT_CONTENT_BY_DEFAULT}; | 73 IDS_WEBSITE_SETTINGS_BUTTON_TEXT_DETECT_IMPORTANT_CONTENT_BY_DEFAULT}; |
| 74 static_assert(arraysize(kPermissionButtonTextIDDefaultSetting) == | 74 static_assert(arraysize(kPermissionButtonTextIDDefaultSetting) == |
| 75 CONTENT_SETTING_NUM_SETTINGS, | 75 CONTENT_SETTING_NUM_SETTINGS, |
| 76 "kPermissionButtonTextIDDefaultSetting array size is incorrect"); | 76 "kPermissionButtonTextIDDefaultSetting array size is incorrect"); |
| 77 | 77 |
| 78 struct PermissionsUIInfo { | 78 struct PermissionsUIInfo { |
| 79 ContentSettingsType type; | 79 ContentSettingsType type; |
| 80 int string_id; | 80 int string_id; |
| 81 int blocked_icon_id; | 81 int blocked_icon_id; |
| 82 int allowed_icon_id; | 82 int allowed_icon_id; |
| 83 }; | 83 }; |
| 84 | 84 |
| 85 const PermissionsUIInfo kPermissionsUIInfo[] = { | 85 const PermissionsUIInfo kPermissionsUIInfo[] = { |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 std::unique_ptr<WebsiteSettingsUI::SecurityDescription> | 120 std::unique_ptr<WebsiteSettingsUI::SecurityDescription> |
| 121 CreateSecurityDescription(int summary_id, int details_id) { | 121 CreateSecurityDescription(int summary_id, int details_id) { |
| 122 std::unique_ptr<WebsiteSettingsUI::SecurityDescription> security_description( | 122 std::unique_ptr<WebsiteSettingsUI::SecurityDescription> security_description( |
| 123 new WebsiteSettingsUI::SecurityDescription()); | 123 new WebsiteSettingsUI::SecurityDescription()); |
| 124 security_description->summary = l10n_util::GetStringUTF16(summary_id); | 124 security_description->summary = l10n_util::GetStringUTF16(summary_id); |
| 125 security_description->details = l10n_util::GetStringUTF16(details_id); | 125 security_description->details = l10n_util::GetStringUTF16(details_id); |
| 126 return security_description; | 126 return security_description; |
| 127 } | 127 } |
| 128 } // namespace | 128 } // namespace |
| 129 | 129 |
| 130 WebsiteSettingsUI::CookieInfo::CookieInfo() | 130 WebsiteSettingsUI::CookieInfo::CookieInfo() : allowed(-1), blocked(-1) {} |
| 131 : allowed(-1), blocked(-1) { | |
| 132 } | |
| 133 | 131 |
| 134 WebsiteSettingsUI::PermissionInfo::PermissionInfo() | 132 WebsiteSettingsUI::PermissionInfo::PermissionInfo() |
| 135 : type(CONTENT_SETTINGS_TYPE_DEFAULT), | 133 : type(CONTENT_SETTINGS_TYPE_DEFAULT), |
| 136 setting(CONTENT_SETTING_DEFAULT), | 134 setting(CONTENT_SETTING_DEFAULT), |
| 137 default_setting(CONTENT_SETTING_DEFAULT), | 135 default_setting(CONTENT_SETTING_DEFAULT), |
| 138 source(content_settings::SETTING_SOURCE_NONE), | 136 source(content_settings::SETTING_SOURCE_NONE), |
| 139 is_incognito(false) {} | 137 is_incognito(false) {} |
| 140 | 138 |
| 141 WebsiteSettingsUI::ChosenObjectInfo::ChosenObjectInfo( | 139 WebsiteSettingsUI::ChosenObjectInfo::ChosenObjectInfo( |
| 142 const WebsiteSettings::ChooserUIInfo& ui_info, | 140 const WebsiteSettings::ChooserUIInfo& ui_info, |
| 143 std::unique_ptr<base::DictionaryValue> object) | 141 std::unique_ptr<base::DictionaryValue> object) |
| 144 : ui_info(ui_info), object(std::move(object)) {} | 142 : ui_info(ui_info), object(std::move(object)) {} |
| 145 | 143 |
| 146 WebsiteSettingsUI::ChosenObjectInfo::~ChosenObjectInfo() {} | 144 WebsiteSettingsUI::ChosenObjectInfo::~ChosenObjectInfo() {} |
| 147 | 145 |
| 148 WebsiteSettingsUI::IdentityInfo::IdentityInfo() | 146 WebsiteSettingsUI::IdentityInfo::IdentityInfo() |
| 149 : identity_status(WebsiteSettings::SITE_IDENTITY_STATUS_UNKNOWN), | 147 : identity_status(WebsiteSettings::SITE_IDENTITY_STATUS_UNKNOWN), |
| 150 connection_status(WebsiteSettings::SITE_CONNECTION_STATUS_UNKNOWN), | 148 connection_status(WebsiteSettings::SITE_CONNECTION_STATUS_UNKNOWN), |
| 151 show_ssl_decision_revoke_button(false) { | 149 show_ssl_decision_revoke_button(false) {} |
| 152 } | |
| 153 | 150 |
| 154 WebsiteSettingsUI::IdentityInfo::~IdentityInfo() {} | 151 WebsiteSettingsUI::IdentityInfo::~IdentityInfo() {} |
| 155 | 152 |
| 156 std::unique_ptr<WebsiteSettingsUI::SecurityDescription> | 153 std::unique_ptr<WebsiteSettingsUI::SecurityDescription> |
| 157 WebsiteSettingsUI::IdentityInfo::GetSecurityDescription() const { | 154 WebsiteSettingsUI::IdentityInfo::GetSecurityDescription() const { |
| 158 std::unique_ptr<WebsiteSettingsUI::SecurityDescription> security_description( | 155 std::unique_ptr<WebsiteSettingsUI::SecurityDescription> security_description( |
| 159 new WebsiteSettingsUI::SecurityDescription()); | 156 new WebsiteSettingsUI::SecurityDescription()); |
| 160 | 157 |
| 161 switch (identity_status) { | 158 switch (identity_status) { |
| 162 case WebsiteSettings::SITE_IDENTITY_STATUS_INTERNAL_PAGE: | 159 case WebsiteSettings::SITE_IDENTITY_STATUS_INTERNAL_PAGE: |
| 163 // Internal pages have their own UI implementations which should never | 160 // Internal pages have their own UI implementations which should never |
| 164 // call this function. | 161 // call this function. |
| 165 NOTREACHED(); | 162 NOTREACHED(); |
| 166 case WebsiteSettings::SITE_IDENTITY_STATUS_CERT: | 163 case WebsiteSettings::SITE_IDENTITY_STATUS_CERT: |
| 167 case WebsiteSettings::SITE_IDENTITY_STATUS_EV_CERT: | 164 case WebsiteSettings::SITE_IDENTITY_STATUS_EV_CERT: |
| 168 case WebsiteSettings::SITE_IDENTITY_STATUS_CERT_REVOCATION_UNKNOWN: | 165 case WebsiteSettings::SITE_IDENTITY_STATUS_CERT_REVOCATION_UNKNOWN: |
| 169 case WebsiteSettings::SITE_IDENTITY_STATUS_ADMIN_PROVIDED_CERT: | 166 case WebsiteSettings::SITE_IDENTITY_STATUS_ADMIN_PROVIDED_CERT: |
| 170 switch (connection_status) { | 167 switch (connection_status) { |
| 171 case WebsiteSettings:: | 168 case WebsiteSettings:: |
| 172 SITE_CONNECTION_STATUS_INSECURE_ACTIVE_SUBRESOURCE: | 169 SITE_CONNECTION_STATUS_INSECURE_ACTIVE_SUBRESOURCE: |
| 173 return CreateSecurityDescription( | 170 return CreateSecurityDescription(IDS_PAGEINFO_NOT_SECURE_SUMMARY, |
| 174 IDS_PAGEINFO_NOT_SECURE_SUMMARY, | 171 IDS_PAGEINFO_NOT_SECURE_DETAILS); |
| 175 IDS_PAGEINFO_NOT_SECURE_DETAILS); | |
| 176 case WebsiteSettings:: | 172 case WebsiteSettings:: |
| 177 SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE: | 173 SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE: |
| 178 return CreateSecurityDescription( | 174 return CreateSecurityDescription(IDS_PAGEINFO_MIXED_CONTENT_SUMMARY, |
| 179 IDS_PAGEINFO_MIXED_CONTENT_SUMMARY, | 175 IDS_PAGEINFO_MIXED_CONTENT_DETAILS); |
| 180 IDS_PAGEINFO_MIXED_CONTENT_DETAILS); | |
| 181 default: | 176 default: |
| 182 return CreateSecurityDescription(IDS_PAGEINFO_SECURE_SUMMARY, | 177 return CreateSecurityDescription(IDS_PAGEINFO_SECURE_SUMMARY, |
| 183 IDS_PAGEINFO_SECURE_DETAILS); | 178 IDS_PAGEINFO_SECURE_DETAILS); |
| 184 } | 179 } |
| 185 case WebsiteSettings::SITE_IDENTITY_STATUS_MALWARE: | 180 case WebsiteSettings::SITE_IDENTITY_STATUS_MALWARE: |
| 186 return CreateSecurityDescription(IDS_PAGEINFO_MALWARE_SUMMARY, | 181 return CreateSecurityDescription(IDS_PAGEINFO_MALWARE_SUMMARY, |
| 187 IDS_PAGEINFO_MALWARE_DETAILS); | 182 IDS_PAGEINFO_MALWARE_DETAILS); |
| 188 case WebsiteSettings::SITE_IDENTITY_STATUS_SOCIAL_ENGINEERING: | 183 case WebsiteSettings::SITE_IDENTITY_STATUS_SOCIAL_ENGINEERING: |
| 189 return CreateSecurityDescription( | 184 return CreateSecurityDescription(IDS_PAGEINFO_SOCIAL_ENGINEERING_SUMMARY, |
| 190 IDS_PAGEINFO_SOCIAL_ENGINEERING_SUMMARY, | 185 IDS_PAGEINFO_SOCIAL_ENGINEERING_DETAILS); |
| 191 IDS_PAGEINFO_SOCIAL_ENGINEERING_DETAILS); | |
| 192 case WebsiteSettings::SITE_IDENTITY_STATUS_UNWANTED_SOFTWARE: | 186 case WebsiteSettings::SITE_IDENTITY_STATUS_UNWANTED_SOFTWARE: |
| 193 return CreateSecurityDescription( | 187 return CreateSecurityDescription(IDS_PAGEINFO_UNWANTED_SOFTWARE_SUMMARY, |
| 194 IDS_PAGEINFO_UNWANTED_SOFTWARE_SUMMARY, | 188 IDS_PAGEINFO_UNWANTED_SOFTWARE_DETAILS); |
| 195 IDS_PAGEINFO_UNWANTED_SOFTWARE_DETAILS); | |
| 196 case WebsiteSettings::SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM: | 189 case WebsiteSettings::SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM: |
| 197 case WebsiteSettings::SITE_IDENTITY_STATUS_UNKNOWN: | 190 case WebsiteSettings::SITE_IDENTITY_STATUS_UNKNOWN: |
| 198 case WebsiteSettings::SITE_IDENTITY_STATUS_NO_CERT: | 191 case WebsiteSettings::SITE_IDENTITY_STATUS_NO_CERT: |
| 199 default: | 192 default: |
| 200 return CreateSecurityDescription(IDS_PAGEINFO_NOT_SECURE_SUMMARY, | 193 return CreateSecurityDescription(IDS_PAGEINFO_NOT_SECURE_SUMMARY, |
| 201 IDS_PAGEINFO_NOT_SECURE_DETAILS); | 194 IDS_PAGEINFO_NOT_SECURE_DETAILS); |
| 202 } | 195 } |
| 203 } | 196 } |
| 204 | 197 |
| 205 WebsiteSettingsUI::~WebsiteSettingsUI() { | 198 WebsiteSettingsUI::~WebsiteSettingsUI() {} |
| 206 } | |
| 207 | 199 |
| 208 // static | 200 // static |
| 209 base::string16 WebsiteSettingsUI::PermissionTypeToUIString( | 201 base::string16 WebsiteSettingsUI::PermissionTypeToUIString( |
| 210 ContentSettingsType type) { | 202 ContentSettingsType type) { |
| 211 for (const PermissionsUIInfo& info : kPermissionsUIInfo) { | 203 for (const PermissionsUIInfo& info : kPermissionsUIInfo) { |
| 212 if (info.type == type) | 204 if (info.type == type) |
| 213 return l10n_util::GetStringUTF16(info.string_id); | 205 return l10n_util::GetStringUTF16(info.string_id); |
| 214 } | 206 } |
| 215 NOTREACHED(); | 207 NOTREACHED(); |
| 216 return base::string16(); | 208 return base::string16(); |
| 217 } | 209 } |
| 218 | 210 |
| 219 // static | 211 // static |
| 220 base::string16 WebsiteSettingsUI::PermissionValueToUIString( | 212 base::string16 WebsiteSettingsUI::PermissionValueToUIString( |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 } | 379 } |
| 388 return resource_id; | 380 return resource_id; |
| 389 } | 381 } |
| 390 | 382 |
| 391 // static | 383 // static |
| 392 const gfx::Image& WebsiteSettingsUI::GetConnectionIcon( | 384 const gfx::Image& WebsiteSettingsUI::GetConnectionIcon( |
| 393 WebsiteSettings::SiteConnectionStatus status) { | 385 WebsiteSettings::SiteConnectionStatus status) { |
| 394 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 386 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| 395 return rb.GetNativeImageNamed(GetConnectionIconID(status)); | 387 return rb.GetNativeImageNamed(GetConnectionIconID(status)); |
| 396 } | 388 } |
| OLD | NEW |