Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/policy/arc_policy_bridge.h" | 5 #include "chrome/browser/chromeos/arc/policy/arc_policy_bridge.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <string> | 8 #include <string> |
|
Yusuke Sato
2016/11/11 22:42:10
nit: remove
Luis Héctor Chávez
2016/11/12 02:08:01
Done.
| |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| 11 #include "base/json/json_reader.h" | 11 #include "base/json/json_reader.h" |
| 12 #include "base/json/json_string_value_serializer.h" | 12 #include "base/json/json_string_value_serializer.h" |
| 13 #include "base/logging.h" | 13 #include "base/logging.h" |
| 14 #include "base/memory/ptr_util.h" | 14 #include "base/memory/ptr_util.h" |
| 15 #include "base/values.h" | 15 #include "base/values.h" |
| 16 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 16 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
| 17 #include "chrome/browser/policy/profile_policy_connector.h" | 17 #include "chrome/browser/policy/profile_policy_connector.h" |
| 18 #include "chrome/browser/policy/profile_policy_connector_factory.h" | 18 #include "chrome/browser/policy/profile_policy_connector_factory.h" |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 277 | 277 |
| 278 void ArcPolicyBridge::OnInstanceClosed() { | 278 void ArcPolicyBridge::OnInstanceClosed() { |
| 279 VLOG(1) << "ArcPolicyBridge::OnPolicyInstanceClosed"; | 279 VLOG(1) << "ArcPolicyBridge::OnPolicyInstanceClosed"; |
| 280 policy_service_->RemoveObserver(policy::POLICY_DOMAIN_CHROME, this); | 280 policy_service_->RemoveObserver(policy::POLICY_DOMAIN_CHROME, this); |
| 281 policy_service_ = nullptr; | 281 policy_service_ = nullptr; |
| 282 } | 282 } |
| 283 | 283 |
| 284 void ArcPolicyBridge::GetPolicies(const GetPoliciesCallback& callback) { | 284 void ArcPolicyBridge::GetPolicies(const GetPoliciesCallback& callback) { |
| 285 VLOG(1) << "ArcPolicyBridge::GetPolicies"; | 285 VLOG(1) << "ArcPolicyBridge::GetPolicies"; |
| 286 if (!is_managed_) { | 286 if (!is_managed_) { |
| 287 callback.Run(mojo::String("")); | 287 callback.Run(std::string()); |
| 288 return; | 288 return; |
| 289 } | 289 } |
| 290 const policy::PolicyNamespace policy_namespace(policy::POLICY_DOMAIN_CHROME, | 290 const policy::PolicyNamespace policy_namespace(policy::POLICY_DOMAIN_CHROME, |
| 291 std::string()); | 291 std::string()); |
| 292 const policy::PolicyMap& policy_map = | 292 const policy::PolicyMap& policy_map = |
| 293 policy_service_->GetPolicies(policy_namespace); | 293 policy_service_->GetPolicies(policy_namespace); |
| 294 const std::string json_policies = GetFilteredJSONPolicies(policy_map); | 294 const std::string json_policies = GetFilteredJSONPolicies(policy_map); |
| 295 callback.Run(mojo::String(json_policies)); | 295 callback.Run(std::string(json_policies)); |
|
Yusuke Sato
2016/11/11 22:42:10
remove std::string()? or merge L294 and 295?
Luis Héctor Chávez
2016/11/12 02:08:01
Done.
| |
| 296 } | 296 } |
| 297 | 297 |
| 298 void OnReportComplianceParseSuccess( | 298 void OnReportComplianceParseSuccess( |
| 299 const ArcPolicyBridge::ReportComplianceCallback& callback, | 299 const ArcPolicyBridge::ReportComplianceCallback& callback, |
| 300 std::unique_ptr<base::Value> parsed_json) { | 300 std::unique_ptr<base::Value> parsed_json) { |
| 301 // TODO(poromov@): Track the report and start ARC++ kiosk app when the report | 301 // TODO(poromov@): Track the report and start ARC++ kiosk app when the report |
| 302 // is empty, that means that CloudDpc applied all policies. | 302 // is empty, that means that CloudDpc applied all policies. |
| 303 // Currently do nothing with the report, return 'true' if JSON is parsed. | 303 // Currently do nothing with the report, return 'true' if JSON is parsed. |
| 304 callback.Run(mojo::String("{ \"policyCompliant\": true }")); | 304 callback.Run(std::string("{ \"policyCompliant\": true }")); |
|
Yusuke Sato
2016/11/11 22:42:10
same. I think Chromium code usually relies on the
Luis Héctor Chávez
2016/11/12 02:08:01
Done.
| |
| 305 } | 305 } |
| 306 | 306 |
| 307 void OnReportComplianceParseFailure( | 307 void OnReportComplianceParseFailure( |
| 308 const ArcPolicyBridge::ReportComplianceCallback& callback, | 308 const ArcPolicyBridge::ReportComplianceCallback& callback, |
| 309 const std::string& error) { | 309 const std::string& error) { |
| 310 callback.Run(mojo::String("{ \"policyCompliant\": false }")); | 310 callback.Run(std::string("{ \"policyCompliant\": false }")); |
|
Yusuke Sato
2016/11/11 22:42:10
same
Luis Héctor Chávez
2016/11/12 02:08:01
Done.
| |
| 311 } | 311 } |
| 312 | 312 |
| 313 void ArcPolicyBridge::ReportCompliance( | 313 void ArcPolicyBridge::ReportCompliance( |
| 314 const mojo::String& request, | 314 const std::string& request, |
| 315 const ReportComplianceCallback& callback) { | 315 const ReportComplianceCallback& callback) { |
| 316 VLOG(1) << "ArcPolicyBridge::ReportCompliance"; | 316 VLOG(1) << "ArcPolicyBridge::ReportCompliance"; |
| 317 safe_json::SafeJsonParser::Parse( | 317 safe_json::SafeJsonParser::Parse( |
| 318 request, base::Bind(&OnReportComplianceParseSuccess, callback), | 318 request, base::Bind(&OnReportComplianceParseSuccess, callback), |
| 319 base::Bind(&OnReportComplianceParseFailure, callback)); | 319 base::Bind(&OnReportComplianceParseFailure, callback)); |
| 320 } | 320 } |
| 321 | 321 |
| 322 void ArcPolicyBridge::OnPolicyUpdated(const policy::PolicyNamespace& ns, | 322 void ArcPolicyBridge::OnPolicyUpdated(const policy::PolicyNamespace& ns, |
| 323 const policy::PolicyMap& previous, | 323 const policy::PolicyMap& previous, |
| 324 const policy::PolicyMap& current) { | 324 const policy::PolicyMap& current) { |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 335 user_manager::UserManager::Get()->GetPrimaryUser(); | 335 user_manager::UserManager::Get()->GetPrimaryUser(); |
| 336 Profile* const profile = | 336 Profile* const profile = |
| 337 chromeos::ProfileHelper::Get()->GetProfileByUser(primary_user); | 337 chromeos::ProfileHelper::Get()->GetProfileByUser(primary_user); |
| 338 auto* profile_policy_connector = | 338 auto* profile_policy_connector = |
| 339 policy::ProfilePolicyConnectorFactory::GetForBrowserContext(profile); | 339 policy::ProfilePolicyConnectorFactory::GetForBrowserContext(profile); |
| 340 policy_service_ = profile_policy_connector->policy_service(); | 340 policy_service_ = profile_policy_connector->policy_service(); |
| 341 is_managed_ = profile_policy_connector->IsManaged(); | 341 is_managed_ = profile_policy_connector->IsManaged(); |
| 342 } | 342 } |
| 343 | 343 |
| 344 } // namespace arc | 344 } // namespace arc |
| OLD | NEW |