OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/android/policy_converter.h" | 5 #include "components/policy/core/browser/android/policy_converter.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 } | 49 } |
50 | 50 |
51 base::android::ScopedJavaLocalRef<jobject> PolicyConverter::GetJavaObject() { | 51 base::android::ScopedJavaLocalRef<jobject> PolicyConverter::GetJavaObject() { |
52 return base::android::ScopedJavaLocalRef<jobject>(java_obj_); | 52 return base::android::ScopedJavaLocalRef<jobject>(java_obj_); |
53 } | 53 } |
54 | 54 |
55 void PolicyConverter::SetPolicyBoolean(JNIEnv* env, | 55 void PolicyConverter::SetPolicyBoolean(JNIEnv* env, |
56 const JavaRef<jobject>& obj, | 56 const JavaRef<jobject>& obj, |
57 const JavaRef<jstring>& policyKey, | 57 const JavaRef<jstring>& policyKey, |
58 jboolean value) { | 58 jboolean value) { |
59 SetPolicyValue( | 59 SetPolicyValue(ConvertJavaStringToUTF8(env, policyKey), |
60 ConvertJavaStringToUTF8(env, policyKey), | 60 base::MakeUnique<base::Value>(static_cast<bool>(value))); |
61 base::MakeUnique<base::FundamentalValue>(static_cast<bool>(value))); | |
62 } | 61 } |
63 | 62 |
64 void PolicyConverter::SetPolicyInteger(JNIEnv* env, | 63 void PolicyConverter::SetPolicyInteger(JNIEnv* env, |
65 const JavaRef<jobject>& obj, | 64 const JavaRef<jobject>& obj, |
66 const JavaRef<jstring>& policyKey, | 65 const JavaRef<jstring>& policyKey, |
67 jint value) { | 66 jint value) { |
68 SetPolicyValue( | 67 SetPolicyValue(ConvertJavaStringToUTF8(env, policyKey), |
69 ConvertJavaStringToUTF8(env, policyKey), | 68 base::MakeUnique<base::Value>(static_cast<int>(value))); |
70 base::MakeUnique<base::FundamentalValue>(static_cast<int>(value))); | |
71 } | 69 } |
72 | 70 |
73 void PolicyConverter::SetPolicyString(JNIEnv* env, | 71 void PolicyConverter::SetPolicyString(JNIEnv* env, |
74 const JavaRef<jobject>& obj, | 72 const JavaRef<jobject>& obj, |
75 const JavaRef<jstring>& policyKey, | 73 const JavaRef<jstring>& policyKey, |
76 const JavaRef<jstring>& value) { | 74 const JavaRef<jstring>& value) { |
77 SetPolicyValue( | 75 SetPolicyValue( |
78 ConvertJavaStringToUTF8(env, policyKey), | 76 ConvertJavaStringToUTF8(env, policyKey), |
79 base::MakeUnique<base::StringValue>(ConvertJavaStringToUTF8(env, value))); | 77 base::MakeUnique<base::StringValue>(ConvertJavaStringToUTF8(env, value))); |
80 } | 78 } |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 return value; | 112 return value; |
115 | 113 |
116 switch (schema.type()) { | 114 switch (schema.type()) { |
117 case base::Value::Type::NONE: | 115 case base::Value::Type::NONE: |
118 return base::Value::CreateNullValue(); | 116 return base::Value::CreateNullValue(); |
119 | 117 |
120 case base::Value::Type::BOOLEAN: { | 118 case base::Value::Type::BOOLEAN: { |
121 std::string string_value; | 119 std::string string_value; |
122 if (value->GetAsString(&string_value)) { | 120 if (value->GetAsString(&string_value)) { |
123 if (string_value.compare("true") == 0) | 121 if (string_value.compare("true") == 0) |
124 return base::MakeUnique<base::FundamentalValue>(true); | 122 return base::MakeUnique<base::Value>(true); |
125 | 123 |
126 if (string_value.compare("false") == 0) | 124 if (string_value.compare("false") == 0) |
127 return base::MakeUnique<base::FundamentalValue>(false); | 125 return base::MakeUnique<base::Value>(false); |
128 | 126 |
129 return value; | 127 return value; |
130 } | 128 } |
131 int int_value = 0; | 129 int int_value = 0; |
132 if (value->GetAsInteger(&int_value)) | 130 if (value->GetAsInteger(&int_value)) |
133 return base::MakeUnique<base::FundamentalValue>(int_value != 0); | 131 return base::MakeUnique<base::Value>(int_value != 0); |
134 | 132 |
135 return value; | 133 return value; |
136 } | 134 } |
137 | 135 |
138 case base::Value::Type::INTEGER: { | 136 case base::Value::Type::INTEGER: { |
139 std::string string_value; | 137 std::string string_value; |
140 if (value->GetAsString(&string_value)) { | 138 if (value->GetAsString(&string_value)) { |
141 int int_value = 0; | 139 int int_value = 0; |
142 if (base::StringToInt(string_value, &int_value)) | 140 if (base::StringToInt(string_value, &int_value)) |
143 return base::MakeUnique<base::FundamentalValue>(int_value); | 141 return base::MakeUnique<base::Value>(int_value); |
144 } | 142 } |
145 return value; | 143 return value; |
146 } | 144 } |
147 | 145 |
148 case base::Value::Type::DOUBLE: { | 146 case base::Value::Type::DOUBLE: { |
149 std::string string_value; | 147 std::string string_value; |
150 if (value->GetAsString(&string_value)) { | 148 if (value->GetAsString(&string_value)) { |
151 double double_value = 0; | 149 double double_value = 0; |
152 if (base::StringToDouble(string_value, &double_value)) | 150 if (base::StringToDouble(string_value, &double_value)) |
153 return base::MakeUnique<base::FundamentalValue>(double_value); | 151 return base::MakeUnique<base::Value>(double_value); |
154 } | 152 } |
155 return value; | 153 return value; |
156 } | 154 } |
157 | 155 |
158 // String can't be converted from other types. | 156 // String can't be converted from other types. |
159 case base::Value::Type::STRING: { | 157 case base::Value::Type::STRING: { |
160 return value; | 158 return value; |
161 } | 159 } |
162 | 160 |
163 // Binary is not a valid schema type. | 161 // Binary is not a valid schema type. |
(...skipping 29 matching lines...) Expand all Loading... |
193 std::unique_ptr<base::Value> value) { | 191 std::unique_ptr<base::Value> value) { |
194 const Schema schema = policy_schema_->GetKnownProperty(key); | 192 const Schema schema = policy_schema_->GetKnownProperty(key); |
195 const PolicyNamespace ns(POLICY_DOMAIN_CHROME, std::string()); | 193 const PolicyNamespace ns(POLICY_DOMAIN_CHROME, std::string()); |
196 policy_bundle_->Get(ns).Set( | 194 policy_bundle_->Get(ns).Set( |
197 key, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, POLICY_SOURCE_PLATFORM, | 195 key, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, POLICY_SOURCE_PLATFORM, |
198 ConvertValueToSchema(std::move(value), schema), nullptr); | 196 ConvertValueToSchema(std::move(value), schema), nullptr); |
199 } | 197 } |
200 | 198 |
201 } // namespace android | 199 } // namespace android |
202 } // namespace policy | 200 } // namespace policy |
OLD | NEW |