Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(601)

Side by Side Diff: chrome/browser/ui/webui/options/content_settings_handler.cc

Issue 1432573002: Adding <keygen> Content Setting (Android UI) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@keygen_ui
Patch Set: Fix rebase across multiple ancestors. Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 const char kEmbeddingOrigin[] = "embeddingOrigin"; 132 const char kEmbeddingOrigin[] = "embeddingOrigin";
133 const char kPreferencesSource[] = "preference"; 133 const char kPreferencesSource[] = "preference";
134 const char kZoom[] = "zoom"; 134 const char kZoom[] = "zoom";
135 const char kObject[] = "object"; 135 const char kObject[] = "object";
136 const char kObjectName[] = "objectName"; 136 const char kObjectName[] = "objectName";
137 137
138 const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = { 138 const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
139 {CONTENT_SETTINGS_TYPE_COOKIES, "cookies"}, 139 {CONTENT_SETTINGS_TYPE_COOKIES, "cookies"},
140 {CONTENT_SETTINGS_TYPE_IMAGES, "images"}, 140 {CONTENT_SETTINGS_TYPE_IMAGES, "images"},
141 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, "javascript"}, 141 {CONTENT_SETTINGS_TYPE_JAVASCRIPT, "javascript"},
142 {CONTENT_SETTINGS_TYPE_KEYGEN, "keygen"},
142 {CONTENT_SETTINGS_TYPE_PLUGINS, "plugins"}, 143 {CONTENT_SETTINGS_TYPE_PLUGINS, "plugins"},
143 {CONTENT_SETTINGS_TYPE_POPUPS, "popups"}, 144 {CONTENT_SETTINGS_TYPE_POPUPS, "popups"},
144 {CONTENT_SETTINGS_TYPE_GEOLOCATION, "location"}, 145 {CONTENT_SETTINGS_TYPE_GEOLOCATION, "location"},
145 {CONTENT_SETTINGS_TYPE_NOTIFICATIONS, "notifications"}, 146 {CONTENT_SETTINGS_TYPE_NOTIFICATIONS, "notifications"},
146 {CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, "auto-select-certificate"}, 147 {CONTENT_SETTINGS_TYPE_AUTO_SELECT_CERTIFICATE, "auto-select-certificate"},
147 {CONTENT_SETTINGS_TYPE_FULLSCREEN, "fullscreen"}, 148 {CONTENT_SETTINGS_TYPE_FULLSCREEN, "fullscreen"},
148 {CONTENT_SETTINGS_TYPE_MOUSELOCK, "mouselock"}, 149 {CONTENT_SETTINGS_TYPE_MOUSELOCK, "mouselock"},
149 {CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, "register-protocol-handler"}, 150 {CONTENT_SETTINGS_TYPE_PROTOCOL_HANDLERS, "register-protocol-handler"},
150 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, "media-stream-mic"}, 151 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, "media-stream-mic"},
151 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, "media-stream-camera"}, 152 {CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, "media-stream-camera"},
152 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, "ppapi-broker"}, 153 {CONTENT_SETTINGS_TYPE_PPAPI_BROKER, "ppapi-broker"},
153 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, "multiple-automatic-downloads"}, 154 {CONTENT_SETTINGS_TYPE_AUTOMATIC_DOWNLOADS, "multiple-automatic-downloads"},
154 {CONTENT_SETTINGS_TYPE_MIDI_SYSEX, "midi-sysex"}, 155 {CONTENT_SETTINGS_TYPE_MIDI_SYSEX, "midi-sysex"},
155 {CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, "push-messaging"}, 156 {CONTENT_SETTINGS_TYPE_PUSH_MESSAGING, "push-messaging"},
156 {CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS, "ssl-cert-decisions"}, 157 {CONTENT_SETTINGS_TYPE_SSL_CERT_DECISIONS, "ssl-cert-decisions"},
157 #if defined(OS_CHROMEOS) 158 #if defined(OS_CHROMEOS)
158 {CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER, "protectedContent"}, 159 {CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER, "protectedContent"},
159 #endif 160 #endif
161 {CONTENT_SETTINGS_TYPE_KEYGEN, "keygen"},
160 }; 162 };
161 163
162 ChooserContextBase* GetUsbChooserContext(Profile* profile) { 164 ChooserContextBase* GetUsbChooserContext(Profile* profile) {
163 return UsbChooserContextFactory::GetForProfile(profile); 165 return UsbChooserContextFactory::GetForProfile(profile);
164 } 166 }
165 167
166 const ContentSettingsHandler::ChooserTypeNameEntry kChooserTypeGroupNames[] = { 168 const ContentSettingsHandler::ChooserTypeNameEntry kChooserTypeGroupNames[] = {
167 {CONTENT_SETTINGS_TYPE_USB_CHOOSER_DATA, &GetUsbChooserContext, 169 {CONTENT_SETTINGS_TYPE_USB_CHOOSER_DATA, &GetUsbChooserContext,
168 "usb-devices", "name"}, 170 "usb-devices", "name"},
169 }; 171 };
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 true, 225 true,
224 UserMetricsAction("Options_DefaultPushMessagingSettingChanged")))); 226 UserMetricsAction("Options_DefaultPushMessagingSettingChanged"))));
225 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) 227 #if defined(OS_ANDROID) || defined(OS_CHROMEOS)
226 exceptions_info_map.insert(std::make_pair( 228 exceptions_info_map.insert(std::make_pair(
227 CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER, 229 CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER,
228 ContentSettingWithExceptions( 230 ContentSettingWithExceptions(
229 true, 231 true,
230 UserMetricsAction( 232 UserMetricsAction(
231 "Options_DefaultProtectedMediaIdentifierSettingChanged")))); 233 "Options_DefaultProtectedMediaIdentifierSettingChanged"))));
232 #endif 234 #endif
235 exceptions_info_map.insert(std::make_pair(
236 CONTENT_SETTINGS_TYPE_KEYGEN,
237 ContentSettingWithExceptions(
238 true, UserMetricsAction("Options_DefaultKeygenSettingChanged"))));
233 239
234 // Without OTR exceptions. 240 // Without OTR exceptions.
235 exceptions_info_map.insert(std::make_pair( 241 exceptions_info_map.insert(std::make_pair(
236 CONTENT_SETTINGS_TYPE_NOTIFICATIONS, 242 CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
237 ContentSettingWithExceptions( 243 ContentSettingWithExceptions(
238 false, 244 false,
239 UserMetricsAction("Options_DefaultNotificationsSettingChanged")))); 245 UserMetricsAction("Options_DefaultNotificationsSettingChanged"))));
240 exceptions_info_map.insert(std::make_pair( 246 exceptions_info_map.insert(std::make_pair(
241 CONTENT_SETTINGS_TYPE_GEOLOCATION, 247 CONTENT_SETTINGS_TYPE_GEOLOCATION,
242 ContentSettingWithExceptions( 248 ContentSettingWithExceptions(
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 // Image filter. 531 // Image filter.
526 {"imagesTabLabel", IDS_IMAGES_TAB_LABEL}, 532 {"imagesTabLabel", IDS_IMAGES_TAB_LABEL},
527 {"imagesHeader", IDS_IMAGES_HEADER}, 533 {"imagesHeader", IDS_IMAGES_HEADER},
528 {"imagesAllow", IDS_IMAGES_LOAD_RADIO}, 534 {"imagesAllow", IDS_IMAGES_LOAD_RADIO},
529 {"imagesBlock", IDS_IMAGES_NOLOAD_RADIO}, 535 {"imagesBlock", IDS_IMAGES_NOLOAD_RADIO},
530 // JavaScript filter. 536 // JavaScript filter.
531 {"javascriptTabLabel", IDS_JAVASCRIPT_TAB_LABEL}, 537 {"javascriptTabLabel", IDS_JAVASCRIPT_TAB_LABEL},
532 {"javascriptHeader", IDS_JAVASCRIPT_HEADER}, 538 {"javascriptHeader", IDS_JAVASCRIPT_HEADER},
533 {"javascriptAllow", IDS_JS_ALLOW_RADIO}, 539 {"javascriptAllow", IDS_JS_ALLOW_RADIO},
534 {"javascriptBlock", IDS_JS_DONOTALLOW_RADIO}, 540 {"javascriptBlock", IDS_JS_DONOTALLOW_RADIO},
541 // Keygen filter.
542 {"keygenTabLabel", IDS_KEYGEN_TAB_LABEL},
543 {"keygenHeader", IDS_KEYGEN_HEADER},
544 {"keygenAllow", IDS_KEYGEN_ALLOW_RADIO},
545 {"keygenBlock", IDS_KEYGEN_DONOTALLOW_RADIO},
535 // Plugins filter. 546 // Plugins filter.
536 {"pluginsTabLabel", IDS_PLUGIN_TAB_LABEL}, 547 {"pluginsTabLabel", IDS_PLUGIN_TAB_LABEL},
537 {"pluginsHeader", IDS_PLUGIN_HEADER}, 548 {"pluginsHeader", IDS_PLUGIN_HEADER},
538 {"pluginsAllow", IDS_PLUGIN_ALLOW_RADIO}, 549 {"pluginsAllow", IDS_PLUGIN_ALLOW_RADIO},
539 {"pluginsBlock", IDS_PLUGIN_BLOCK_RADIO}, 550 {"pluginsBlock", IDS_PLUGIN_BLOCK_RADIO},
540 {"pluginsDetectImportantContent", IDS_PLUGIN_DETECT_RECOMMENDED_RADIO}, 551 {"pluginsDetectImportantContent", IDS_PLUGIN_DETECT_RECOMMENDED_RADIO},
541 {"manageIndividualPlugins", IDS_PLUGIN_MANAGE_INDIVIDUAL}, 552 {"manageIndividualPlugins", IDS_PLUGIN_MANAGE_INDIVIDUAL},
542 // Pop-ups filter. 553 // Pop-ups filter.
543 {"popupsTabLabel", IDS_POPUP_TAB_LABEL}, 554 {"popupsTabLabel", IDS_POPUP_TAB_LABEL},
544 {"popupsHeader", IDS_POPUP_HEADER}, 555 {"popupsHeader", IDS_POPUP_HEADER},
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 {"midiSysExBlock", IDS_MIDI_SYSEX_BLOCK_RADIO}, 625 {"midiSysExBlock", IDS_MIDI_SYSEX_BLOCK_RADIO},
615 // Push messaging strings 626 // Push messaging strings
616 {"pushMessagingHeader", IDS_PUSH_MESSAGES_TAB_LABEL}, 627 {"pushMessagingHeader", IDS_PUSH_MESSAGES_TAB_LABEL},
617 {"pushMessagingAllow", IDS_PUSH_MESSSAGING_ALLOW_RADIO}, 628 {"pushMessagingAllow", IDS_PUSH_MESSSAGING_ALLOW_RADIO},
618 {"pushMessagingAsk", IDS_PUSH_MESSSAGING_ASK_RADIO}, 629 {"pushMessagingAsk", IDS_PUSH_MESSSAGING_ASK_RADIO},
619 {"pushMessagingBlock", IDS_PUSH_MESSSAGING_BLOCK_RADIO}, 630 {"pushMessagingBlock", IDS_PUSH_MESSSAGING_BLOCK_RADIO},
620 {"usbDevicesHeader", IDS_USB_DEVICES_HEADER_AND_TAB_LABEL}, 631 {"usbDevicesHeader", IDS_USB_DEVICES_HEADER_AND_TAB_LABEL},
621 {"usbDevicesManage", IDS_USB_DEVICES_MANAGE_BUTTON}, 632 {"usbDevicesManage", IDS_USB_DEVICES_MANAGE_BUTTON},
622 {"zoomlevelsHeader", IDS_ZOOMLEVELS_HEADER_AND_TAB_LABEL}, 633 {"zoomlevelsHeader", IDS_ZOOMLEVELS_HEADER_AND_TAB_LABEL},
623 {"zoomLevelsManage", IDS_ZOOMLEVELS_MANAGE_BUTTON}, 634 {"zoomLevelsManage", IDS_ZOOMLEVELS_MANAGE_BUTTON},
635 // Keygen filter.
636 {"keygenTabLabel", IDS_KEYGEN_TAB_LABEL},
637 {"keygenHeader", IDS_KEYGEN_HEADER},
638 {"keygenAllow", IDS_KEYGEN_ALLOW_RADIO},
639 {"keygenBlock", IDS_KEYGEN_DONOTALLOW_RADIO},
624 }; 640 };
625 641
626 RegisterStrings(localized_strings, resources, arraysize(resources)); 642 RegisterStrings(localized_strings, resources, arraysize(resources));
627 643
628 PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs(); 644 PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs();
629 const base::Value* default_pref = prefs->GetDefaultPrefValue( 645 const base::Value* default_pref = prefs->GetDefaultPrefValue(
630 content_settings::WebsiteSettingsRegistry::GetInstance() 646 content_settings::WebsiteSettingsRegistry::GetInstance()
631 ->Get(CONTENT_SETTINGS_TYPE_PLUGINS) 647 ->Get(CONTENT_SETTINGS_TYPE_PLUGINS)
632 ->default_value_pref_name()); 648 ->default_value_pref_name());
633 649
634 int default_value = CONTENT_SETTING_DEFAULT; 650 int default_value = CONTENT_SETTING_DEFAULT;
635 bool success = default_pref->GetAsInteger(&default_value); 651 bool success = default_pref->GetAsInteger(&default_value);
636 DCHECK(success); 652 DCHECK(success);
637 DCHECK_NE(CONTENT_SETTING_DEFAULT, default_value); 653 DCHECK_NE(CONTENT_SETTING_DEFAULT, default_value);
638 654
639 RegisterTitle(localized_strings, "contentSettingsPage", 655 RegisterTitle(localized_strings, "contentSettingsPage",
640 IDS_CONTENT_SETTINGS_TITLE); 656 IDS_CONTENT_SETTINGS_TITLE);
641 657
642 // Register titles for each of the individual settings whose exception 658 // Register titles for each of the individual settings whose exception
643 // dialogs will be processed by |ContentSettingsHandler|. 659 // dialogs will be processed by |ContentSettingsHandler|.
644 RegisterTitle(localized_strings, "cookies", 660 RegisterTitle(localized_strings, "cookies",
645 IDS_COOKIES_TAB_LABEL); 661 IDS_COOKIES_TAB_LABEL);
646 RegisterTitle(localized_strings, "images", 662 RegisterTitle(localized_strings, "images",
647 IDS_IMAGES_TAB_LABEL); 663 IDS_IMAGES_TAB_LABEL);
648 RegisterTitle(localized_strings, "javascript", 664 RegisterTitle(localized_strings, "javascript",
649 IDS_JAVASCRIPT_TAB_LABEL); 665 IDS_JAVASCRIPT_TAB_LABEL);
666 RegisterTitle(localized_strings, "keygen", IDS_KEYGEN_TAB_LABEL);
650 RegisterTitle(localized_strings, "plugins", 667 RegisterTitle(localized_strings, "plugins",
651 IDS_PLUGIN_TAB_LABEL); 668 IDS_PLUGIN_TAB_LABEL);
652 RegisterTitle(localized_strings, "popups", 669 RegisterTitle(localized_strings, "popups",
653 IDS_POPUP_TAB_LABEL); 670 IDS_POPUP_TAB_LABEL);
654 RegisterTitle(localized_strings, "location", 671 RegisterTitle(localized_strings, "location",
655 IDS_GEOLOCATION_TAB_LABEL); 672 IDS_GEOLOCATION_TAB_LABEL);
656 RegisterTitle(localized_strings, "notifications", 673 RegisterTitle(localized_strings, "notifications",
657 IDS_NOTIFICATIONS_TAB_LABEL); 674 IDS_NOTIFICATIONS_TAB_LABEL);
658 RegisterTitle(localized_strings, "fullscreen", 675 RegisterTitle(localized_strings, "fullscreen",
659 IDS_FULLSCREEN_TAB_LABEL); 676 IDS_FULLSCREEN_TAB_LABEL);
(...skipping 10 matching lines...) Expand all
670 RegisterTitle(localized_strings, "ppapi-broker", 687 RegisterTitle(localized_strings, "ppapi-broker",
671 IDS_PPAPI_BROKER_TAB_LABEL); 688 IDS_PPAPI_BROKER_TAB_LABEL);
672 RegisterTitle(localized_strings, "multiple-automatic-downloads", 689 RegisterTitle(localized_strings, "multiple-automatic-downloads",
673 IDS_AUTOMATIC_DOWNLOADS_TAB_LABEL); 690 IDS_AUTOMATIC_DOWNLOADS_TAB_LABEL);
674 RegisterTitle(localized_strings, "midi-sysex", 691 RegisterTitle(localized_strings, "midi-sysex",
675 IDS_MIDI_SYSEX_TAB_LABEL); 692 IDS_MIDI_SYSEX_TAB_LABEL);
676 RegisterTitle(localized_strings, "usb-devices", 693 RegisterTitle(localized_strings, "usb-devices",
677 IDS_USB_DEVICES_HEADER_AND_TAB_LABEL); 694 IDS_USB_DEVICES_HEADER_AND_TAB_LABEL);
678 RegisterTitle(localized_strings, "zoomlevels", 695 RegisterTitle(localized_strings, "zoomlevels",
679 IDS_ZOOMLEVELS_HEADER_AND_TAB_LABEL); 696 IDS_ZOOMLEVELS_HEADER_AND_TAB_LABEL);
697 RegisterTitle(localized_strings, "keygen", IDS_KEYGEN_TAB_LABEL);
680 698
681 localized_strings->SetString("exceptionsLearnMoreUrl", 699 localized_strings->SetString("exceptionsLearnMoreUrl",
682 kExceptionsLearnMoreUrl); 700 kExceptionsLearnMoreUrl);
683 } 701 }
684 702
685 void ContentSettingsHandler::InitializeHandler() { 703 void ContentSettingsHandler::InitializeHandler() {
686 notification_registrar_.Add( 704 notification_registrar_.Add(
687 this, chrome::NOTIFICATION_PROFILE_CREATED, 705 this, chrome::NOTIFICATION_PROFILE_CREATED,
688 content::NotificationService::AllSources()); 706 content::NotificationService::AllSources());
689 notification_registrar_.Add( 707 notification_registrar_.Add(
(...skipping 1172 matching lines...) Expand 10 before | Expand all | Expand 10 after
1862 1880
1863 // Exceptions apply only when the feature is enabled. 1881 // Exceptions apply only when the feature is enabled.
1864 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui())); 1882 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui()));
1865 bool enable_exceptions = prefs->GetBoolean(prefs::kEnableDRM); 1883 bool enable_exceptions = prefs->GetBoolean(prefs::kEnableDRM);
1866 web_ui()->CallJavascriptFunction( 1884 web_ui()->CallJavascriptFunction(
1867 "ContentSettings.enableProtectedContentExceptions", 1885 "ContentSettings.enableProtectedContentExceptions",
1868 base::FundamentalValue(enable_exceptions)); 1886 base::FundamentalValue(enable_exceptions));
1869 } 1887 }
1870 1888
1871 } // namespace options 1889 } // namespace options
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698