summaryrefslogtreecommitdiffstats
path: root/remoting/host/client_session.h
diff options
context:
space:
mode:
authorjamiewalch@chromium.org <jamiewalch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-04 06:26:01 +0000
committerjamiewalch@chromium.org <jamiewalch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-04 06:26:01 +0000
commit8835692aa95097e2df4a2ec2b2db4768578b06a0 (patch)
tree3eb40c08525740259ff976b617befdacad442541 /remoting/host/client_session.h
parentde1bb9caab81d7a80dac9ebe59a5ea2aa56048dd (diff)
downloadchromium_src-8835692aa95097e2df4a2ec2b2db4768578b06a0.zip
chromium_src-8835692aa95097e2df4a2ec2b2db4768578b06a0.tar.gz
chromium_src-8835692aa95097e2df4a2ec2b2db4768578b06a0.tar.bz2
This CL adds the "request pairing" implementation between the web-app and the host. Specifically:
* Adds a pairing registry to the Chromoting host. * Checks the state of the "remember me" checkbox and sends a pairing request if needed. * Adds the plumbing to get that request to host, and to get the response back to the web-app. * Saves the pairing response to local storage, and uses it next time we connect. * Uses Base64 throughout for the secret, since unencoded random strings can't be serialized via PPAPI. Note that pairing is still disabled because we're still missing per-platform Delegate implementations, a UI for revoking pairings, and policy support for disabling the feature. BUG=156182 Review URL: https://chromiumcodereview.appspot.com/16137004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203865 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/host/client_session.h')
-rw-r--r--remoting/host/client_session.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/remoting/host/client_session.h b/remoting/host/client_session.h
index add2a0a..0c29029 100644
--- a/remoting/host/client_session.h
+++ b/remoting/host/client_session.h
@@ -24,6 +24,7 @@
#include "remoting/protocol/input_event_tracker.h"
#include "remoting/protocol/input_filter.h"
#include "remoting/protocol/input_stub.h"
+#include "remoting/protocol/pairing_registry.h"
#include "third_party/skia/include/core/SkPoint.h"
#include "third_party/skia/include/core/SkSize.h"
@@ -95,7 +96,8 @@ class ClientSession
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
scoped_ptr<protocol::ConnectionToClient> connection,
DesktopEnvironmentFactory* desktop_environment_factory,
- const base::TimeDelta& max_duration);
+ const base::TimeDelta& max_duration,
+ scoped_refptr<protocol::PairingRegistry> pairing_registry);
virtual ~ClientSession();
// protocol::HostStub interface.
@@ -107,6 +109,8 @@ class ClientSession
const protocol::AudioControl& audio_control) OVERRIDE;
virtual void SetCapabilities(
const protocol::Capabilities& capabilities) OVERRIDE;
+ virtual void RequestPairing(
+ const remoting::protocol::PairingRequest& pairing_request) OVERRIDE;
// protocol::ConnectionToClient::EventHandler interface.
virtual void OnConnectionAuthenticated(
@@ -224,6 +228,9 @@ class ClientSession
// Used to apply client-requested changes in screen resolution.
scoped_ptr<ScreenControls> screen_controls_;
+ // The pairing registry for PIN-less authentication.
+ scoped_refptr<protocol::PairingRegistry> pairing_registry_;
+
DISALLOW_COPY_AND_ASSIGN(ClientSession);
};