diff options
author | kelvinp <kelvinp@chromium.org> | 2015-04-20 11:52:01 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-20 18:52:12 +0000 |
commit | 2c5de34072226c91d465349cb249d76d16387bef (patch) | |
tree | a44aab1e70097eefdbb71171a19f7f776530dee6 /remoting/webapp/files.gni | |
parent | 85e13090e8ec1020827a68b3309ac8fb93886a75 (diff) | |
download | chromium_src-2c5de34072226c91d465349cb249d76d16387bef.zip chromium_src-2c5de34072226c91d465349cb249d76d16387bef.tar.gz chromium_src-2c5de34072226c91d465349cb249d76d16387bef.tar.bz2 |
[Webapp Refactor] Remove remoting.SessionConnector.
This is a reland of crrev.com/1047413006
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
TBR=jamiewalch
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
Review URL: https://codereview.chromium.org/1097133002
Cr-Commit-Position: refs/heads/master@{#325887}
Diffstat (limited to 'remoting/webapp/files.gni')
-rw-r--r-- | remoting/webapp/files.gni | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/remoting/webapp/files.gni b/remoting/webapp/files.gni index 21ec428..8cb49e7 100644 --- a/remoting/webapp/files.gni +++ b/remoting/webapp/files.gni @@ -155,17 +155,16 @@ remoting_webapp_js_cast_extension_files = [ "crd/js/cast_extension_handler.js" ] # Client JavaScript files. remoting_webapp_js_client_files = [ "crd/js/client_plugin.js", - "crd/js/client_plugin_impl.js", "crd/js/client_plugin_host_desktop_impl.js", + "crd/js/client_plugin_impl.js", "crd/js/client_session.js", + "crd/js/client_session_factory.js", "crd/js/clipboard.js", "crd/js/connected_view.js", "crd/js/connection_info.js", "crd/js/credentials_provider.js", "crd/js/desktop_connected_view.js", "crd/js/host_desktop.js", - "crd/js/session_connector.js", - "crd/js/session_connector_impl.js", "crd/js/smart_reconnector.js", "crd/js/video_frame_recorder.js", ] |