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

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

Issue 1056003003: Policy: Ignore ForceSafeSearch if ForceGoogleSafeSearch or ForceYoutubeSafetyMode are enabled (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: policy description 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/prefs/pref_value_map.h"
10 #include "base/values.h" 11 #include "base/values.h"
11 #include "chrome/browser/net/proxy_policy_handler.h" 12 #include "chrome/browser/net/proxy_policy_handler.h"
12 #include "chrome/browser/policy/managed_bookmarks_policy_handler.h" 13 #include "chrome/browser/policy/managed_bookmarks_policy_handler.h"
13 #include "chrome/browser/profiles/incognito_mode_policy_handler.h" 14 #include "chrome/browser/profiles/incognito_mode_policy_handler.h"
14 #include "chrome/common/chrome_switches.h" 15 #include "chrome/common/chrome_switches.h"
15 #include "chrome/common/pref_names.h" 16 #include "chrome/common/pref_names.h"
16 #include "components/password_manager/core/common/password_manager_pref_names.h" 17 #include "components/password_manager/core/common/password_manager_pref_names.h"
17 #include "components/policy/core/browser/autofill_policy_handler.h" 18 #include "components/policy/core/browser/autofill_policy_handler.h"
18 #include "components/policy/core/browser/configuration_policy_handler.h" 19 #include "components/policy/core/browser/configuration_policy_handler.h"
19 #include "components/policy/core/browser/configuration_policy_handler_list.h" 20 #include "components/policy/core/browser/configuration_policy_handler_list.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 base::Value::TYPE_BOOLEAN }, 93 base::Value::TYPE_BOOLEAN },
93 { key::kWPADQuickCheckEnabled, 94 { key::kWPADQuickCheckEnabled,
94 prefs::kQuickCheckEnabled, 95 prefs::kQuickCheckEnabled,
95 base::Value::TYPE_BOOLEAN }, 96 base::Value::TYPE_BOOLEAN },
96 { key::kDisableSpdy, 97 { key::kDisableSpdy,
97 prefs::kDisableSpdy, 98 prefs::kDisableSpdy,
98 base::Value::TYPE_BOOLEAN }, 99 base::Value::TYPE_BOOLEAN },
99 { key::kSafeBrowsingEnabled, 100 { key::kSafeBrowsingEnabled,
100 prefs::kSafeBrowsingEnabled, 101 prefs::kSafeBrowsingEnabled,
101 base::Value::TYPE_BOOLEAN }, 102 base::Value::TYPE_BOOLEAN },
102 { key::kForceSafeSearch,
103 prefs::kForceSafeSearch,
104 base::Value::TYPE_BOOLEAN },
105 { key::kForceGoogleSafeSearch, 103 { key::kForceGoogleSafeSearch,
106 prefs::kForceGoogleSafeSearch, 104 prefs::kForceGoogleSafeSearch,
107 base::Value::TYPE_BOOLEAN }, 105 base::Value::TYPE_BOOLEAN },
108 { key::kForceYouTubeSafetyMode, 106 { key::kForceYouTubeSafetyMode,
109 prefs::kForceYouTubeSafetyMode, 107 prefs::kForceYouTubeSafetyMode,
110 base::Value::TYPE_BOOLEAN }, 108 base::Value::TYPE_BOOLEAN },
111 { key::kPasswordManagerEnabled, 109 { key::kPasswordManagerEnabled,
112 password_manager::prefs::kPasswordManagerSavingEnabled, 110 password_manager::prefs::kPasswordManagerSavingEnabled,
113 base::Value::TYPE_BOOLEAN }, 111 base::Value::TYPE_BOOLEAN },
114 { key::kPasswordManagerAllowShowPasswords, 112 { key::kPasswordManagerAllowShowPasswords,
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 base::Value::TYPE_BOOLEAN }, 494 base::Value::TYPE_BOOLEAN },
497 { key::kBrowserGuestModeEnabled, 495 { key::kBrowserGuestModeEnabled,
498 prefs::kBrowserGuestModeEnabled, 496 prefs::kBrowserGuestModeEnabled,
499 base::Value::TYPE_BOOLEAN }, 497 base::Value::TYPE_BOOLEAN },
500 { key::kBrowserAddPersonEnabled, 498 { key::kBrowserAddPersonEnabled,
501 prefs::kBrowserAddPersonEnabled, 499 prefs::kBrowserAddPersonEnabled,
502 base::Value::TYPE_BOOLEAN }, 500 base::Value::TYPE_BOOLEAN },
503 #endif // !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) 501 #endif // !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS)
504 }; 502 };
505 503
504 class ForceSafeSearchPolicyHandler : public TypeCheckingPolicyHandler {
Mattias Nissler (ping if slow) 2015/04/16 13:10:47 What you have works. However, I think an easier-to
Marc Treib 2015/04/16 13:18:23 I considered that, and I actually prefer the way i
Mattias Nissler (ping if slow) 2015/04/16 13:27:56 I suppose somebody trying to understand how these
505 public:
506 ForceSafeSearchPolicyHandler()
507 : TypeCheckingPolicyHandler(key::kForceSafeSearch,
508 base::Value::TYPE_BOOLEAN) {}
509 ~ForceSafeSearchPolicyHandler() override {}
510
511 // ConfigurationPolicyHandler implementation:
512 void ApplyPolicySettings(const PolicyMap& policies,
513 PrefValueMap* prefs) override {
514 // If either of the new GoogleSafeSearch or YouTubeSafetyMode policies is
515 // defined, then this one should be ignored. crbug.com/476908
516 if (policies.GetValue(key::kForceGoogleSafeSearch) ||
517 policies.GetValue(key::kForceYouTubeSafetyMode)) {
518 return;
519 }
520 const base::Value* value = policies.GetValue(policy_name());
521 if (value) {
522 prefs->SetValue(prefs::kForceGoogleSafeSearch, value->DeepCopy());
523 prefs->SetValue(prefs::kForceYouTubeSafetyMode, value->DeepCopy());
524 }
525 }
526
527 private:
528 DISALLOW_COPY_AND_ASSIGN(ForceSafeSearchPolicyHandler);
529 };
530
506 #if defined(ENABLE_EXTENSIONS) 531 #if defined(ENABLE_EXTENSIONS)
507 void GetExtensionAllowedTypesMap( 532 void GetExtensionAllowedTypesMap(
508 ScopedVector<StringMappingListPolicyHandler::MappingEntry>* result) { 533 ScopedVector<StringMappingListPolicyHandler::MappingEntry>* result) {
509 // Mapping from extension type names to Manifest::Type. 534 // Mapping from extension type names to Manifest::Type.
510 for (size_t index = 0; 535 for (size_t index = 0;
511 index < extensions::schema_constants::kAllowedTypesMapSize; 536 index < extensions::schema_constants::kAllowedTypesMapSize;
512 ++index) { 537 ++index) {
513 const extensions::schema_constants::AllowedTypesMapEntry& entry = 538 const extensions::schema_constants::AllowedTypesMapEntry& entry =
514 extensions::schema_constants::kAllowedTypesMap[index]; 539 extensions::schema_constants::kAllowedTypesMap[index];
515 result->push_back(new StringMappingListPolicyHandler::MappingEntry( 540 result->push_back(new StringMappingListPolicyHandler::MappingEntry(
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 base::Bind(&PopulatePolicyHandlerParameters), 573 base::Bind(&PopulatePolicyHandlerParameters),
549 base::Bind(&GetChromePolicyDetails))); 574 base::Bind(&GetChromePolicyDetails)));
550 for (size_t i = 0; i < arraysize(kSimplePolicyMap); ++i) { 575 for (size_t i = 0; i < arraysize(kSimplePolicyMap); ++i) {
551 handlers->AddHandler(make_scoped_ptr(new SimplePolicyHandler( 576 handlers->AddHandler(make_scoped_ptr(new SimplePolicyHandler(
552 kSimplePolicyMap[i].policy_name, kSimplePolicyMap[i].preference_path, 577 kSimplePolicyMap[i].policy_name, kSimplePolicyMap[i].preference_path,
553 kSimplePolicyMap[i].value_type))); 578 kSimplePolicyMap[i].value_type)));
554 } 579 }
555 580
556 handlers->AddHandler(make_scoped_ptr(new AutofillPolicyHandler())); 581 handlers->AddHandler(make_scoped_ptr(new AutofillPolicyHandler()));
557 handlers->AddHandler(make_scoped_ptr(new DefaultSearchPolicyHandler())); 582 handlers->AddHandler(make_scoped_ptr(new DefaultSearchPolicyHandler()));
583 handlers->AddHandler(make_scoped_ptr(new ForceSafeSearchPolicyHandler()));
558 handlers->AddHandler(make_scoped_ptr(new IncognitoModePolicyHandler())); 584 handlers->AddHandler(make_scoped_ptr(new IncognitoModePolicyHandler()));
559 handlers->AddHandler( 585 handlers->AddHandler(
560 make_scoped_ptr(new ManagedBookmarksPolicyHandler(chrome_schema))); 586 make_scoped_ptr(new ManagedBookmarksPolicyHandler(chrome_schema)));
561 handlers->AddHandler(make_scoped_ptr(new ProxyPolicyHandler())); 587 handlers->AddHandler(make_scoped_ptr(new ProxyPolicyHandler()));
562 handlers->AddHandler(make_scoped_ptr(new URLBlacklistPolicyHandler())); 588 handlers->AddHandler(make_scoped_ptr(new URLBlacklistPolicyHandler()));
563 589
564 #if defined(OS_ANDROID) 590 #if defined(OS_ANDROID)
565 handlers->AddHandler( 591 handlers->AddHandler(
566 make_scoped_ptr(new ContextualSearchPolicyHandlerAndroid())); 592 make_scoped_ptr(new ContextualSearchPolicyHandlerAndroid()));
567 #endif 593 #endif
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
755 handlers->AddHandler(make_scoped_ptr(new SimpleSchemaValidatingPolicyHandler( 781 handlers->AddHandler(make_scoped_ptr(new SimpleSchemaValidatingPolicyHandler(
756 key::kSessionLocales, NULL, chrome_schema, SCHEMA_STRICT, 782 key::kSessionLocales, NULL, chrome_schema, SCHEMA_STRICT,
757 SimpleSchemaValidatingPolicyHandler::RECOMMENDED_ALLOWED, 783 SimpleSchemaValidatingPolicyHandler::RECOMMENDED_ALLOWED,
758 SimpleSchemaValidatingPolicyHandler::MANDATORY_PROHIBITED))); 784 SimpleSchemaValidatingPolicyHandler::MANDATORY_PROHIBITED)));
759 #endif // defined(OS_CHROMEOS) 785 #endif // defined(OS_CHROMEOS)
760 786
761 return handlers.Pass(); 787 return handlers.Pass();
762 } 788 }
763 789
764 } // namespace policy 790 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/net/chrome_network_delegate_unittest.cc ('k') | chrome/browser/policy/policy_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698