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

Side by Side Diff: remoting/webapp/host_install_dialog.js

Issue 291133004: Automatic host installation for IT2Me on Windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressing CR feedback. Created 6 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 'use strict'; 5 'use strict';
6 6
7 /** @suppress {duplicate} */ 7 /** @suppress {duplicate} */
8 var remoting = remoting || {}; 8 var remoting = remoting || {};
9 9
10 /** 10 /**
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 'chromeremotedesktop.dmg', 42 'chromeremotedesktop.dmg',
43 'Linux x86_64' : 'https://dl.google.com/linux/direct/' + 43 'Linux x86_64' : 'https://dl.google.com/linux/direct/' +
44 'chrome-remote-desktop_current_amd64.deb', 44 'chrome-remote-desktop_current_amd64.deb',
45 'Linux i386' : 'https://dl.google.com/linux/direct/' + 45 'Linux i386' : 'https://dl.google.com/linux/direct/' +
46 'chrome-remote-desktop_current_i386.deb' 46 'chrome-remote-desktop_current_i386.deb'
47 }; 47 };
48 48
49 /** 49 /**
50 * Starts downloading host components and shows installation prompt. 50 * Starts downloading host components and shows installation prompt.
51 * 51 *
52 * @param {remoting.HostController} hostController Used to install the host on 52 * @param {remoting.HostPlugin} hostPlugin Used to install the host on Windows.
53 * Windows.
54 * @param {function(remoting.HostController.AsyncResult):void} onDone Callback 53 * @param {function(remoting.HostController.AsyncResult):void} onDone Callback
55 * called when user clicks Ok, presumably after installing the host. The 54 * called when user clicks Ok, presumably after installing the host. The
56 * handler must verify that the host has been installed and call tryAgain() 55 * handler must verify that the host has been installed and call tryAgain()
57 * otherwise. 56 * otherwise.
58 * @param {function(remoting.Error):void} onError Callback called when user 57 * @param {function(remoting.Error):void} onError Callback called when user
59 * clicks Cancel button or there is some other unexpected error. 58 * clicks Cancel button or there is some other unexpected error.
60 * @return {void} 59 * @return {void}
61 */ 60 */
62 remoting.HostInstallDialog.prototype.show = function( 61 remoting.HostInstallDialog.prototype.show = function(
63 hostController, onDone, onError) { 62 hostPlugin, onDone, onError) {
64 // On Windows, host installation is automatic (handled by the NPAPI plugin) 63 // On Windows, host installation is automatic (handled by the NPAPI plugin)
65 // and we don't show the dialog. On Mac and Linux, we show the dialog and the 64 // and we don't show the dialog. On Mac and Linux, we show the dialog and the
66 // user is expected to manually install the host before clicking OK. 65 // user is expected to manually install the host before clicking OK.
67 // TODO (weitaosu): Make host installation automatic for IT2Me (like Me2Me) on 66 // TODO (weitaosu): Make host installation automatic for IT2Me (like Me2Me) on
68 // Windows. Currently hostController is always null for IT2Me. 67 // Windows. Currently hostController is always null for IT2Me.
69 if (navigator.platform == 'Win32' && hostController != null) { 68 if (navigator.platform == 'Win32' && hostPlugin != null) {
70 hostController.installHost(onDone, onError); 69 // Currently we show two dialogs (each with a UAC prompt) when a user
70 // enables the host for the first time, one for installing the host (by the
71 // plugin) and the other for starting the host (by the native messaging
72 // host). We'd like to reduce it to one but don't have a good solution
73 // right now.
74 // We also show the same message on the two dialogs because. We don't want
75 // to confuse the user by saying "Installing Remote Desktop" because in
76 // their mind "Remote Desktop" (the webapp) has already been installed.
77 remoting.showSetupProcessingMessage(/*i18n-content*/'HOST_SETUP_STARTING');
78
79 hostPlugin.installHost(onDone);
Sergey Ulanov 2014/05/21 16:07:58 This just starts installing the host silently. I p
weitao 2014/05/21 18:04:22 You are right! I had forgot about this after redoi
71 } else { 80 } else {
72 this.continueInstallButton_.addEventListener( 81 this.continueInstallButton_.addEventListener(
73 'click', this.onOkClickedHandler_, false); 82 'click', this.onOkClickedHandler_, false);
74 this.cancelInstallButton_.addEventListener( 83 this.cancelInstallButton_.addEventListener(
75 'click', this.onCancelClickedHandler_, false); 84 'click', this.onCancelClickedHandler_, false);
76 remoting.setMode(remoting.AppMode.HOST_INSTALL_PROMPT); 85 remoting.setMode(remoting.AppMode.HOST_INSTALL_PROMPT);
77 86
78 var hostPackageUrl = 87 var hostPackageUrl =
79 remoting.HostInstallDialog.hostDownloadUrls[navigator.platform]; 88 remoting.HostInstallDialog.hostDownloadUrls[navigator.platform];
80 if (hostPackageUrl === undefined) { 89 if (hostPackageUrl === undefined) {
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 142
134 remoting.HostInstallDialog.prototype.onRetryClicked_ = function() { 143 remoting.HostInstallDialog.prototype.onRetryClicked_ = function() {
135 this.retryInstallButton_.removeEventListener( 144 this.retryInstallButton_.removeEventListener(
136 'click', this.onRetryClickedHandler_.bind(this), false); 145 'click', this.onRetryClickedHandler_.bind(this), false);
137 this.continueInstallButton_.addEventListener( 146 this.continueInstallButton_.addEventListener(
138 'click', this.onOkClickedHandler_, false); 147 'click', this.onOkClickedHandler_, false);
139 this.cancelInstallButton_.addEventListener( 148 this.cancelInstallButton_.addEventListener(
140 'click', this.onCancelClickedHandler_, false); 149 'click', this.onCancelClickedHandler_, false);
141 remoting.setMode(remoting.AppMode.HOST_INSTALL_PROMPT); 150 remoting.setMode(remoting.AppMode.HOST_INSTALL_PROMPT);
142 }; 151 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698