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

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

Issue 2401733002: Revert "Added a ForceYouTubeRestrict policy and deprecated the old ForceYouTubeSafetyMode policy" (Closed)
Patch Set: Created 4 years, 2 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 <limits.h> 7 #include <limits.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <utility> 10 #include <utility>
11 11
12 #include "base/bind.h" 12 #include "base/bind.h"
13 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "base/memory/ptr_util.h" 14 #include "base/memory/ptr_util.h"
15 #include "base/memory/scoped_vector.h" 15 #include "base/memory/scoped_vector.h"
16 #include "base/values.h" 16 #include "base/values.h"
17 #include "build/build_config.h" 17 #include "build/build_config.h"
18 #include "chrome/browser/net/disk_cache_dir_policy_handler.h" 18 #include "chrome/browser/net/disk_cache_dir_policy_handler.h"
19 #include "chrome/browser/net/safe_search_util.h"
20 #include "chrome/browser/policy/file_selection_dialogs_policy_handler.h" 19 #include "chrome/browser/policy/file_selection_dialogs_policy_handler.h"
21 #include "chrome/browser/policy/javascript_policy_handler.h" 20 #include "chrome/browser/policy/javascript_policy_handler.h"
22 #include "chrome/browser/policy/managed_bookmarks_policy_handler.h" 21 #include "chrome/browser/policy/managed_bookmarks_policy_handler.h"
23 #include "chrome/browser/policy/network_prediction_policy_handler.h" 22 #include "chrome/browser/policy/network_prediction_policy_handler.h"
24 #include "chrome/browser/profiles/incognito_mode_policy_handler.h" 23 #include "chrome/browser/profiles/incognito_mode_policy_handler.h"
25 #include "chrome/browser/sessions/restore_on_startup_policy_handler.h" 24 #include "chrome/browser/sessions/restore_on_startup_policy_handler.h"
26 #include "chrome/common/chrome_switches.h" 25 #include "chrome/common/chrome_switches.h"
27 #include "chrome/common/features.h" 26 #include "chrome/common/features.h"
28 #include "chrome/common/pref_names.h" 27 #include "chrome/common/pref_names.h"
29 #include "components/bookmarks/common/bookmark_pref_names.h" 28 #include "components/bookmarks/common/bookmark_pref_names.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 base::Value::TYPE_BOOLEAN }, 112 base::Value::TYPE_BOOLEAN },
114 { key::kPacHttpsUrlStrippingEnabled, 113 { key::kPacHttpsUrlStrippingEnabled,
115 prefs::kPacHttpsUrlStrippingEnabled, 114 prefs::kPacHttpsUrlStrippingEnabled,
116 base::Value::TYPE_BOOLEAN }, 115 base::Value::TYPE_BOOLEAN },
117 { key::kSafeBrowsingEnabled, 116 { key::kSafeBrowsingEnabled,
118 prefs::kSafeBrowsingEnabled, 117 prefs::kSafeBrowsingEnabled,
119 base::Value::TYPE_BOOLEAN }, 118 base::Value::TYPE_BOOLEAN },
120 { key::kForceGoogleSafeSearch, 119 { key::kForceGoogleSafeSearch,
121 prefs::kForceGoogleSafeSearch, 120 prefs::kForceGoogleSafeSearch,
122 base::Value::TYPE_BOOLEAN }, 121 base::Value::TYPE_BOOLEAN },
123 { key::kForceYouTubeRestrict, 122 { key::kForceYouTubeSafetyMode,
124 prefs::kForceYouTubeRestrict, 123 prefs::kForceYouTubeSafetyMode,
125 base::Value::TYPE_INTEGER}, 124 base::Value::TYPE_BOOLEAN },
126 { key::kPasswordManagerEnabled, 125 { key::kPasswordManagerEnabled,
127 password_manager::prefs::kPasswordManagerSavingEnabled, 126 password_manager::prefs::kPasswordManagerSavingEnabled,
128 base::Value::TYPE_BOOLEAN }, 127 base::Value::TYPE_BOOLEAN },
129 { key::kPrintingEnabled, 128 { key::kPrintingEnabled,
130 prefs::kPrintingEnabled, 129 prefs::kPrintingEnabled,
131 base::Value::TYPE_BOOLEAN }, 130 base::Value::TYPE_BOOLEAN },
132 { key::kDisablePrintPreview, 131 { key::kDisablePrintPreview,
133 prefs::kPrintPreviewDisabled, 132 prefs::kPrintPreviewDisabled,
134 base::Value::TYPE_BOOLEAN }, 133 base::Value::TYPE_BOOLEAN },
135 { key::kDefaultPrinterSelection, 134 { key::kDefaultPrinterSelection,
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 class ForceSafeSearchPolicyHandler : public TypeCheckingPolicyHandler { 611 class ForceSafeSearchPolicyHandler : public TypeCheckingPolicyHandler {
613 public: 612 public:
614 ForceSafeSearchPolicyHandler() 613 ForceSafeSearchPolicyHandler()
615 : TypeCheckingPolicyHandler(key::kForceSafeSearch, 614 : TypeCheckingPolicyHandler(key::kForceSafeSearch,
616 base::Value::TYPE_BOOLEAN) {} 615 base::Value::TYPE_BOOLEAN) {}
617 ~ForceSafeSearchPolicyHandler() override {} 616 ~ForceSafeSearchPolicyHandler() override {}
618 617
619 // ConfigurationPolicyHandler implementation: 618 // ConfigurationPolicyHandler implementation:
620 void ApplyPolicySettings(const PolicyMap& policies, 619 void ApplyPolicySettings(const PolicyMap& policies,
621 PrefValueMap* prefs) override { 620 PrefValueMap* prefs) override {
622 // If either of the new ForceGoogleSafeSearch, ForceYouTubeSafetyMode or 621 // If either of the new GoogleSafeSearch or YouTubeSafetyMode policies is
623 // ForceYouTubeRestrict policies are defined, then this one should be 622 // defined, then this one should be ignored. crbug.com/476908
624 // ignored. crbug.com/476908, crbug.com/590478 623 // Note: Those policies are declared in kSimplePolicyMap above.
625 // Note: Those policies are declared in kSimplePolicyMap above, except
626 // ForceYouTubeSafetyMode, which has been replaced by ForceYouTubeRestrict.
627 if (policies.GetValue(key::kForceGoogleSafeSearch) || 624 if (policies.GetValue(key::kForceGoogleSafeSearch) ||
628 policies.GetValue(key::kForceYouTubeSafetyMode) || 625 policies.GetValue(key::kForceYouTubeSafetyMode)) {
629 policies.GetValue(key::kForceYouTubeRestrict)) {
630 return; 626 return;
631 } 627 }
632 const base::Value* value = policies.GetValue(policy_name()); 628 const base::Value* value = policies.GetValue(policy_name());
633 if (value) { 629 if (value) {
634 bool enabled;
635 prefs->SetValue(prefs::kForceGoogleSafeSearch, value->CreateDeepCopy()); 630 prefs->SetValue(prefs::kForceGoogleSafeSearch, value->CreateDeepCopy());
636 631 prefs->SetValue(prefs::kForceYouTubeSafetyMode, value->CreateDeepCopy());
637 // Note that ForceYouTubeRestrict is an int policy, we cannot simply deep
638 // copy value, which is a boolean.
639 if (value->GetAsBoolean(&enabled)) {
640 prefs->SetValue(
641 prefs::kForceYouTubeRestrict,
642 base::MakeUnique<base::FundamentalValue>(
643 enabled ? safe_search_util::YOUTUBE_RESTRICT_MODERATE
644 : safe_search_util::YOUTUBE_RESTRICT_OFF));
645 }
646 } 632 }
647 } 633 }
648 634
649 private: 635 private:
650 DISALLOW_COPY_AND_ASSIGN(ForceSafeSearchPolicyHandler); 636 DISALLOW_COPY_AND_ASSIGN(ForceSafeSearchPolicyHandler);
651 }; 637 };
652 638
653 class ForceYouTubeSafetyModePolicyHandler : public TypeCheckingPolicyHandler {
654 public:
655 ForceYouTubeSafetyModePolicyHandler()
656 : TypeCheckingPolicyHandler(key::kForceYouTubeSafetyMode,
657 base::Value::TYPE_BOOLEAN) {}
658 ~ForceYouTubeSafetyModePolicyHandler() override {}
659
660 // ConfigurationPolicyHandler implementation:
661 void ApplyPolicySettings(const PolicyMap& policies,
662 PrefValueMap* prefs) override {
663 // If only the deprecated ForceYouTubeSafetyMode policy is set,
664 // but not ForceYouTubeRestrict, set ForceYouTubeRestrict to Moderate.
665 if (policies.GetValue(key::kForceYouTubeRestrict))
666 return;
667
668 const base::Value* value = policies.GetValue(policy_name());
669 bool enabled;
670 if (value && value->GetAsBoolean(&enabled)) {
671 prefs->SetValue(
672 prefs::kForceYouTubeRestrict,
673 base::MakeUnique<base::FundamentalValue>(
674 enabled ? safe_search_util::YOUTUBE_RESTRICT_MODERATE
675 : safe_search_util::YOUTUBE_RESTRICT_OFF));
676 }
677 }
678
679 private:
680 DISALLOW_COPY_AND_ASSIGN(ForceYouTubeSafetyModePolicyHandler);
681 };
682
683 #if defined(ENABLE_EXTENSIONS) 639 #if defined(ENABLE_EXTENSIONS)
684 void GetExtensionAllowedTypesMap( 640 void GetExtensionAllowedTypesMap(
685 ScopedVector<StringMappingListPolicyHandler::MappingEntry>* result) { 641 ScopedVector<StringMappingListPolicyHandler::MappingEntry>* result) {
686 // Mapping from extension type names to Manifest::Type. 642 // Mapping from extension type names to Manifest::Type.
687 for (size_t index = 0; 643 for (size_t index = 0;
688 index < extensions::schema_constants::kAllowedTypesMapSize; 644 index < extensions::schema_constants::kAllowedTypesMapSize;
689 ++index) { 645 ++index) {
690 const extensions::schema_constants::AllowedTypesMapEntry& entry = 646 const extensions::schema_constants::AllowedTypesMapEntry& entry =
691 extensions::schema_constants::kAllowedTypesMap[index]; 647 extensions::schema_constants::kAllowedTypesMap[index];
692 result->push_back(new StringMappingListPolicyHandler::MappingEntry( 648 result->push_back(new StringMappingListPolicyHandler::MappingEntry(
(...skipping 30 matching lines...) Expand all
723 base::Bind(&GetChromePolicyDetails))); 679 base::Bind(&GetChromePolicyDetails)));
724 for (size_t i = 0; i < arraysize(kSimplePolicyMap); ++i) { 680 for (size_t i = 0; i < arraysize(kSimplePolicyMap); ++i) {
725 handlers->AddHandler(base::MakeUnique<SimplePolicyHandler>( 681 handlers->AddHandler(base::MakeUnique<SimplePolicyHandler>(
726 kSimplePolicyMap[i].policy_name, kSimplePolicyMap[i].preference_path, 682 kSimplePolicyMap[i].policy_name, kSimplePolicyMap[i].preference_path,
727 kSimplePolicyMap[i].value_type)); 683 kSimplePolicyMap[i].value_type));
728 } 684 }
729 685
730 handlers->AddHandler(base::MakeUnique<AutofillPolicyHandler>()); 686 handlers->AddHandler(base::MakeUnique<AutofillPolicyHandler>());
731 handlers->AddHandler(base::MakeUnique<DefaultSearchPolicyHandler>()); 687 handlers->AddHandler(base::MakeUnique<DefaultSearchPolicyHandler>());
732 handlers->AddHandler(base::MakeUnique<ForceSafeSearchPolicyHandler>()); 688 handlers->AddHandler(base::MakeUnique<ForceSafeSearchPolicyHandler>());
733 handlers->AddHandler(base::MakeUnique<ForceYouTubeSafetyModePolicyHandler>());
734 handlers->AddHandler(base::MakeUnique<IncognitoModePolicyHandler>()); 689 handlers->AddHandler(base::MakeUnique<IncognitoModePolicyHandler>());
735 handlers->AddHandler( 690 handlers->AddHandler(
736 base::MakeUnique<ManagedBookmarksPolicyHandler>(chrome_schema)); 691 base::MakeUnique<ManagedBookmarksPolicyHandler>(chrome_schema));
737 handlers->AddHandler(base::MakeUnique<ProxyPolicyHandler>()); 692 handlers->AddHandler(base::MakeUnique<ProxyPolicyHandler>());
738 handlers->AddHandler(base::MakeUnique<URLBlacklistPolicyHandler>()); 693 handlers->AddHandler(base::MakeUnique<URLBlacklistPolicyHandler>());
739 694
740 handlers->AddHandler(base::MakeUnique<SimpleSchemaValidatingPolicyHandler>( 695 handlers->AddHandler(base::MakeUnique<SimpleSchemaValidatingPolicyHandler>(
741 key::kCertificateTransparencyEnforcementDisabledForUrls, 696 key::kCertificateTransparencyEnforcementDisabledForUrls,
742 certificate_transparency::prefs::kCTExcludedHosts, chrome_schema, 697 certificate_transparency::prefs::kCTExcludedHosts, chrome_schema,
743 SCHEMA_STRICT, SimpleSchemaValidatingPolicyHandler::RECOMMENDED_ALLOWED, 698 SCHEMA_STRICT, SimpleSchemaValidatingPolicyHandler::RECOMMENDED_ALLOWED,
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
929 SimpleSchemaValidatingPolicyHandler::MANDATORY_PROHIBITED))); 884 SimpleSchemaValidatingPolicyHandler::MANDATORY_PROHIBITED)));
930 handlers->AddHandler( 885 handlers->AddHandler(
931 base::MakeUnique<chromeos::KeyPermissionsPolicyHandler>(chrome_schema)); 886 base::MakeUnique<chromeos::KeyPermissionsPolicyHandler>(chrome_schema));
932 handlers->AddHandler(base::WrapUnique(new DefaultGeolocationPolicyHandler())); 887 handlers->AddHandler(base::WrapUnique(new DefaultGeolocationPolicyHandler()));
933 #endif // defined(OS_CHROMEOS) 888 #endif // defined(OS_CHROMEOS)
934 889
935 return handlers; 890 return handlers;
936 } 891 }
937 892
938 } // namespace policy 893 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/net/safe_search_util_unittest.cc ('k') | chrome/browser/policy/policy_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698