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

Side by Side Diff: chrome/browser/policy/configuration_policy_handler_list_factory.cc

Issue 1071713004: Enable NPAPI if policy has plugin policies. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add missing files Created 5 years, 8 months 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 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
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698