| 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( |
| 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 |