| 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/webui/options/content_settings_handler.h" | 5 #include "chrome/browser/ui/webui/options/content_settings_handler.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <map> | 8 #include <map> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 struct ContentSettingWithExceptions { | 73 struct ContentSettingWithExceptions { |
| 74 ContentSettingsType type; | 74 ContentSettingsType type; |
| 75 bool has_otr_exceptions; | 75 bool has_otr_exceptions; |
| 76 }; | 76 }; |
| 77 | 77 |
| 78 const ContentSettingWithExceptions kContentTypesWithExceptions[] = { | 78 const ContentSettingWithExceptions kContentTypesWithExceptions[] = { |
| 79 // With OTR exceptions. | 79 // With OTR exceptions. |
| 80 {CONTENT_SETTINGS_TYPE_COOKIES, true}, | 80 {CONTENT_SETTINGS_TYPE_COOKIES, true}, |
| 81 {CONTENT_SETTINGS_TYPE_IMAGES, true}, | 81 {CONTENT_SETTINGS_TYPE_IMAGES, true}, |
| 82 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, true}, | 82 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, true}, |
| 83 {CONTENT_SETTINGS_TYPE_KEYGEN, true}, |
| 83 {CONTENT_SETTINGS_TYPE_PLUGINS, true}, | 84 {CONTENT_SETTINGS_TYPE_PLUGINS, true}, |
| 84 {CONTENT_SETTINGS_TYPE_POPUPS, true}, | 85 {CONTENT_SETTINGS_TYPE_POPUPS, true}, |
| 85 {CONTENT_SETTINGS_TYPE_FULLSCREEN, true}, | 86 {CONTENT_SETTINGS_TYPE_FULLSCREEN, true}, |
| 86 {CONTENT_SETTINGS_TYPE_MOUSELOCK, true}, | 87 {CONTENT_SETTINGS_TYPE_MOUSELOCK, true}, |
| 87 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, true}, | 88 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, true}, |
| 88 {CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, true}, | 89 {CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, true}, |
| 89 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) | 90 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) |
| 90 {CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER, true}, | 91 {CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER, true}, |
| 91 #endif | 92 #endif |
| 92 | 93 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 const char kAppName[] = "appName"; | 129 const char kAppName[] = "appName"; |
| 129 const char kAppId[] = "appId"; | 130 const char kAppId[] = "appId"; |
| 130 const char kEmbeddingOrigin[] = "embeddingOrigin"; | 131 const char kEmbeddingOrigin[] = "embeddingOrigin"; |
| 131 const char kPreferencesSource[] = "preference"; | 132 const char kPreferencesSource[] = "preference"; |
| 132 const char kZoom[] = "zoom"; | 133 const char kZoom[] = "zoom"; |
| 133 | 134 |
| 134 const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { | 135 const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { |
| 135 {CONTENT_SETTINGS_TYPE_COOKIES, "cookies"}, | 136 {CONTENT_SETTINGS_TYPE_COOKIES, "cookies"}, |
| 136 {CONTENT_SETTINGS_TYPE_IMAGES, "images"}, | 137 {CONTENT_SETTINGS_TYPE_IMAGES, "images"}, |
| 137 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, "javascript"}, | 138 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, "javascript"}, |
| 139 {CONTENT_SETTINGS_TYPE_KEYGEN, "keygen"}, |
| 138 {CONTENT_SETTINGS_TYPE_PLUGINS, "plugins"}, | 140 {CONTENT_SETTINGS_TYPE_PLUGINS, "plugins"}, |
| 139 {CONTENT_SETTINGS_TYPE_POPUPS, "popups"}, | 141 {CONTENT_SETTINGS_TYPE_POPUPS, "popups"}, |
| 140 {CONTENT_SETTINGS_TYPE_GEOLOCATION, "location"}, | 142 {CONTENT_SETTINGS_TYPE_GEOLOCATION, "location"}, |
| 141 {CONTENT_SETTINGS_TYPE_NOTIFICATIONS, "notifications"}, | 143 {CONTENT_SETTINGS_TYPE_NOTIFICATIONS, "notifications"}, |
| 142 {CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, "auto-select-certificate"}, | 144 {CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, "auto-select-certificate"}, |
| 143 {CONTENT_SETTINGS_TYPE_FULLSCREEN, "fullscreen"}, | 145 {CONTENT_SETTINGS_TYPE_FULLSCREEN, "fullscreen"}, |
| 144 {CONTENT_SETTINGS_TYPE_MOUSELOCK, "mouselock"}, | 146 {CONTENT_SETTINGS_TYPE_MOUSELOCK, "mouselock"}, |
| 145 {CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, "register-protocol-handler"}, | 147 {CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, "register-protocol-handler"}, |
| 146 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, "media-stream-mic"}, | 148 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, "media-stream-mic"}, |
| 147 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, "media-stream-camera"}, | 149 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, "media-stream-camera"}, |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 384 // Image filter. | 386 // Image filter. |
| 385 {"imagesTabLabel", IDS_IMAGES_TAB_LABEL}, | 387 {"imagesTabLabel", IDS_IMAGES_TAB_LABEL}, |
| 386 {"imagesHeader", IDS_IMAGES_HEADER}, | 388 {"imagesHeader", IDS_IMAGES_HEADER}, |
| 387 {"imagesAllow", IDS_IMAGES_LOAD_RADIO}, | 389 {"imagesAllow", IDS_IMAGES_LOAD_RADIO}, |
| 388 {"imagesBlock", IDS_IMAGES_NOLOAD_RADIO}, | 390 {"imagesBlock", IDS_IMAGES_NOLOAD_RADIO}, |
| 389 // JavaScript filter. | 391 // JavaScript filter. |
| 390 {"javascriptTabLabel", IDS_JAVASCRIPT_TAB_LABEL}, | 392 {"javascriptTabLabel", IDS_JAVASCRIPT_TAB_LABEL}, |
| 391 {"javascriptHeader", IDS_JAVASCRIPT_HEADER}, | 393 {"javascriptHeader", IDS_JAVASCRIPT_HEADER}, |
| 392 {"javascriptAllow", IDS_JS_ALLOW_RADIO}, | 394 {"javascriptAllow", IDS_JS_ALLOW_RADIO}, |
| 393 {"javascriptBlock", IDS_JS_DONOTALLOW_RADIO}, | 395 {"javascriptBlock", IDS_JS_DONOTALLOW_RADIO}, |
| 396 // Keygen filter. |
| 397 {"keygenTabLabel", IDS_KEYGEN_TAB_LABEL}, |
| 398 {"keygenHeader", IDS_KEYGEN_HEADER}, |
| 399 {"keygenAllow", IDS_KEYGEN_ALLOW_RADIO}, |
| 400 {"keygenBlock", IDS_KEYGEN_DONOTALLOW_RADIO}, |
| 394 // Plugins filter. | 401 // Plugins filter. |
| 395 {"pluginsTabLabel", IDS_PLUGIN_TAB_LABEL}, | 402 {"pluginsTabLabel", IDS_PLUGIN_TAB_LABEL}, |
| 396 {"pluginsHeader", IDS_PLUGIN_HEADER}, | 403 {"pluginsHeader", IDS_PLUGIN_HEADER}, |
| 397 {"pluginsAllow", IDS_PLUGIN_ALLOW_RADIO}, | 404 {"pluginsAllow", IDS_PLUGIN_ALLOW_RADIO}, |
| 398 {"pluginsBlock", IDS_PLUGIN_BLOCK_RADIO}, | 405 {"pluginsBlock", IDS_PLUGIN_BLOCK_RADIO}, |
| 399 {"pluginsDetectImportantContent", IDS_PLUGIN_DETECT_RECOMMENDED_RADIO}, | 406 {"pluginsDetectImportantContent", IDS_PLUGIN_DETECT_RECOMMENDED_RADIO}, |
| 400 {"manageIndividualPlugins", IDS_PLUGIN_MANAGE_INDIVIDUAL}, | 407 {"manageIndividualPlugins", IDS_PLUGIN_MANAGE_INDIVIDUAL}, |
| 401 // Pop-ups filter. | 408 // Pop-ups filter. |
| 402 {"popupsTabLabel", IDS_POPUP_TAB_LABEL}, | 409 {"popupsTabLabel", IDS_POPUP_TAB_LABEL}, |
| 403 {"popupsHeader", IDS_POPUP_HEADER}, | 410 {"popupsHeader", IDS_POPUP_HEADER}, |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 497 IDS_CONTENT_SETTINGS_TITLE); | 504 IDS_CONTENT_SETTINGS_TITLE); |
| 498 | 505 |
| 499 // Register titles for each of the individual settings whose exception | 506 // Register titles for each of the individual settings whose exception |
| 500 // dialogs will be processed by |ContentSettingsHandler|. | 507 // dialogs will be processed by |ContentSettingsHandler|. |
| 501 RegisterTitle(localized_strings, "cookies", | 508 RegisterTitle(localized_strings, "cookies", |
| 502 IDS_COOKIES_TAB_LABEL); | 509 IDS_COOKIES_TAB_LABEL); |
| 503 RegisterTitle(localized_strings, "images", | 510 RegisterTitle(localized_strings, "images", |
| 504 IDS_IMAGES_TAB_LABEL); | 511 IDS_IMAGES_TAB_LABEL); |
| 505 RegisterTitle(localized_strings, "javascript", | 512 RegisterTitle(localized_strings, "javascript", |
| 506 IDS_JAVASCRIPT_TAB_LABEL); | 513 IDS_JAVASCRIPT_TAB_LABEL); |
| 514 RegisterTitle(localized_strings, "keygen", IDS_KEYGEN_TAB_LABEL); |
| 507 RegisterTitle(localized_strings, "plugins", | 515 RegisterTitle(localized_strings, "plugins", |
| 508 IDS_PLUGIN_TAB_LABEL); | 516 IDS_PLUGIN_TAB_LABEL); |
| 509 RegisterTitle(localized_strings, "popups", | 517 RegisterTitle(localized_strings, "popups", |
| 510 IDS_POPUP_TAB_LABEL); | 518 IDS_POPUP_TAB_LABEL); |
| 511 RegisterTitle(localized_strings, "location", | 519 RegisterTitle(localized_strings, "location", |
| 512 IDS_GEOLOCATION_TAB_LABEL); | 520 IDS_GEOLOCATION_TAB_LABEL); |
| 513 RegisterTitle(localized_strings, "notifications", | 521 RegisterTitle(localized_strings, "notifications", |
| 514 IDS_NOTIFICATIONS_TAB_LABEL); | 522 IDS_NOTIFICATIONS_TAB_LABEL); |
| 515 RegisterTitle(localized_strings, "fullscreen", | 523 RegisterTitle(localized_strings, "fullscreen", |
| 516 IDS_FULLSCREEN_TAB_LABEL); | 524 IDS_FULLSCREEN_TAB_LABEL); |
| (...skipping 862 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1379 UserMetricsAction("Options_DefaultCookieSettingChanged")); | 1387 UserMetricsAction("Options_DefaultCookieSettingChanged")); |
| 1380 break; | 1388 break; |
| 1381 case CONTENT_SETTINGS_TYPE_IMAGES: | 1389 case CONTENT_SETTINGS_TYPE_IMAGES: |
| 1382 content::RecordAction( | 1390 content::RecordAction( |
| 1383 UserMetricsAction("Options_DefaultImagesSettingChanged")); | 1391 UserMetricsAction("Options_DefaultImagesSettingChanged")); |
| 1384 break; | 1392 break; |
| 1385 case CONTENT_SETTINGS_TYPE_JAVASCRIPT: | 1393 case CONTENT_SETTINGS_TYPE_JAVASCRIPT: |
| 1386 content::RecordAction( | 1394 content::RecordAction( |
| 1387 UserMetricsAction("Options_DefaultJavaScriptSettingChanged")); | 1395 UserMetricsAction("Options_DefaultJavaScriptSettingChanged")); |
| 1388 break; | 1396 break; |
| 1397 case CONTENT_SETTINGS_TYPE_KEYGEN: |
| 1398 content::RecordAction( |
| 1399 UserMetricsAction("Options_DefaultKeygenSettingChanged")); |
| 1400 break; |
| 1389 case CONTENT_SETTINGS_TYPE_PLUGINS: | 1401 case CONTENT_SETTINGS_TYPE_PLUGINS: |
| 1390 content::RecordAction( | 1402 content::RecordAction( |
| 1391 UserMetricsAction("Options_DefaultPluginsSettingChanged")); | 1403 UserMetricsAction("Options_DefaultPluginsSettingChanged")); |
| 1392 break; | 1404 break; |
| 1393 case CONTENT_SETTINGS_TYPE_POPUPS: | 1405 case CONTENT_SETTINGS_TYPE_POPUPS: |
| 1394 content::RecordAction( | 1406 content::RecordAction( |
| 1395 UserMetricsAction("Options_DefaultPopupsSettingChanged")); | 1407 UserMetricsAction("Options_DefaultPopupsSettingChanged")); |
| 1396 break; | 1408 break; |
| 1397 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS: | 1409 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS: |
| 1398 content::RecordAction( | 1410 content::RecordAction( |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1662 | 1674 |
| 1663 // Exceptions apply only when the feature is enabled. | 1675 // Exceptions apply only when the feature is enabled. |
| 1664 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui())); | 1676 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui())); |
| 1665 bool enable_exceptions = prefs->GetBoolean(prefs::kEnableDRM); | 1677 bool enable_exceptions = prefs->GetBoolean(prefs::kEnableDRM); |
| 1666 web_ui()->CallJavascriptFunction( | 1678 web_ui()->CallJavascriptFunction( |
| 1667 "ContentSettings.enableProtectedContentExceptions", | 1679 "ContentSettings.enableProtectedContentExceptions", |
| 1668 base::FundamentalValue(enable_exceptions)); | 1680 base::FundamentalValue(enable_exceptions)); |
| 1669 } | 1681 } |
| 1670 | 1682 |
| 1671 } // namespace options | 1683 } // namespace options |
| OLD | NEW |