Revert of [Webapp Refactor] Remove remoting.SessionConnector. (patchset #3 id:60001 of https://codereview.chromium.org/
1047413006/)
Reason for revert:
Bad merge with a previous version that will cause compilation failure.
Original issue's description:
> [Webapp Refactor] Remove remoting.SessionConnector.
>
> remoting.SessionConnector is currently responsible for creating
> the plugin, the signal strategy and the clientSession. It also
> magically disposes the plugin when the clientSession finishes.
>
> However, the session is not exposed to the caller elsewhere, which makes
> it hard for the caller to dispose of the session before it is connected,
> e.g. Cancel a PIN entry.
>
> It is currently a stateful object that keeps track of the host,
> credentials provider, strategy of the created session, which is redundant.
>
> This CL
> 1. Offloads the creation of the clientSession to the
> remoting.ClientSessionFactory. It also allow the caller to configure
> a clientSession prior to connecting. The remoting.ClientSessionFactory
> is essentially stateless except for a few predefined ClientSession
> construction parameters.
> 2. Allow the caller to have a different instance of
> ClientSession.EventHandler for each instance ClientSession created.
> 3. Revives remoting.MockClientPlugin and uses it for remoting.ClientSessionFactory
> unittests.
>
> Ownership graph before:
> Activity -> SessionConenctor -> ClientSession
>
> Ownership graph after:
> Activity -> ClientSession
>
> BUG=477522
> TEST=All browser tests passed on
> https://chromium-swarm.appspot.com/user/tasks?sort=created_ts&state=all&limit=10&task_name=chromoting_integration_tests
>
> Committed: https://crrev.com/
4c69287fc3e0ad6663ab98f02ef57c570f8992e3
> Cr-Commit-Position: refs/heads/master@{#325745}
TBR=jamiewalch@chromium.org,garykac@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=477522
Review URL: https://codereview.chromium.org/
1096883002
Cr-Commit-Position: refs/heads/master@{#325748}