OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 cr.define('options', function() { | 5 cr.define('options', function() { |
6 var OptionsPage = options.OptionsPage; | 6 var OptionsPage = options.OptionsPage; |
7 var Page = cr.ui.pageManager.Page; | 7 var Page = cr.ui.pageManager.Page; |
8 var PageManager = cr.ui.pageManager.PageManager; | 8 var PageManager = cr.ui.pageManager.PageManager; |
9 var ArrayDataModel = cr.ui.ArrayDataModel; | 9 var ArrayDataModel = cr.ui.ArrayDataModel; |
10 var RepeatingButton = cr.ui.RepeatingButton; | 10 var RepeatingButton = cr.ui.RepeatingButton; |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 // text" where both starting text and ending text may or may not be | 368 // text" where both starting text and ending text may or may not be |
369 // present, but the split should always be in three pieces. | 369 // present, but the split should always be in three pieces. |
370 var restartElements = | 370 var restartElements = |
371 $('metrics-reporting-reset-restart').querySelectorAll('*'); | 371 $('metrics-reporting-reset-restart').querySelectorAll('*'); |
372 for (var i = 0; i < restartTextFragments.length; i++) { | 372 for (var i = 0; i < restartTextFragments.length; i++) { |
373 restartElements[i].textContent = restartTextFragments[i]; | 373 restartElements[i].textContent = restartTextFragments[i]; |
374 } | 374 } |
375 restartElements[1].onclick = function(event) { | 375 restartElements[1].onclick = function(event) { |
376 chrome.send('restartBrowser'); | 376 chrome.send('restartBrowser'); |
377 }; | 377 }; |
| 378 // Attach the listener for updating the checkbox and restart button. |
378 var updateMetricsRestartButton = function() { | 379 var updateMetricsRestartButton = function() { |
379 $('metrics-reporting-reset-restart').hidden = | 380 $('metrics-reporting-reset-restart').hidden = |
380 loadTimeData.getBoolean('metricsReportingEnabledAtStart') == | 381 loadTimeData.getBoolean('metricsReportingEnabledAtStart') == |
381 $('metricsReportingEnabled').checked; | 382 $('metricsReportingEnabled').checked; |
382 }; | 383 }; |
383 Preferences.getInstance().addEventListener( | 384 $('metricsReportingEnabled').onclick = function(event) { |
384 $('metricsReportingEnabled').getAttribute('pref'), | 385 chrome.send('metricsReportingCheckboxChanged', |
385 updateMetricsRestartButton); | 386 [Boolean(event.currentTarget.checked)]); |
| 387 updateMetricsRestartButton(); |
| 388 }; |
| 389 $('metricsReportingEnabled').checked = |
| 390 loadTimeData.getBoolean('metricsReportingEnabledAtStart'); |
386 updateMetricsRestartButton(); | 391 updateMetricsRestartButton(); |
387 } | 392 } |
388 $('networkPredictionOptions').onchange = function(event) { | 393 $('networkPredictionOptions').onchange = function(event) { |
389 var value = (event.target.checked ? | 394 var value = (event.target.checked ? |
390 NetworkPredictionOptions.WIFI_ONLY : | 395 NetworkPredictionOptions.WIFI_ONLY : |
391 NetworkPredictionOptions.NEVER); | 396 NetworkPredictionOptions.NEVER); |
392 var metric = event.target.metric; | 397 var metric = event.target.metric; |
393 Preferences.setIntegerPref( | 398 Preferences.setIntegerPref( |
394 'net.network_prediction_options', | 399 'net.network_prediction_options', |
395 value, | 400 value, |
(...skipping 1095 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1491 $('factory-reset-section').hidden = false; | 1496 $('factory-reset-section').hidden = false; |
1492 }, | 1497 }, |
1493 | 1498 |
1494 /** | 1499 /** |
1495 * Set the checked state of the metrics reporting checkbox. | 1500 * Set the checked state of the metrics reporting checkbox. |
1496 * @private | 1501 * @private |
1497 */ | 1502 */ |
1498 setMetricsReportingCheckboxState_: function(checked, disabled) { | 1503 setMetricsReportingCheckboxState_: function(checked, disabled) { |
1499 $('metricsReportingEnabled').checked = checked; | 1504 $('metricsReportingEnabled').checked = checked; |
1500 $('metricsReportingEnabled').disabled = disabled; | 1505 $('metricsReportingEnabled').disabled = disabled; |
| 1506 |
| 1507 // If checkbox gets disabled then add an attribute for displaying the |
| 1508 // special icon. The opposite shouldn't be possible to do. |
| 1509 if (disabled) { |
| 1510 $('metrics-reporting-disabled-icon').setAttribute('controlled-by', |
| 1511 'policy'); |
| 1512 } |
1501 }, | 1513 }, |
1502 | 1514 |
1503 /** | 1515 /** |
1504 * @private | 1516 * @private |
1505 */ | 1517 */ |
1506 setMetricsReportingSettingVisibility_: function(visible) { | 1518 setMetricsReportingSettingVisibility_: function(visible) { |
1507 if (visible) | 1519 if (visible) |
1508 $('metricsReportingSetting').style.display = 'block'; | 1520 $('metricsReportingSetting').style.display = 'block'; |
1509 else | 1521 else |
1510 $('metricsReportingSetting').style.display = 'none'; | 1522 $('metricsReportingSetting').style.display = 'none'; |
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1994 } | 2006 } |
1995 button.textContent = loadTimeData.getString(strId); | 2007 button.textContent = loadTimeData.getString(strId); |
1996 }; | 2008 }; |
1997 } | 2009 } |
1998 | 2010 |
1999 // Export | 2011 // Export |
2000 return { | 2012 return { |
2001 BrowserOptions: BrowserOptions | 2013 BrowserOptions: BrowserOptions |
2002 }; | 2014 }; |
2003 }); | 2015 }); |
OLD | NEW |