diff options
author | peter@chromium.org <peter@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-12 15:11:15 +0000 |
---|---|---|
committer | peter@chromium.org <peter@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-12 15:11:15 +0000 |
commit | e7c9260935017a441363101453705511ef49a5b7 (patch) | |
tree | 18da17357004e9db4e33a1abcc69f0a61c19eba1 /remoting/protocol | |
parent | 238c4c6a04696a407c8c3868d956f8b6a531b52e (diff) | |
download | chromium_src-e7c9260935017a441363101453705511ef49a5b7.zip chromium_src-e7c9260935017a441363101453705511ef49a5b7.tar.gz chromium_src-e7c9260935017a441363101453705511ef49a5b7.tar.bz2 |
Revert 156297 - [Chromoting] Refactoring DesktopEnvironment and moving screen/audio recorders to ClientSession.
This CL changes the way screen/audio recorders and event executors are managed. New DesktopEnvironmentFactory class is now used by ChromotingHost's owner to specify the kind of desktop environment (or virtual terminal) to be used by the host. Screen/audio recorders and event executors now owned by the ClientSession instance, so there is a separate set of recorders and stubs exists for each authenticated client session. Clients sessions can now be torn dowsn in parallel with the host shuttting down.
This is the 3rd attempt to land this change. This version includes:
- |ClientSession| objects are torn down asynchronously now.
- |ClientSession| objects are ref-counted to facilitate the asynchronous shutdown. They still have to be used and destroyed on the network thread.
- |ChromotingHost| now waits until all connections are torn down before deleting the session manager.
- The unit tests were fixed to run message loops until all asynchronous object have been destroyed.
BUG=134694
TEST=remoting_unittests
Review URL: https://chromiumcodereview.appspot.com/10915206
TBR=alexeypa@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10911248
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156298 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/protocol')
-rw-r--r-- | remoting/protocol/protocol_mock_objects.cc | 4 | ||||
-rw-r--r-- | remoting/protocol/protocol_mock_objects.h | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/remoting/protocol/protocol_mock_objects.cc b/remoting/protocol/protocol_mock_objects.cc index 58f912b..a37b0d7 100644 --- a/remoting/protocol/protocol_mock_objects.cc +++ b/remoting/protocol/protocol_mock_objects.cc @@ -13,9 +13,11 @@ namespace protocol { MockConnectionToClient::MockConnectionToClient( Session* session, - HostStub* host_stub) + HostStub* host_stub, + InputStub* input_stub) : ConnectionToClient(session) { set_host_stub(host_stub); + set_input_stub(input_stub); } MockConnectionToClient::~MockConnectionToClient() {} diff --git a/remoting/protocol/protocol_mock_objects.h b/remoting/protocol/protocol_mock_objects.h index e65826a..5251287 100644 --- a/remoting/protocol/protocol_mock_objects.h +++ b/remoting/protocol/protocol_mock_objects.h @@ -28,7 +28,8 @@ namespace protocol { class MockConnectionToClient : public ConnectionToClient { public: MockConnectionToClient(Session* session, - HostStub* host_stub); + HostStub* host_stub, + InputStub* input_stub); virtual ~MockConnectionToClient(); MOCK_METHOD1(Init, void(Session* session)); |