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

Side by Side Diff: components/policy/core/browser/configuration_policy_handler_list.cc

Issue 197013007: Set drive as the default download folder (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes test failure and enables a new test Created 6 years, 9 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "components/policy/core/browser/configuration_policy_handler_list.h" 5 #include "components/policy/core/browser/configuration_policy_handler_list.h"
6 6
7 #include "base/prefs/pref_value_map.h" 7 #include "base/prefs/pref_value_map.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "components/policy/core/browser/configuration_policy_handler.h" 9 #include "components/policy/core/browser/configuration_policy_handler.h"
10 #include "components/policy/core/browser/configuration_policy_handler_parameters .h"
10 #include "components/policy/core/browser/policy_error_map.h" 11 #include "components/policy/core/browser/policy_error_map.h"
11 #include "components/policy/core/common/policy_map.h" 12 #include "components/policy/core/common/policy_map.h"
12 #include "grit/component_strings.h" 13 #include "grit/component_strings.h"
13 14
14 namespace policy { 15 namespace policy {
15 ConfigurationPolicyHandlerList::ConfigurationPolicyHandlerList( 16 ConfigurationPolicyHandlerList::ConfigurationPolicyHandlerList(
17 const PopulatePolicyHandlerParametersCallback& parameters_callback,
16 const GetChromePolicyDetailsCallback& details_callback) 18 const GetChromePolicyDetailsCallback& details_callback)
17 : details_callback_(details_callback) {} 19 : parameters_callback_(parameters_callback),
20 details_callback_(details_callback) {}
18 21
19 ConfigurationPolicyHandlerList::~ConfigurationPolicyHandlerList() { 22 ConfigurationPolicyHandlerList::~ConfigurationPolicyHandlerList() {
20 STLDeleteElements(&handlers_); 23 STLDeleteElements(&handlers_);
21 } 24 }
22 25
23 void ConfigurationPolicyHandlerList::AddHandler( 26 void ConfigurationPolicyHandlerList::AddHandler(
24 scoped_ptr<ConfigurationPolicyHandler> handler) { 27 scoped_ptr<ConfigurationPolicyHandler> handler) {
25 handlers_.push_back(handler.release()); 28 handlers_.push_back(handler.release());
26 } 29 }
27 30
28 void ConfigurationPolicyHandlerList::ApplyPolicySettings( 31 void ConfigurationPolicyHandlerList::ApplyPolicySettings(
29 const PolicyMap& policies, 32 const PolicyMap& policies,
30 PrefValueMap* prefs, 33 PrefValueMap* prefs,
31 PolicyErrorMap* errors) const { 34 PolicyErrorMap* errors) const {
32 PolicyErrorMap scoped_errors; 35 PolicyErrorMap scoped_errors;
33 if (!errors) 36 if (!errors)
34 errors = &scoped_errors; 37 errors = &scoped_errors;
35 38
39 policy::PolicyHandlerParameters parameters;
40 parameters_callback_.Run(&parameters);
41
36 std::vector<ConfigurationPolicyHandler*>::const_iterator handler; 42 std::vector<ConfigurationPolicyHandler*>::const_iterator handler;
37 for (handler = handlers_.begin(); handler != handlers_.end(); ++handler) { 43 for (handler = handlers_.begin(); handler != handlers_.end(); ++handler) {
38 if ((*handler)->CheckPolicySettings(policies, errors) && prefs) 44 if ((*handler)->CheckPolicySettings(policies, errors) && prefs)
39 (*handler)->ApplyPolicySettings(policies, prefs); 45 (*handler)
46 ->ApplyPolicySettingsWithParameters(policies, parameters, prefs);
40 } 47 }
41 48
42 for (PolicyMap::const_iterator it = policies.begin(); 49 for (PolicyMap::const_iterator it = policies.begin();
43 it != policies.end(); 50 it != policies.end();
44 ++it) { 51 ++it) {
45 const PolicyDetails* details = 52 const PolicyDetails* details =
46 details_callback_.is_null() ? NULL : details_callback_.Run(it->first); 53 details_callback_.is_null() ? NULL : details_callback_.Run(it->first);
47 if (details && details->is_deprecated) 54 if (details && details->is_deprecated)
48 errors->AddError(it->first, IDS_POLICY_DEPRECATED); 55 errors->AddError(it->first, IDS_POLICY_DEPRECATED);
49 } 56 }
50 } 57 }
51 58
52 void ConfigurationPolicyHandlerList::PrepareForDisplaying( 59 void ConfigurationPolicyHandlerList::PrepareForDisplaying(
53 PolicyMap* policies) const { 60 PolicyMap* policies) const {
54 std::vector<ConfigurationPolicyHandler*>::const_iterator handler; 61 std::vector<ConfigurationPolicyHandler*>::const_iterator handler;
55 for (handler = handlers_.begin(); handler != handlers_.end(); ++handler) 62 for (handler = handlers_.begin(); handler != handlers_.end(); ++handler)
56 (*handler)->PrepareForDisplaying(policies); 63 (*handler)->PrepareForDisplaying(policies);
57 } 64 }
58 65
59 } // namespace policy 66 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698