summaryrefslogtreecommitdiffstats
path: root/remoting/host/desktop_environment.h
diff options
context:
space:
mode:
authoralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-08 18:26:18 +0000
committeralexeypa@chromium.org <alexeypa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-08 18:26:18 +0000
commit96361d07bcba1c8e8bea994e79e2cfddbcff80df (patch)
tree52abe8f819965bdb58bb0a35ae12f5d29fcb4581 /remoting/host/desktop_environment.h
parentd9e5e751c6f9dc412ce8b7f956e0a3ec3c2cdd9b (diff)
downloadchromium_src-96361d07bcba1c8e8bea994e79e2cfddbcff80df.zip
chromium_src-96361d07bcba1c8e8bea994e79e2cfddbcff80df.tar.gz
chromium_src-96361d07bcba1c8e8bea994e79e2cfddbcff80df.tar.bz2
Do not show the in-session UI in a curtained session.
This CL refactors the existing curtain mode implementation for Mac/Linux and finalizes one for Windows. Changes: - The curtain mode policy setting is passed to the desktop environment factory. This way it will be able to pass the flag down to the created desktop environment instances. - The curtain mode object is hosted by the desktop environment for the duration of the session. - When a session is curtained the in-session UI is not created and local input is not monitored. BUG=104544, 166882 R=cdn@chromium.org, rmsousa@chromium.org Review URL: https://codereview.chromium.org/14435009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198945 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/host/desktop_environment.h')
-rw-r--r--remoting/host/desktop_environment.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/remoting/host/desktop_environment.h b/remoting/host/desktop_environment.h
index 0e8b480..660744a 100644
--- a/remoting/host/desktop_environment.h
+++ b/remoting/host/desktop_environment.h
@@ -54,11 +54,16 @@ class DesktopEnvironmentFactory {
public:
virtual ~DesktopEnvironmentFactory() {}
- // Creates an instance of |DesktopEnvironment|. |client_session_control| must
- // outlive |this|.
+ // Creates an instance of |DesktopEnvironment|. Returns a NULL pointer if
+ // the desktop environment could not be created for any reason (if the curtain
+ // failed to active for instance). |client_session_control| must outlive
+ // the created desktop environment.
virtual scoped_ptr<DesktopEnvironment> Create(
base::WeakPtr<ClientSessionControl> client_session_control) = 0;
+ // Enables or disables the curtain mode.
+ virtual void SetEnableCurtaining(bool enable) {}
+
// Returns |true| if created |DesktopEnvironment| instances support audio
// capture.
virtual bool SupportsAudioCapture() const = 0;