Index: remoting/webapp/host_setup_dialog.js |
diff --git a/remoting/webapp/host_setup_dialog.js b/remoting/webapp/host_setup_dialog.js |
index 1e80910434f264103280808bec8e6d1f2fdef5bc..c30c76b9a0147ca3671fcb084394c1f98d44a987 100644 |
--- a/remoting/webapp/host_setup_dialog.js |
+++ b/remoting/webapp/host_setup_dialog.js |
@@ -17,6 +17,7 @@ remoting.HostSetupFlow = function(sequence) { |
this.currentStep_ = 0; |
this.state_ = sequence[0]; |
this.pin = ''; |
+ this.consent = false; |
}; |
/** @enum {number} */ |
@@ -136,6 +137,10 @@ remoting.HostSetupDialog = function(hostController) { |
this.pinEntry_.addEventListener('keypress', onDaemonPinEntryKeyPress, false); |
this.pinEntry_.addEventListener('keypress', noDigitsInPin, false); |
this.pinConfirm_.addEventListener('keypress', noDigitsInPin, false); |
+ |
+ this.usageStats_ = document.getElementById('usagestats-consent'); |
+ this.usageStatsCheckbox_ = |
+ document.getElementById('usagestats-consent-checkbox'); |
}; |
/** |
@@ -145,6 +150,25 @@ remoting.HostSetupDialog = function(hostController) { |
* @return {void} Nothing. |
*/ |
remoting.HostSetupDialog.prototype.showForStart = function() { |
+ /** @type {remoting.HostSetupDialog} */ |
+ var that = this; |
+ |
+ /** |
+ * @param {boolean} supported True if crash dump reporting is supported by |
+ * the host. |
+ * @param {boolean} allowed True if crash dump reporting is allowed. |
+ * @param {boolean} set_by_policy True if crash dump reporting is controlled |
+ * by policy. |
+ */ |
+ var onGetConsent = function(supported, allowed, set_by_policy) { |
+ that.usageStats_.hidden = !supported; |
+ that.usageStatsCheckbox_.checked = allowed; |
+ that.usageStatsCheckbox_.disabled = set_by_policy; |
+ }; |
+ this.usageStats_.hidden = false; |
+ this.usageStatsCheckbox_.checked = false; |
Jamie
2012/06/21 23:49:31
To minimize potentially jarring changes after the
alexeypa (please no reviews)
2012/06/22 00:09:27
Done.
|
+ this.hostController_.getConsent(onGetConsent); |
+ |
var flow = [ |
remoting.HostSetupFlow.State.ASK_PIN, |
remoting.HostSetupFlow.State.STARTING_HOST, |
@@ -165,6 +189,7 @@ remoting.HostSetupDialog.prototype.showForStart = function() { |
* @return {void} Nothing. |
*/ |
remoting.HostSetupDialog.prototype.showForPin = function() { |
+ this.usageStats_.hidden = true; |
this.startNewFlow_( |
[remoting.HostSetupFlow.State.ASK_PIN, |
remoting.HostSetupFlow.State.UPDATING_PIN, |
@@ -296,7 +321,7 @@ remoting.HostSetupDialog.prototype.startHost_ = function() { |
flow.switchToNextStep(result); |
that.updateState_(); |
} |
- this.hostController_.start(this.flow_.pin, onHostStarted); |
+ this.hostController_.start(this.flow_.pin, this.flow_.consent, onHostStarted); |
}; |
remoting.HostSetupDialog.prototype.updatePin_ = function() { |
@@ -367,6 +392,8 @@ remoting.HostSetupDialog.prototype.onPinSubmit_ = function() { |
} |
this.pinErrorDiv_.hidden = true; |
this.flow_.pin = pin1; |
+ this.flow_.consent = !this.usageStats_.hidden && |
+ (this.usageStatsCheckbox_.value == "on"); |
this.flow_.switchToNextStep(remoting.HostController.AsyncResult.OK); |
this.updateState_(); |
}; |