Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 // Redefine '$' here rather than including 'cr.js', since this is | 5 // Redefine '$' here rather than including 'cr.js', since this is |
| 6 // the only function needed. This allows this file to be loaded | 6 // the only function needed. This allows this file to be loaded |
| 7 // in a browser directly for layout and some testing purposes. | 7 // in a browser directly for layout and some testing purposes. |
| 8 var $ = function(id) { return document.getElementById(id); }; | 8 var $ = function(id) { return document.getElementById(id); }; |
| 9 | 9 |
| 10 var currentTreatment = 0; | 10 var currentTreatment = 0; |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 84 } else if (e.keyCode == '39' || e.keyCode == '40') { | 84 } else if (e.keyCode == '39' || e.keyCode == '40') { |
| 85 selectedTreatment = currentTreatment + 1; | 85 selectedTreatment = currentTreatment + 1; |
| 86 if (selectedTreatment >= treatments.length) | 86 if (selectedTreatment >= treatments.length) |
| 87 selectedTreatment = treatments.length - 1; | 87 selectedTreatment = treatments.length - 1; |
| 88 } | 88 } |
| 89 | 89 |
| 90 if (selectedTreatment != currentTreatment) | 90 if (selectedTreatment != currentTreatment) |
| 91 applyTreatment(selectedTreatment); | 91 applyTreatment(selectedTreatment); |
| 92 } | 92 } |
| 93 | 93 |
| 94 function applyTreatment(treatment_number) { | 94 function applyTreatment(treatmentNumber) { |
|
Dan Beam
2014/12/10 19:19:48
jsVarsLikeThis
| |
| 95 if (treatment_number < 0) | 95 if (treatmentNumber < 0) |
| 96 treatment_number = 0; | 96 treatmentNumber = 0; |
| 97 if (treatment_number >= treatments.length) | 97 if (treatmentNumber >= treatments.length) |
| 98 treatment_number = treatments.length; | 98 treatmentNumber = treatments.length; |
| 99 | 99 |
| 100 $('treatment' + currentTreatment).className = 'treatment'; | 100 $('treatment' + currentTreatment).className = 'treatment'; |
| 101 currentTreatment = treatment_number; | 101 currentTreatment = treatmentNumber; |
| 102 $('treatment' + currentTreatment).className = 'selected treatment'; | 102 $('treatment' + currentTreatment).className = 'selected treatment'; |
| 103 | 103 |
| 104 for (var i = 0; i < treatments[treatment_number].length; i++) { | 104 for (var i = 0; i < treatments[treatmentNumber].length; i++) { |
| 105 var key = treatments[treatment_number][i].key; | 105 var key = treatments[treatmentNumber][i].key; |
| 106 var value = treatments[treatment_number][i].value; | 106 var value = treatments[treatmentNumber][i].value; |
| 107 setPreferenceValue(key, value); | 107 setPreferenceValue(key, value); |
| 108 } | 108 } |
| 109 } | 109 } |
| 110 | 110 |
| 111 function initialize() { | 111 function initialize() { |
| 112 // Parse the experiment string in the URL. | 112 // Parse the experiment string in the URL. |
| 113 treatments = parseURL(document.URL); | 113 treatments = parseURL(document.URL); |
| 114 | 114 |
| 115 // Update the available treatments list. | 115 // Update the available treatments list. |
| 116 for (var i = 0; i < treatments.length; i++) { | 116 for (var i = 0; i < treatments.length; i++) { |
| 117 var newTreatment = $('treatment-template').cloneNode(true); | 117 var newTreatment = $('treatment-template').cloneNode(true); |
| 118 newTreatment.id = 'treatment' + i.toString(); | 118 newTreatment.id = 'treatment' + i.toString(); |
| 119 newTreatment.removeAttribute('hidden'); | 119 newTreatment.removeAttribute('hidden'); |
| 120 newTreatment.onclick = function() { | 120 newTreatment.onclick = function() { |
| 121 applyTreatment(parseInt(this.textContent)); | 121 applyTreatment(parseInt(this.textContent)); |
| 122 }; | 122 }; |
| 123 newTreatment.textContent = i.toString(); | 123 newTreatment.textContent = i.toString(); |
| 124 $('treatment-list').appendChild(newTreatment); | 124 $('treatment-list').appendChild(newTreatment); |
| 125 } | 125 } |
| 126 | 126 |
| 127 if (treatments.length > 0) { | 127 if (treatments.length > 0) { |
| 128 // Store a copy of the settings right now so you can reset them afterwards. | 128 // Store a copy of the settings right now so you can reset them afterwards. |
| 129 for (var i = 0; i < treatments[0].length; i++) | 129 for (var i = 0; i < treatments[0].length; i++) |
| 130 backupPreferenceValue(treatments[0][i].key); | 130 backupPreferenceValue(treatments[0][i].key); |
| 131 | 131 |
| 132 // Select Treatment 0 to start | 132 // Select Treatment 0 to start |
| 133 applyTreatment(0); | 133 applyTreatment(0); |
| 134 } else { | 134 } else { |
| 135 // Make the error message visible and hide everything else | 135 // Make the error message visible and hide everything else |
| 136 $('invalid_treatment_info').removeAttribute('hidden'); | 136 $('invalid-treatment-info').hidden = false; |
|
Dan Beam
2014/12/10 19:19:48
we do this a lot more
| |
| 137 var div = $('valid_treatment_info'); | 137 var div = $('valid-treatment-info'); |
| 138 div.parentNode.removeChild(div); | 138 div.parentNode.removeChild(div); |
| 139 } | 139 } |
| 140 } | 140 } |
| 141 | 141 |
| 142 /** | 142 /** |
| 143 * A key handler so the user can use the arrow keys to select their treatments. | 143 * A key handler so the user can use the arrow keys to select their treatments. |
| 144 * This should fire any time they press a key | 144 * This should fire any time they press a key |
| 145 */ | 145 */ |
| 146 document.onkeydown = handleKeyPress; | 146 document.onkeydown = handleKeyPress; |
| 147 document.addEventListener('DOMContentLoaded', initialize); | 147 document.addEventListener('DOMContentLoaded', initialize); |
| OLD | NEW |