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 /** | 5 /** |
6 * This view displays information on ChromeOS specific features. | 6 * This view displays information on ChromeOS specific features. |
7 */ | 7 */ |
8 var CrosView = (function() { | 8 var CrosView = (function() { |
9 'use strict'; | 9 'use strict'; |
10 | 10 |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 */ | 103 */ |
104 function setParseStatus_(error) { | 104 function setParseStatus_(error) { |
105 var parseStatus = $(CrosView.PARSE_STATUS_ID); | 105 var parseStatus = $(CrosView.PARSE_STATUS_ID); |
106 parseStatus.hidden = false; | 106 parseStatus.hidden = false; |
107 parseStatus.textContent = error ? | 107 parseStatus.textContent = error ? |
108 'ONC file parse failed: ' + error : 'ONC file successfully parsed'; | 108 'ONC file parse failed: ' + error : 'ONC file successfully parsed'; |
109 reset_(); | 109 reset_(); |
110 } | 110 } |
111 | 111 |
112 /** | 112 /** |
| 113 * Set storing debug logs status. |
| 114 * |
| 115 * @private |
| 116 */ |
| 117 function setStoreDebugLogsStatus_(status) { |
| 118 $(CrosView.STORE_DEBUG_LOGS_STATUS_ID).innerText = status; |
| 119 } |
| 120 |
| 121 /** |
| 122 * Set status for current debug mode. |
| 123 * |
| 124 * @private |
| 125 */ |
| 126 function setNetworkDebugModeStatus_(status) { |
| 127 $(CrosView.DEBUG_STATUS_ID).innerText = status; |
| 128 } |
| 129 |
| 130 /** |
113 * An event listener for the file selection field. | 131 * An event listener for the file selection field. |
114 * | 132 * |
115 * @private | 133 * @private |
116 */ | 134 */ |
117 function handleFileChangeEvent_(event) { | 135 function handleFileChangeEvent_(event) { |
118 clearParseStatus_(); | 136 clearParseStatus_(); |
119 var file = event.target.files[0]; | 137 var file = event.target.files[0]; |
120 var reader = new FileReader(); | 138 var reader = new FileReader(); |
121 reader.onloadend = function(e) { | 139 reader.onloadend = function(e) { |
122 setFileContent_(reader.result); | 140 setFileContent_(reader.result); |
123 }; | 141 }; |
124 reader.readAsText(file); | 142 reader.readAsText(file); |
125 } | 143 } |
126 | 144 |
127 /** | 145 /** |
128 * Set storing debug logs status. | |
129 * | |
130 * @private | |
131 */ | |
132 function setStoreDebugLogsStatus_(status) { | |
133 $(CrosView.STORE_DEBUG_LOGS_STATUS_ID).innerText = status; | |
134 } | |
135 | |
136 /** | |
137 * Add event listeners for the file selection, passcode input | 146 * Add event listeners for the file selection, passcode input |
138 * fields and for the button for debug logs storing. | 147 * fields, for the button for debug logs storing and for buttons |
| 148 * for debug mode selection. |
139 * | 149 * |
140 * @private | 150 * @private |
141 */ | 151 */ |
142 function addEventListeners_() { | 152 function addEventListeners_() { |
143 $(CrosView.IMPORT_ONC_ID).addEventListener('change', | 153 $(CrosView.IMPORT_ONC_ID).addEventListener('change', |
144 handleFileChangeEvent_, | 154 handleFileChangeEvent_, |
145 false); | 155 false); |
146 | 156 |
147 $(CrosView.PASSCODE_INPUT_ID).addEventListener('change', function(event) { | 157 $(CrosView.PASSCODE_INPUT_ID).addEventListener('change', function(event) { |
148 setPasscode_(this.value); | 158 setPasscode_(this.value); |
149 }, false); | 159 }, false); |
150 | 160 |
151 $(CrosView.STORE_DEBUG_LOGS_ID).addEventListener('click', function(event) { | 161 $(CrosView.STORE_DEBUG_LOGS_ID).addEventListener('click', function(event) { |
152 $(CrosView.STORE_DEBUG_LOGS_STATUS_ID).innerText = ''; | 162 $(CrosView.STORE_DEBUG_LOGS_STATUS_ID).innerText = ''; |
153 g_browser.storeDebugLogs(); | 163 g_browser.storeDebugLogs(); |
154 }, false); | 164 }, false); |
| 165 |
| 166 $(CrosView.DEBUG_WIFI_ID).addEventListener('click', function(event) { |
| 167 setNetworkDebugMode_('wifi'); |
| 168 }, false); |
| 169 $(CrosView.DEBUG_ETHERNET_ID).addEventListener('click', function(event) { |
| 170 setNetworkDebugMode_('ethernet'); |
| 171 }, false); |
| 172 $(CrosView.DEBUG_CELLULAR_ID).addEventListener('click', function(event) { |
| 173 setNetworkDebugMode_('cellular'); |
| 174 }, false); |
| 175 $(CrosView.DEBUG_NONE_ID).addEventListener('click', function(event) { |
| 176 setNetworkDebugMode_('none'); |
| 177 }, false); |
155 } | 178 } |
156 | 179 |
157 /** | 180 /** |
158 * Reset fileContent and passcode vars. | 181 * Reset fileContent and passcode vars. |
159 * | 182 * |
160 * @private | 183 * @private |
161 */ | 184 */ |
162 function reset_() { | 185 function reset_() { |
163 fileContent = undefined; | 186 fileContent = undefined; |
164 passcode = ''; | 187 passcode = ''; |
165 $(CrosView.PASSCODE_ID).hidden = true; | 188 $(CrosView.PASSCODE_ID).hidden = true; |
166 } | 189 } |
167 | 190 |
168 /** | 191 /** |
| 192 * Enables or disables debug mode for a specified subsystem. |
| 193 * |
| 194 * @private |
| 195 */ |
| 196 function setNetworkDebugMode_(subsystem) { |
| 197 $(CrosView.DEBUG_STATUS_ID).innerText = ''; |
| 198 g_browser.setNetworkDebugMode(subsystem); |
| 199 } |
| 200 |
| 201 /** |
169 * @constructor | 202 * @constructor |
170 * @extends {DivView} | 203 * @extends {DivView} |
171 */ | 204 */ |
172 function CrosView() { | 205 function CrosView() { |
173 assertFirstConstructorCall(CrosView); | 206 assertFirstConstructorCall(CrosView); |
174 | 207 |
175 // Call superclass's constructor. | 208 // Call superclass's constructor. |
176 DivView.call(this, CrosView.MAIN_BOX_ID); | 209 DivView.call(this, CrosView.MAIN_BOX_ID); |
177 | 210 |
178 g_browser.addCrosONCFileParseObserver(this); | 211 g_browser.addCrosONCFileParseObserver(this); |
179 g_browser.addStoreDebugLogsObserver(this); | 212 g_browser.addStoreDebugLogsObserver(this); |
| 213 g_browser.addSetNetworkDebugModeObserver(this); |
180 addEventListeners_(); | 214 addEventListeners_(); |
181 } | 215 } |
182 | 216 |
183 // ID for special HTML element in category_tabs.html | 217 // ID for special HTML element in category_tabs.html |
184 CrosView.TAB_HANDLE_ID = 'tab-handle-chromeos'; | 218 CrosView.TAB_HANDLE_ID = 'tab-handle-chromeos'; |
185 | 219 |
186 CrosView.MAIN_BOX_ID = 'chromeos-view-tab-content'; | 220 CrosView.MAIN_BOX_ID = 'chromeos-view-tab-content'; |
187 CrosView.IMPORT_DIV_ID = 'chromeos-view-import-div'; | 221 CrosView.IMPORT_DIV_ID = 'chromeos-view-import-div'; |
188 CrosView.IMPORT_ONC_ID = 'chromeos-view-import-onc'; | 222 CrosView.IMPORT_ONC_ID = 'chromeos-view-import-onc'; |
189 CrosView.PASSCODE_ID = 'chromeos-view-password-div'; | 223 CrosView.PASSCODE_ID = 'chromeos-view-password-div'; |
190 CrosView.PASSCODE_INPUT_ID = 'chromeos-view-onc-password'; | 224 CrosView.PASSCODE_INPUT_ID = 'chromeos-view-onc-password'; |
191 CrosView.PARSE_STATUS_ID = 'chromeos-view-parse-status'; | 225 CrosView.PARSE_STATUS_ID = 'chromeos-view-parse-status'; |
192 CrosView.STORE_DEBUG_LOGS_ID = 'chromeos-view-store-debug-logs'; | 226 CrosView.STORE_DEBUG_LOGS_ID = 'chromeos-view-store-debug-logs'; |
193 CrosView.STORE_DEBUG_LOGS_STATUS_ID = 'chromeos-view-store-debug-logs-status'; | 227 CrosView.STORE_DEBUG_LOGS_STATUS_ID = 'chromeos-view-store-debug-logs-status'; |
| 228 CrosView.DEBUG_WIFI_ID = 'chromeos-view-network-debugging-wifi'; |
| 229 CrosView.DEBUG_ETHERNET_ID = 'chromeos-view-network-debugging-ethernet'; |
| 230 CrosView.DEBUG_CELLULAR_ID = 'chromeos-view-network-debugging-cellular'; |
| 231 CrosView.DEBUG_NONE_ID = 'chromeos-view-network-debugging-none'; |
| 232 CrosView.DEBUG_STATUS_ID = 'chromeos-view-network-debugging-status'; |
194 | 233 |
195 cr.addSingletonGetter(CrosView); | 234 cr.addSingletonGetter(CrosView); |
196 | 235 |
197 CrosView.prototype = { | 236 CrosView.prototype = { |
198 // Inherit from DivView. | 237 // Inherit from DivView. |
199 __proto__: DivView.prototype, | 238 __proto__: DivView.prototype, |
200 | 239 |
201 onONCFileParse: setParseStatus_, | 240 onONCFileParse: setParseStatus_, |
202 onStoreDebugLogs: setStoreDebugLogsStatus_, | 241 onStoreDebugLogs: setStoreDebugLogsStatus_, |
| 242 onSetNetworkDebugMode: setNetworkDebugModeStatus_, |
203 }; | 243 }; |
204 | 244 |
205 return CrosView; | 245 return CrosView; |
206 })(); | 246 })(); |
OLD | NEW |