Index: chrome/browser/resources/options/browser_options.js |
diff --git a/chrome/browser/resources/options/browser_options.js b/chrome/browser/resources/options/browser_options.js |
index aea83e6ea6f85d6c80d20e75eed3bac97f7a7da1..b442047c6e74f6be890f46a1c15861c3bfa8e0d3 100644 |
--- a/chrome/browser/resources/options/browser_options.js |
+++ b/chrome/browser/resources/options/browser_options.js |
@@ -38,6 +38,15 @@ cr.define('options', function() { |
return section.style.height == '' || section.style.height == '0px'; |
}; |
+ /** |
+ * Callback function after status of MetricsReporting checkbox failed to be |
+ * changed (for non ChromeOS). |
+ */ |
+ BrowserOptions.reverseMetricsReportingState = function() { |
+ $('metricsReportingEnabled').checked = |
+ !$('metricsReportingEnabled').checked; |
+ }; |
+ |
BrowserOptions.prototype = { |
__proto__: Page.prototype, |
@@ -388,14 +397,19 @@ cr.define('options', function() { |
restartElements[1].onclick = function(event) { |
chrome.send('restartBrowser'); |
}; |
+ // Attach the listener for updating the checkbox and restart button. |
var updateMetricsRestartButton = function() { |
$('metrics-reporting-reset-restart').hidden = |
loadTimeData.getBoolean('metricsReportingEnabledAtStart') == |
$('metricsReportingEnabled').checked; |
}; |
- Preferences.getInstance().addEventListener( |
- $('metricsReportingEnabled').getAttribute('pref'), |
- updateMetricsRestartButton); |
+ $('metricsReportingEnabled').onclick = function(event) { |
+ chrome.send('metricsReportingCheckboxChanged', |
+ [Boolean(event.currentTarget.checked)]); |
+ updateMetricsRestartButton(); |
+ }; |
+ $('metricsReportingEnabled').checked = |
+ loadTimeData.getBoolean('metricsReportingEnabledAtStart'); |
updateMetricsRestartButton(); |
} |
$('networkPredictionOptions').onchange = function(event) { |
@@ -1519,6 +1533,10 @@ cr.define('options', function() { |
setMetricsReportingCheckboxState_: function(checked, disabled) { |
$('metricsReportingEnabled').checked = checked; |
$('metricsReportingEnabled').disabled = disabled; |
+ if (disabled) { |
+ $('metrics-reporting-disabled-icon').setAttribute('controlled-by', |
+ 'policy'); |
+ } |
}, |
/** |