Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Unified Diff: remoting/webapp/host_setup_dialog.js

Issue 132793007: Download the host components when user tries to enable Me2Me host. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/webapp/host_native_messaging.js ('k') | remoting/webapp/remoting.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/webapp/host_setup_dialog.js
diff --git a/remoting/webapp/host_setup_dialog.js b/remoting/webapp/host_setup_dialog.js
index eb52b7c14c06b775bc6bfc75e269e71698f56dbd..94031c68696507666872f16deea12dd35faebe45 100644
--- a/remoting/webapp/host_setup_dialog.js
+++ b/remoting/webapp/host_setup_dialog.js
@@ -27,7 +27,7 @@ remoting.HostSetupFlow.State = {
// Dialog states.
ASK_PIN: 1,
- // Used on Mac OS X to prompt the user to manually install a .dmg package.
+ // Prompts the user to install the host package.
INSTALL_HOST: 2,
// Processing states.
@@ -223,6 +223,7 @@ remoting.HostSetupDialog.prototype.showForStartWithToken_ =
this.hostController_.getConsent(onGetConsent, onError);
var flow = [
+ remoting.HostSetupFlow.State.INSTALL_HOST,
remoting.HostSetupFlow.State.ASK_PIN,
remoting.HostSetupFlow.State.STARTING_HOST,
remoting.HostSetupFlow.State.HOST_STARTED];
@@ -231,8 +232,12 @@ remoting.HostSetupDialog.prototype.showForStartWithToken_ =
state != remoting.HostController.State.NOT_INSTALLED &&
state != remoting.HostController.State.INSTALLING;
- if (navigator.platform.indexOf('Mac') != -1 && !installed) {
- flow.unshift(remoting.HostSetupFlow.State.INSTALL_HOST);
+ // Skip the installation step when the host is already installed or when using
+ // NPAPI plugin on Windows (because on Windows the plugin takes care of
+ // installation).
+ if (installed || (navigator.platform == 'Win32' &&
+ this.hostController_.usingNpapiPlugin())) {
+ flow.shift();
}
this.startNewFlow_(flow);
@@ -325,8 +330,7 @@ remoting.HostSetupDialog.prototype.updateState_ = function() {
remoting.setMode(remoting.AppMode.HOST_SETUP_ASK_PIN);
} else if (state == remoting.HostSetupFlow.State.INSTALL_HOST) {
remoting.setMode(remoting.AppMode.HOST_SETUP_INSTALL);
- window.location =
- 'https://dl.google.com/chrome-remote-desktop/chromeremotedesktop.dmg';
+ this.installHost_();
} else if (state == remoting.HostSetupFlow.State.STARTING_HOST) {
showProcessingMessage(/*i18n-content*/'HOST_SETUP_STARTING');
this.startHost_();
@@ -357,6 +361,36 @@ remoting.HostSetupDialog.prototype.updateState_ = function() {
};
/**
+ * Installs Host component.
+ */
+remoting.HostSetupDialog.prototype.installHost_ = function() {
+ var hostPackageUrl = '';
+ switch (navigator.platform) {
+ case 'Win32':
+ hostPackageUrl = 'http://dl.google.com/dl/edgedl/chrome-remote-desktop/chromeremotedesktophost.msi';
+ break;
+ case 'MacIntel':
+ hostPackageUrl = 'https://dl.google.com/chrome-remote-desktop/chromeremotedesktop.dmg';
+ break;
+ case 'Linux x86_64':
+ hostPackageUrl = 'https://dl.google.com/linux/direct/chrome-remote-desktop_current_amd64.deb';
+ break;
+ case 'Linux i386':
+ hostPackageUrl = 'https://dl.google.com/linux/direct/chrome-remote-desktop_current_i386.deb';
+ break;
+ default:
+ // We never expect to get in this state. Host controls should not be shown
+ // on unsupported platform.
+ this.flow_.switchToErrorState(remoting.Error.UNEXPECTED);
+ this.updateState_();
+ return;
+ }
+
+ // Start downloading the package.
+ window.location = hostPackageUrl;
+}
+
+/**
* Registers and starts the host.
*/
remoting.HostSetupDialog.prototype.startHost_ = function() {
« no previous file with comments | « remoting/webapp/host_native_messaging.js ('k') | remoting/webapp/remoting.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698