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

Unified Diff: remoting/host/remoting_me2me_host.cc

Issue 12379084: Pass the |curtain_activated| flag to IpcDesktopEnvironmentFactory. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 7 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/host/ipc_desktop_environment.cc ('k') | remoting/remoting.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/host/remoting_me2me_host.cc
diff --git a/remoting/host/remoting_me2me_host.cc b/remoting/host/remoting_me2me_host.cc
index 344fa73e354b51e64266eb52039d758a384b5c65..dcdce593efb555a781b280d460b060475b5383da 100644
--- a/remoting/host/remoting_me2me_host.cc
+++ b/remoting/host/remoting_me2me_host.cc
@@ -858,6 +858,12 @@ bool HostProcess::OnCurtainPolicyUpdate(bool curtain_required) {
curtain_required_ = curtain_required;
if (curtaining_host_observer_)
curtaining_host_observer_->SetEnableCurtaining(curtain_required_);
+
+ // The current Windows curtain mode implementation relies on this code
+ // restarting the host when the curtain mode policy changes. For example if
+ // the policy is enabled while someone is already connected to the console
+ // that session should be either curtained or disconnected. This code makes
+ // sure that the session will be disconnected by restarting the host.
return true;
}
return false;
@@ -954,10 +960,18 @@ void HostProcess::StartHost() {
resizing_host_observer_.reset(
new ResizingHostObserver(desktop_resizer_.get(), host_->AsWeakPtr()));
+#if defined(REMOTING_RDP_SESSION)
+ // TODO(alexeypa): do not create |curtain_| in this case.
+ CurtainMode* curtain = static_cast<IpcDesktopEnvironmentFactory*>(
+ desktop_environment_factory_.get());
+#else // !defined(REMOTING_RDP_SESSION)
+ CurtainMode* curtain = curtain_.get();
+#endif // !defined(REMOTING_RDP_SESSION)
+
// Create a host observer to enable/disable curtain mode as clients connect
// and disconnect.
curtaining_host_observer_.reset(new CurtainingHostObserver(
- curtain_.get(), host_->AsWeakPtr()));
+ curtain, host_->AsWeakPtr()));
curtaining_host_observer_->SetEnableCurtaining(curtain_required_);
if (host_user_interface_.get()) {
« no previous file with comments | « remoting/host/ipc_desktop_environment.cc ('k') | remoting/remoting.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698