OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/policy/configuration_policy_handler_list_factory.h" | 5 #include "chrome/browser/policy/configuration_policy_handler_list_factory.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/memory/scoped_vector.h" | 9 #include "base/memory/scoped_vector.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
54 #endif | 54 #endif |
55 | 55 |
56 #if defined(ENABLE_EXTENSIONS) | 56 #if defined(ENABLE_EXTENSIONS) |
57 #include "chrome/browser/extensions/api/messaging/native_messaging_policy_handle r.h" | 57 #include "chrome/browser/extensions/api/messaging/native_messaging_policy_handle r.h" |
58 #include "chrome/browser/extensions/extension_management_constants.h" | 58 #include "chrome/browser/extensions/extension_management_constants.h" |
59 #include "chrome/browser/extensions/policy_handlers.h" | 59 #include "chrome/browser/extensions/policy_handlers.h" |
60 #include "extensions/browser/pref_names.h" | 60 #include "extensions/browser/pref_names.h" |
61 #include "extensions/common/manifest.h" | 61 #include "extensions/common/manifest.h" |
62 #endif | 62 #endif |
63 | 63 |
64 #if defined(ENABLE_PLUGINS) | |
65 #include "chrome/browser/plugins/plugin_policy_handler.h" | |
66 #endif | |
67 | |
64 namespace policy { | 68 namespace policy { |
65 | 69 |
66 namespace { | 70 namespace { |
67 | 71 |
68 // List of policy types to preference names. This is used for simple policies | 72 // List of policy types to preference names. This is used for simple policies |
69 // that directly map to a single preference. | 73 // that directly map to a single preference. |
70 const PolicyToPreferenceMapEntry kSimplePolicyMap[] = { | 74 const PolicyToPreferenceMapEntry kSimplePolicyMap[] = { |
71 { key::kHomepageLocation, | 75 { key::kHomepageLocation, |
72 prefs::kHomePage, | 76 prefs::kHomePage, |
73 base::Value::TYPE_STRING }, | 77 base::Value::TYPE_STRING }, |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
115 base::Value::TYPE_BOOLEAN }, | 119 base::Value::TYPE_BOOLEAN }, |
116 { key::kDisablePrintPreview, | 120 { key::kDisablePrintPreview, |
117 prefs::kPrintPreviewDisabled, | 121 prefs::kPrintPreviewDisabled, |
118 base::Value::TYPE_BOOLEAN }, | 122 base::Value::TYPE_BOOLEAN }, |
119 { key::kMetricsReportingEnabled, | 123 { key::kMetricsReportingEnabled, |
120 prefs::kMetricsReportingEnabled, | 124 prefs::kMetricsReportingEnabled, |
121 base::Value::TYPE_BOOLEAN }, | 125 base::Value::TYPE_BOOLEAN }, |
122 { key::kApplicationLocaleValue, | 126 { key::kApplicationLocaleValue, |
123 prefs::kApplicationLocale, | 127 prefs::kApplicationLocale, |
124 base::Value::TYPE_STRING }, | 128 base::Value::TYPE_STRING }, |
125 { key::kDisabledPlugins, | |
126 prefs::kPluginsDisabledPlugins, | |
127 base::Value::TYPE_LIST }, | |
128 { key::kDisabledPluginsExceptions, | |
129 prefs::kPluginsDisabledPluginsExceptions, | |
130 base::Value::TYPE_LIST }, | |
131 { key::kEnabledPlugins, | |
132 prefs::kPluginsEnabledPlugins, | |
133 base::Value::TYPE_LIST }, | |
134 { key::kShowHomeButton, | 129 { key::kShowHomeButton, |
135 prefs::kShowHomeButton, | 130 prefs::kShowHomeButton, |
136 base::Value::TYPE_BOOLEAN }, | 131 base::Value::TYPE_BOOLEAN }, |
137 { key::kSavingBrowserHistoryDisabled, | 132 { key::kSavingBrowserHistoryDisabled, |
138 prefs::kSavingBrowserHistoryDisabled, | 133 prefs::kSavingBrowserHistoryDisabled, |
139 base::Value::TYPE_BOOLEAN }, | 134 base::Value::TYPE_BOOLEAN }, |
140 { key::kAllowDeletingBrowserHistory, | 135 { key::kAllowDeletingBrowserHistory, |
141 prefs::kAllowDeletingBrowserHistory, | 136 prefs::kAllowDeletingBrowserHistory, |
142 base::Value::TYPE_BOOLEAN }, | 137 base::Value::TYPE_BOOLEAN }, |
143 { key::kDeveloperToolsDisabled, | 138 { key::kDeveloperToolsDisabled, |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
175 base::Value::TYPE_LIST }, | 170 base::Value::TYPE_LIST }, |
176 { key::kImagesBlockedForUrls, | 171 { key::kImagesBlockedForUrls, |
177 prefs::kManagedImagesBlockedForUrls, | 172 prefs::kManagedImagesBlockedForUrls, |
178 base::Value::TYPE_LIST }, | 173 base::Value::TYPE_LIST }, |
179 { key::kJavaScriptAllowedForUrls, | 174 { key::kJavaScriptAllowedForUrls, |
180 prefs::kManagedJavaScriptAllowedForUrls, | 175 prefs::kManagedJavaScriptAllowedForUrls, |
181 base::Value::TYPE_LIST }, | 176 base::Value::TYPE_LIST }, |
182 { key::kJavaScriptBlockedForUrls, | 177 { key::kJavaScriptBlockedForUrls, |
183 prefs::kManagedJavaScriptBlockedForUrls, | 178 prefs::kManagedJavaScriptBlockedForUrls, |
184 base::Value::TYPE_LIST }, | 179 base::Value::TYPE_LIST }, |
185 { key::kPluginsAllowedForUrls, | |
186 prefs::kManagedPluginsAllowedForUrls, | |
187 base::Value::TYPE_LIST }, | |
188 { key::kPluginsBlockedForUrls, | |
189 prefs::kManagedPluginsBlockedForUrls, | |
190 base::Value::TYPE_LIST }, | |
191 { key::kPopupsAllowedForUrls, | 180 { key::kPopupsAllowedForUrls, |
192 prefs::kManagedPopupsAllowedForUrls, | 181 prefs::kManagedPopupsAllowedForUrls, |
193 base::Value::TYPE_LIST }, | 182 base::Value::TYPE_LIST }, |
194 { key::kPopupsBlockedForUrls, | 183 { key::kPopupsBlockedForUrls, |
195 prefs::kManagedPopupsBlockedForUrls, | 184 prefs::kManagedPopupsBlockedForUrls, |
196 base::Value::TYPE_LIST }, | 185 base::Value::TYPE_LIST }, |
197 { key::kNotificationsAllowedForUrls, | 186 { key::kNotificationsAllowedForUrls, |
198 prefs::kManagedNotificationsAllowedForUrls, | 187 prefs::kManagedNotificationsAllowedForUrls, |
199 base::Value::TYPE_LIST }, | 188 base::Value::TYPE_LIST }, |
200 { key::kNotificationsBlockedForUrls, | 189 { key::kNotificationsBlockedForUrls, |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
486 base::Value::TYPE_BOOLEAN }, | 475 base::Value::TYPE_BOOLEAN }, |
487 { key::kBrowserGuestModeEnabled, | 476 { key::kBrowserGuestModeEnabled, |
488 prefs::kBrowserGuestModeEnabled, | 477 prefs::kBrowserGuestModeEnabled, |
489 base::Value::TYPE_BOOLEAN }, | 478 base::Value::TYPE_BOOLEAN }, |
490 { key::kBrowserAddPersonEnabled, | 479 { key::kBrowserAddPersonEnabled, |
491 prefs::kBrowserAddPersonEnabled, | 480 prefs::kBrowserAddPersonEnabled, |
492 base::Value::TYPE_BOOLEAN }, | 481 base::Value::TYPE_BOOLEAN }, |
493 #endif // !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) | 482 #endif // !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) |
494 }; | 483 }; |
495 | 484 |
485 #if defined(ENABLE_PLUGINS) | |
Mattias Nissler (ping if slow)
2015/04/10 08:47:15
Nice!
Will Harris
2015/04/10 18:51:23
Acknowledged.
| |
486 // List of policy types to preference names for plugin policies that will cause | |
487 // NPAPI to be re-enabled. | |
Mattias Nissler (ping if slow)
2015/04/10 08:47:15
This makes it sound like these policy keys are jus
Will Harris
2015/04/10 18:51:23
Acknowledged.
| |
488 const PolicyToPreferenceMapEntry kNpapiPluginsPolicyMap[] = { | |
489 { key::kEnabledPlugins, | |
490 prefs::kPluginsEnabledPlugins, | |
491 base::Value::TYPE_LIST }, | |
492 { key::kDisabledPlugins, | |
493 prefs::kPluginsDisabledPlugins, | |
494 base::Value::TYPE_LIST }, | |
495 { key::kDisabledPluginsExceptions, | |
496 prefs::kPluginsDisabledPluginsExceptions, | |
497 base::Value::TYPE_LIST }, | |
498 { key::kPluginsAllowedForUrls, | |
499 prefs::kManagedPluginsAllowedForUrls, | |
500 base::Value::TYPE_LIST }, | |
501 { key::kPluginsBlockedForUrls, | |
502 prefs::kManagedPluginsBlockedForUrls, | |
503 base::Value::TYPE_LIST }, | |
504 }; | |
505 #endif // defined(ENABLE_PLUGINS) | |
506 | |
496 #if defined(ENABLE_EXTENSIONS) | 507 #if defined(ENABLE_EXTENSIONS) |
497 void GetExtensionAllowedTypesMap( | 508 void GetExtensionAllowedTypesMap( |
498 ScopedVector<StringMappingListPolicyHandler::MappingEntry>* result) { | 509 ScopedVector<StringMappingListPolicyHandler::MappingEntry>* result) { |
499 // Mapping from extension type names to Manifest::Type. | 510 // Mapping from extension type names to Manifest::Type. |
500 for (size_t index = 0; | 511 for (size_t index = 0; |
501 index < extensions::schema_constants::kAllowedTypesMapSize; | 512 index < extensions::schema_constants::kAllowedTypesMapSize; |
502 ++index) { | 513 ++index) { |
503 const extensions::schema_constants::AllowedTypesMapEntry& entry = | 514 const extensions::schema_constants::AllowedTypesMapEntry& entry = |
504 extensions::schema_constants::kAllowedTypesMap[index]; | 515 extensions::schema_constants::kAllowedTypesMap[index]; |
505 result->push_back(new StringMappingListPolicyHandler::MappingEntry( | 516 result->push_back(new StringMappingListPolicyHandler::MappingEntry( |
(...skipping 30 matching lines...) Expand all Loading... | |
536 scoped_ptr<ConfigurationPolicyHandlerList> handlers( | 547 scoped_ptr<ConfigurationPolicyHandlerList> handlers( |
537 new ConfigurationPolicyHandlerList( | 548 new ConfigurationPolicyHandlerList( |
538 base::Bind(&PopulatePolicyHandlerParameters), | 549 base::Bind(&PopulatePolicyHandlerParameters), |
539 base::Bind(&GetChromePolicyDetails))); | 550 base::Bind(&GetChromePolicyDetails))); |
540 for (size_t i = 0; i < arraysize(kSimplePolicyMap); ++i) { | 551 for (size_t i = 0; i < arraysize(kSimplePolicyMap); ++i) { |
541 handlers->AddHandler(make_scoped_ptr(new SimplePolicyHandler( | 552 handlers->AddHandler(make_scoped_ptr(new SimplePolicyHandler( |
542 kSimplePolicyMap[i].policy_name, kSimplePolicyMap[i].preference_path, | 553 kSimplePolicyMap[i].policy_name, kSimplePolicyMap[i].preference_path, |
543 kSimplePolicyMap[i].value_type))); | 554 kSimplePolicyMap[i].value_type))); |
544 } | 555 } |
545 | 556 |
557 #if defined(ENABLE_PLUGINS) | |
558 for (size_t i = 0; i < arraysize(kNpapiPluginsPolicyMap); ++i) { | |
559 handlers->AddHandler(make_scoped_ptr(new PluginPolicyHandler( | |
560 kNpapiPluginsPolicyMap[i].policy_name, | |
561 kNpapiPluginsPolicyMap[i].preference_path, | |
562 kNpapiPluginsPolicyMap[i].value_type))); | |
563 } | |
564 #endif | |
565 | |
546 handlers->AddHandler(make_scoped_ptr(new AutofillPolicyHandler())); | 566 handlers->AddHandler(make_scoped_ptr(new AutofillPolicyHandler())); |
547 handlers->AddHandler(make_scoped_ptr(new DefaultSearchPolicyHandler())); | 567 handlers->AddHandler(make_scoped_ptr(new DefaultSearchPolicyHandler())); |
548 handlers->AddHandler(make_scoped_ptr(new IncognitoModePolicyHandler())); | 568 handlers->AddHandler(make_scoped_ptr(new IncognitoModePolicyHandler())); |
549 handlers->AddHandler( | 569 handlers->AddHandler( |
550 make_scoped_ptr(new ManagedBookmarksPolicyHandler(chrome_schema))); | 570 make_scoped_ptr(new ManagedBookmarksPolicyHandler(chrome_schema))); |
551 handlers->AddHandler(make_scoped_ptr(new ProxyPolicyHandler())); | 571 handlers->AddHandler(make_scoped_ptr(new ProxyPolicyHandler())); |
552 handlers->AddHandler(make_scoped_ptr(new URLBlacklistPolicyHandler())); | 572 handlers->AddHandler(make_scoped_ptr(new URLBlacklistPolicyHandler())); |
553 | 573 |
554 #if defined(OS_ANDROID) | 574 #if defined(OS_ANDROID) |
555 handlers->AddHandler( | 575 handlers->AddHandler( |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
741 handlers->AddHandler(make_scoped_ptr(new SimpleSchemaValidatingPolicyHandler( | 761 handlers->AddHandler(make_scoped_ptr(new SimpleSchemaValidatingPolicyHandler( |
742 key::kSessionLocales, NULL, chrome_schema, SCHEMA_STRICT, | 762 key::kSessionLocales, NULL, chrome_schema, SCHEMA_STRICT, |
743 SimpleSchemaValidatingPolicyHandler::RECOMMENDED_ALLOWED, | 763 SimpleSchemaValidatingPolicyHandler::RECOMMENDED_ALLOWED, |
744 SimpleSchemaValidatingPolicyHandler::MANDATORY_PROHIBITED))); | 764 SimpleSchemaValidatingPolicyHandler::MANDATORY_PROHIBITED))); |
745 #endif // defined(OS_CHROMEOS) | 765 #endif // defined(OS_CHROMEOS) |
746 | 766 |
747 return handlers.Pass(); | 767 return handlers.Pass(); |
748 } | 768 } |
749 | 769 |
750 } // namespace policy | 770 } // namespace policy |
OLD | NEW |