| Index: chrome/browser/policy/policy_loader_mac.cc
|
| diff --git a/chrome/browser/policy/policy_loader_mac.cc b/chrome/browser/policy/policy_loader_mac.cc
|
| index 29774f0e4526f838f5e1f33740d0dbfae963fddd..2d8e220831095362b3ee73635b829dda9e8fe039 100644
|
| --- a/chrome/browser/policy/policy_loader_mac.cc
|
| +++ b/chrome/browser/policy/policy_loader_mac.cc
|
| @@ -21,7 +21,7 @@
|
| #include "chrome/browser/policy/policy_load_status.h"
|
| #include "chrome/browser/policy/policy_map.h"
|
| #include "chrome/browser/policy/preferences_mac.h"
|
| -#include "components/policy/core/common/policy_schema.h"
|
| +#include "components/policy/core/common/schema.h"
|
| #include "policy/policy_constants.h"
|
|
|
| using base::mac::CFCast;
|
| @@ -210,29 +210,22 @@ void PolicyLoaderMac::LoadPolicyForDomain(
|
|
|
| void PolicyLoaderMac::LoadPolicyForComponent(
|
| const std::string& bundle_id_string,
|
| - const PolicySchema* schema,
|
| + Schema schema,
|
| PolicyMap* policy) {
|
| // TODO(joaodasilva): extensions may be registered in a PolicyDomainDescriptor
|
| - // without a PolicySchema, to allow a graceful update of the Legacy Browser
|
| - // Support extension on Windows. Remove this temporary check once that support
|
| - // is removed.
|
| - if (!schema)
|
| + // without a schema, to allow a graceful update of the Legacy Browser Support
|
| + // extension on Windows. Remove this check once that support is removed.
|
| + if (!schema.valid())
|
| return;
|
|
|
| base::ScopedCFTypeRef<CFStringRef> bundle_id(
|
| base::SysUTF8ToCFStringRef(bundle_id_string));
|
| preferences_->AppSynchronize(bundle_id);
|
|
|
| - const PolicySchemaMap* map = schema->GetProperties();
|
| - if (!map) {
|
| - NOTREACHED();
|
| - return;
|
| - }
|
| -
|
| - for (PolicySchemaMap::const_iterator it = map->begin();
|
| - it != map->end(); ++it) {
|
| + for (Schema::Iterator it = schema.GetPropertiesIterator();
|
| + !it.IsAtEnd(); it.Advance()) {
|
| base::ScopedCFTypeRef<CFStringRef> pref_name(
|
| - base::SysUTF8ToCFStringRef(it->first));
|
| + base::SysUTF8ToCFStringRef(it.key()));
|
| base::ScopedCFTypeRef<CFPropertyListRef> value(
|
| preferences_->CopyAppValue(pref_name, bundle_id));
|
| if (!value.get())
|
| @@ -242,9 +235,10 @@ void PolicyLoaderMac::LoadPolicyForComponent(
|
| PolicyLevel level = forced ? POLICY_LEVEL_MANDATORY :
|
| POLICY_LEVEL_RECOMMENDED;
|
| scoped_ptr<base::Value> policy_value(CreateValueFromProperty(value));
|
| - if (policy_value)
|
| - policy->Set(it->first, level, POLICY_SCOPE_USER,
|
| + if (policy_value) {
|
| + policy->Set(it.key(), level, POLICY_SCOPE_USER,
|
| policy_value.release(), NULL);
|
| + }
|
| }
|
| }
|
|
|
|
|