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 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
477 #endif // defined(OS_ANDROID) | 477 #endif // defined(OS_ANDROID) |
478 | 478 |
479 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) | 479 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) |
480 { key::kNativeMessagingUserLevelHosts, | 480 { key::kNativeMessagingUserLevelHosts, |
481 extensions::pref_names::kNativeMessagingUserLevelHosts, | 481 extensions::pref_names::kNativeMessagingUserLevelHosts, |
482 base::Value::TYPE_BOOLEAN }, | 482 base::Value::TYPE_BOOLEAN }, |
483 #endif // !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) | 483 #endif // !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) |
484 }; | 484 }; |
485 | 485 |
486 #if !defined(OS_IOS) | 486 #if !defined(OS_IOS) |
487 // Mapping from extension type names to Manifest::Type. | 487 void GetExtensionAllowedTypesMap( |
488 StringToIntEnumListPolicyHandler::MappingEntry kExtensionAllowedTypesMap[] = { | 488 ScopedVector<StringMappingListPolicyHandler::MappingEntry>* result) { |
489 { "extension", extensions::Manifest::TYPE_EXTENSION }, | 489 // Mapping from extension type names to Manifest::Type. |
490 { "theme", extensions::Manifest::TYPE_THEME }, | 490 result->push_back(new StringMappingListPolicyHandler::MappingEntry( |
491 { "user_script", extensions::Manifest::TYPE_USER_SCRIPT }, | 491 "extension", scoped_ptr<base::Value>(base::Value::CreateIntegerValue( |
492 { "hosted_app", extensions::Manifest::TYPE_HOSTED_APP }, | 492 extensions::Manifest::TYPE_EXTENSION)))); |
493 { "legacy_packaged_app", extensions::Manifest::TYPE_LEGACY_PACKAGED_APP }, | 493 result->push_back(new StringMappingListPolicyHandler::MappingEntry( |
494 { "platform_app", extensions::Manifest::TYPE_PLATFORM_APP }, | 494 "theme", scoped_ptr<base::Value>(base::Value::CreateIntegerValue( |
495 }; | 495 extensions::Manifest::TYPE_THEME)))); |
496 result->push_back(new StringMappingListPolicyHandler::MappingEntry( | |
497 "user_script", scoped_ptr<base::Value>(base::Value::CreateIntegerValue( | |
498 extensions::Manifest::TYPE_USER_SCRIPT)))); | |
499 result->push_back(new StringMappingListPolicyHandler::MappingEntry( | |
500 "hosted_app", scoped_ptr<base::Value>(base::Value::CreateIntegerValue( | |
501 extensions::Manifest::TYPE_HOSTED_APP)))); | |
502 result->push_back(new StringMappingListPolicyHandler::MappingEntry( | |
503 "legacy_packaged_app", scoped_ptr<base::Value>( | |
504 base::Value::CreateIntegerValue( | |
505 extensions::Manifest::TYPE_LEGACY_PACKAGED_APP)))); | |
506 result->push_back(new StringMappingListPolicyHandler::MappingEntry( | |
507 "platform_app", scoped_ptr<base::Value>(base::Value::CreateIntegerValue( | |
Joao da Silva
2014/06/18 08:45:26
CreateIntegerValue is deprecated, use new base::Fu
| |
508 extensions::Manifest::TYPE_PLATFORM_APP)))); | |
509 } | |
496 #endif // !defined(OS_IOS) | 510 #endif // !defined(OS_IOS) |
497 | 511 |
498 } // namespace | 512 } // namespace |
499 | 513 |
500 void PopulatePolicyHandlerParameters(PolicyHandlerParameters* parameters) { | 514 void PopulatePolicyHandlerParameters(PolicyHandlerParameters* parameters) { |
501 #if defined(OS_CHROMEOS) | 515 #if defined(OS_CHROMEOS) |
502 if (chromeos::UserManager::IsInitialized()) { | 516 if (chromeos::UserManager::IsInitialized()) { |
503 const chromeos::User* user = chromeos::UserManager::Get()->GetActiveUser(); | 517 const chromeos::User* user = chromeos::UserManager::Get()->GetActiveUser(); |
504 if (user) | 518 if (user) |
505 parameters->user_id_hash = user->username_hash(); | 519 parameters->user_id_hash = user->username_hash(); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
553 key::kExtensionInstallBlacklist, | 567 key::kExtensionInstallBlacklist, |
554 extensions::pref_names::kInstallDenyList, | 568 extensions::pref_names::kInstallDenyList, |
555 true))); | 569 true))); |
556 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( | 570 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( |
557 new extensions::ExtensionInstallForcelistPolicyHandler())); | 571 new extensions::ExtensionInstallForcelistPolicyHandler())); |
558 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( | 572 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( |
559 new extensions::ExtensionURLPatternListPolicyHandler( | 573 new extensions::ExtensionURLPatternListPolicyHandler( |
560 key::kExtensionInstallSources, | 574 key::kExtensionInstallSources, |
561 extensions::pref_names::kAllowedInstallSites))); | 575 extensions::pref_names::kAllowedInstallSites))); |
562 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( | 576 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( |
563 new StringToIntEnumListPolicyHandler( | 577 new StringMappingListPolicyHandler( |
564 key::kExtensionAllowedTypes, | 578 key::kExtensionAllowedTypes, |
565 extensions::pref_names::kAllowedTypes, | 579 extensions::pref_names::kAllowedTypes, |
566 kExtensionAllowedTypesMap, | 580 base::Bind(GetExtensionAllowedTypesMap)))); |
567 kExtensionAllowedTypesMap + arraysize(kExtensionAllowedTypesMap)))); | |
568 #endif // !defined(OS_IOS) | 581 #endif // !defined(OS_IOS) |
569 | 582 |
570 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) | 583 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) |
571 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( | 584 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( |
572 new DiskCacheDirPolicyHandler())); | 585 new DiskCacheDirPolicyHandler())); |
573 | 586 |
574 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( | 587 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( |
575 new extensions::NativeMessagingHostListPolicyHandler( | 588 new extensions::NativeMessagingHostListPolicyHandler( |
576 key::kNativeMessagingWhitelist, | 589 key::kNativeMessagingWhitelist, |
577 extensions::pref_names::kNativeMessagingWhitelist, | 590 extensions::pref_names::kNativeMessagingWhitelist, |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
742 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( | 755 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( |
743 new ExternalDataPolicyHandler(key::kUserAvatarImage))); | 756 new ExternalDataPolicyHandler(key::kUserAvatarImage))); |
744 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( | 757 handlers->AddHandler(make_scoped_ptr<ConfigurationPolicyHandler>( |
745 new ExternalDataPolicyHandler(key::kWallpaperImage))); | 758 new ExternalDataPolicyHandler(key::kWallpaperImage))); |
746 #endif // defined(OS_CHROMEOS) | 759 #endif // defined(OS_CHROMEOS) |
747 | 760 |
748 return handlers.Pass(); | 761 return handlers.Pass(); |
749 } | 762 } |
750 | 763 |
751 } // namespace policy | 764 } // namespace policy |
OLD | NEW |