Index: remoting/host/remoting_me2me_host.cc |
diff --git a/remoting/host/remoting_me2me_host.cc b/remoting/host/remoting_me2me_host.cc |
index 6ea5ce24164f621a8d1726b76656d4cc79e45b59..3f6c605be7093794b6211c82e7599f4add757f52 100644 |
--- a/remoting/host/remoting_me2me_host.cc |
+++ b/remoting/host/remoting_me2me_host.cc |
@@ -233,6 +233,7 @@ class HostProcess |
// Handles policy updates, by calling On*PolicyUpdate methods. |
void OnPolicyUpdate(scoped_ptr<base::DictionaryValue> policies); |
+ void OnPolicyError(); |
void ApplyHostDomainPolicy(); |
void ApplyUsernamePolicy(); |
bool OnHostDomainPolicyUpdate(base::DictionaryValue* policies); |
@@ -528,7 +529,8 @@ void HostProcess::OnConfigUpdated( |
policy_watcher_ = policy_hack::PolicyWatcher::Create( |
nullptr, context_->network_task_runner()); |
policy_watcher_->StartWatching( |
- base::Bind(&HostProcess::OnPolicyUpdate, base::Unretained(this))); |
+ base::Bind(&HostProcess::OnPolicyUpdate, base::Unretained(this)), |
+ base::Bind(&HostProcess::OnPolicyError, base::Unretained(this))); |
} else { |
// Reapply policies that could be affected by a new config. |
ApplyHostDomainPolicy(); |
@@ -933,6 +935,15 @@ void HostProcess::OnPolicyUpdate(scoped_ptr<base::DictionaryValue> policies) { |
} |
} |
+void HostProcess::OnPolicyError() { |
+ context_->network_task_runner()->PostTask( |
+ FROM_HERE, |
+ base::Bind( |
+ &HostProcess::ShutdownHost, |
+ this, |
+ kInvalidHostConfigurationExitCode)); |
+} |
+ |
void HostProcess::ApplyHostDomainPolicy() { |
HOST_LOG << "Policy sets host domain: " << host_domain_; |