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

Side by Side Diff: chrome/browser/chromeos/arc/arc_policy_bridge.cc

Issue 2133503002: arc: Revamp the ArcBridgeService interface (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@master
Patch Set: More rebasing Created 4 years, 5 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/chromeos/arc/arc_policy_bridge.h" 5 #include "chrome/browser/chromeos/arc/arc_policy_bridge.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 9
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 JSONStringValueSerializer serializer(&policy_json); 228 JSONStringValueSerializer serializer(&policy_json);
229 serializer.Serialize(filtered_policies); 229 serializer.Serialize(filtered_policies);
230 return policy_json; 230 return policy_json;
231 } 231 }
232 232
233 } // namespace 233 } // namespace
234 234
235 ArcPolicyBridge::ArcPolicyBridge(ArcBridgeService* bridge_service) 235 ArcPolicyBridge::ArcPolicyBridge(ArcBridgeService* bridge_service)
236 : ArcService(bridge_service), binding_(this) { 236 : ArcService(bridge_service), binding_(this) {
237 VLOG(2) << "ArcPolicyBridge::ArcPolicyBridge"; 237 VLOG(2) << "ArcPolicyBridge::ArcPolicyBridge";
238 arc_bridge_service()->AddObserver(this); 238 arc_bridge_service()->policy()->AddObserver(this);
239 } 239 }
240 240
241 ArcPolicyBridge::ArcPolicyBridge(ArcBridgeService* bridge_service, 241 ArcPolicyBridge::ArcPolicyBridge(ArcBridgeService* bridge_service,
242 policy::PolicyService* policy_service) 242 policy::PolicyService* policy_service)
243 : ArcService(bridge_service), 243 : ArcService(bridge_service),
244 binding_(this), 244 binding_(this),
245 policy_service_(policy_service) { 245 policy_service_(policy_service) {
246 VLOG(2) << "ArcPolicyBridge::ArcPolicyBridge(bridge_service, policy_service)"; 246 VLOG(2) << "ArcPolicyBridge::ArcPolicyBridge(bridge_service, policy_service)";
247 arc_bridge_service()->AddObserver(this); 247 arc_bridge_service()->policy()->AddObserver(this);
248 } 248 }
249 249
250 ArcPolicyBridge::~ArcPolicyBridge() { 250 ArcPolicyBridge::~ArcPolicyBridge() {
251 VLOG(2) << "ArcPolicyBridge::~ArcPolicyBridge"; 251 VLOG(2) << "ArcPolicyBridge::~ArcPolicyBridge";
252 arc_bridge_service()->RemoveObserver(this); 252 arc_bridge_service()->policy()->RemoveObserver(this);
253 } 253 }
254 254
255 void ArcPolicyBridge::OverrideIsManagedForTesting(bool is_managed) { 255 void ArcPolicyBridge::OverrideIsManagedForTesting(bool is_managed) {
256 is_managed_ = is_managed; 256 is_managed_ = is_managed;
257 } 257 }
258 258
259 void ArcPolicyBridge::OnPolicyInstanceReady() { 259 void ArcPolicyBridge::OnInstanceReady() {
260 VLOG(1) << "ArcPolicyBridge::OnPolicyInstanceReady"; 260 VLOG(1) << "ArcPolicyBridge::OnPolicyInstanceReady";
261 if (policy_service_ == nullptr) { 261 if (policy_service_ == nullptr) {
262 InitializePolicyService(); 262 InitializePolicyService();
263 } 263 }
264 policy_service_->AddObserver(policy::POLICY_DOMAIN_CHROME, this); 264 policy_service_->AddObserver(policy::POLICY_DOMAIN_CHROME, this);
265 265
266 mojom::PolicyInstance* const policy_instance = 266 mojom::PolicyInstance* const policy_instance =
267 arc_bridge_service()->policy_instance(); 267 arc_bridge_service()->policy()->instance();
268 if (!policy_instance) { 268 if (!policy_instance) {
269 LOG(ERROR) << "OnPolicyInstanceReady called, but no policy instance found"; 269 LOG(ERROR) << "OnPolicyInstanceReady called, but no policy instance found";
270 return; 270 return;
271 } 271 }
272 272
273 policy_instance->Init(binding_.CreateInterfacePtrAndBind()); 273 policy_instance->Init(binding_.CreateInterfacePtrAndBind());
274 } 274 }
275 275
276 void ArcPolicyBridge::OnPolicyInstanceClosed() { 276 void ArcPolicyBridge::OnInstanceClosed() {
277 VLOG(1) << "ArcPolicyBridge::OnPolicyInstanceClosed"; 277 VLOG(1) << "ArcPolicyBridge::OnPolicyInstanceClosed";
278 policy_service_->RemoveObserver(policy::POLICY_DOMAIN_CHROME, this); 278 policy_service_->RemoveObserver(policy::POLICY_DOMAIN_CHROME, this);
279 policy_service_ = nullptr; 279 policy_service_ = nullptr;
280 } 280 }
281 281
282 void ArcPolicyBridge::GetPolicies(const GetPoliciesCallback& callback) { 282 void ArcPolicyBridge::GetPolicies(const GetPoliciesCallback& callback) {
283 VLOG(1) << "ArcPolicyBridge::GetPolicies"; 283 VLOG(1) << "ArcPolicyBridge::GetPolicies";
284 if (!is_managed_) { 284 if (!is_managed_) {
285 callback.Run(mojo::String("")); 285 callback.Run(mojo::String(""));
286 return; 286 return;
287 } 287 }
288 const policy::PolicyNamespace policy_namespace(policy::POLICY_DOMAIN_CHROME, 288 const policy::PolicyNamespace policy_namespace(policy::POLICY_DOMAIN_CHROME,
289 std::string()); 289 std::string());
290 const policy::PolicyMap& policy_map = 290 const policy::PolicyMap& policy_map =
291 policy_service_->GetPolicies(policy_namespace); 291 policy_service_->GetPolicies(policy_namespace);
292 const std::string json_policies = GetFilteredJSONPolicies(policy_map); 292 const std::string json_policies = GetFilteredJSONPolicies(policy_map);
293 callback.Run(mojo::String(json_policies)); 293 callback.Run(mojo::String(json_policies));
294 } 294 }
295 295
296 void ArcPolicyBridge::OnPolicyUpdated(const policy::PolicyNamespace& ns, 296 void ArcPolicyBridge::OnPolicyUpdated(const policy::PolicyNamespace& ns,
297 const policy::PolicyMap& previous, 297 const policy::PolicyMap& previous,
298 const policy::PolicyMap& current) { 298 const policy::PolicyMap& current) {
299 VLOG(1) << "ArcPolicyBridge::OnPolicyUpdated"; 299 VLOG(1) << "ArcPolicyBridge::OnPolicyUpdated";
300 DCHECK(arc_bridge_service()->policy_instance()); 300 DCHECK(arc_bridge_service()->policy()->instance());
301 arc_bridge_service()->policy_instance()->OnPolicyUpdated(); 301 arc_bridge_service()->policy()->instance()->OnPolicyUpdated();
302 } 302 }
303 303
304 void ArcPolicyBridge::InitializePolicyService() { 304 void ArcPolicyBridge::InitializePolicyService() {
305 const user_manager::User* const primary_user = 305 const user_manager::User* const primary_user =
306 user_manager::UserManager::Get()->GetPrimaryUser(); 306 user_manager::UserManager::Get()->GetPrimaryUser();
307 Profile* const profile = 307 Profile* const profile =
308 chromeos::ProfileHelper::Get()->GetProfileByUser(primary_user); 308 chromeos::ProfileHelper::Get()->GetProfileByUser(primary_user);
309 auto profile_policy_connector = 309 auto profile_policy_connector =
310 policy::ProfilePolicyConnectorFactory::GetForBrowserContext(profile); 310 policy::ProfilePolicyConnectorFactory::GetForBrowserContext(profile);
311 policy_service_ = profile_policy_connector->policy_service(); 311 policy_service_ = profile_policy_connector->policy_service();
312 is_managed_ = profile_policy_connector->IsManaged(); 312 is_managed_ = profile_policy_connector->IsManaged();
313 } 313 }
314 314
315 } // namespace arc 315 } // namespace arc
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/arc/arc_policy_bridge.h ('k') | chrome/browser/chromeos/arc/arc_policy_bridge_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698