OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // Maximum numer of lines to record in the debug log. | |
6 // Only the most recent <n> lines are displayed. | |
7 var MAX_DEBUG_LOG_SIZE = 1000; | |
8 | |
9 var remoting = chrome.extension.getBackgroundPage().remoting; | 5 var remoting = chrome.extension.getBackgroundPage().remoting; |
10 | 6 |
11 // Chromoting session API version (for this javascript). | 7 // Chromoting session API version (for this javascript). |
12 // This is compared with the plugin API version to verify that they are | 8 // This is compared with the plugin API version to verify that they are |
13 // compatible. | 9 // compatible. |
14 remoting.apiVersion = 2; | 10 remoting.apiVersion = 2; |
15 | 11 |
16 // The oldest API version that we support. | 12 // The oldest API version that we support. |
17 // This will differ from the |apiVersion| if we maintain backward | 13 // This will differ from the |apiVersion| if we maintain backward |
18 // compatibility with older API versions. | 14 // compatibility with older API versions. |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 'oauth2:' + remoting.oauth2.getAccessToken(), remoting.accessCode); | 159 'oauth2:' + remoting.oauth2.getAccessToken(), remoting.accessCode); |
164 } | 160 } |
165 } | 161 } |
166 } else { | 162 } else { |
167 addToDebugLog('ERROR: remoting plugin not loaded'); | 163 addToDebugLog('ERROR: remoting plugin not loaded'); |
168 setClientStateMessage('Plugin not loaded'); | 164 setClientStateMessage('Plugin not loaded'); |
169 } | 165 } |
170 | 166 |
171 } | 167 } |
172 | 168 |
173 function toggleDebugLog() { | |
174 debugLog = document.getElementById('debug-log'); | |
175 toggleButton = document.getElementById('debug-log-toggle'); | |
176 | |
177 if (!debugLog.style.display || debugLog.style.display == 'none') { | |
178 debugLog.style.display = 'block'; | |
179 toggleButton.value = 'Hide Debug Log'; | |
180 } else { | |
181 debugLog.style.display = 'none'; | |
182 toggleButton.value = 'Show Debug Log'; | |
183 } | |
184 } | |
185 | |
186 function toggleScaleToFit() { | 169 function toggleScaleToFit() { |
187 remoting.scaleToFit = !remoting.scaleToFit; | 170 remoting.scaleToFit = !remoting.scaleToFit; |
188 document.getElementById('scale-to-fit-toggle').value = | 171 document.getElementById('scale-to-fit-toggle').value = |
189 remoting.scaleToFit ? 'No scaling' : 'Scale to fit'; | 172 remoting.scaleToFit ? 'No scaling' : 'Scale to fit'; |
190 remoting.plugin.setScaleToFit(remoting.scaleToFit); | 173 remoting.plugin.setScaleToFit(remoting.scaleToFit); |
191 } | 174 } |
192 | 175 |
193 /** | 176 /** |
194 * This is the callback method that the plugin calls to request username and | 177 * This is the callback method that the plugin calls to request username and |
195 * password for logging into the remote host. For Me2Mom we are pre-authorized | 178 * password for logging into the remote host. For Me2Mom we are pre-authorized |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
306 } | 289 } |
307 | 290 |
308 /** | 291 /** |
309 * This is that callback that the plugin invokes to indicate that there | 292 * This is that callback that the plugin invokes to indicate that there |
310 * is additional debug log info to display. | 293 * is additional debug log info to display. |
311 */ | 294 */ |
312 function debugInfoCallback(msg) { | 295 function debugInfoCallback(msg) { |
313 addToDebugLog('plugin: ' + msg); | 296 addToDebugLog('plugin: ' + msg); |
314 } | 297 } |
315 | 298 |
316 /** | |
317 * Add the given message to the debug log. | |
318 * | |
319 * @param {string} message The debug info to add to the log. | |
320 */ | |
321 function addToDebugLog(message) { | |
322 var debugLog = document.getElementById('debug-log'); | |
323 | |
324 // Remove lines from top if we've hit our max log size. | |
325 if (debugLog.childNodes.length == MAX_DEBUG_LOG_SIZE) { | |
326 debugLog.removeChild(debugLog.firstChild); | |
327 } | |
328 | |
329 // Add the new <p> to the end of the debug log. | |
330 var p = document.createElement('p'); | |
331 p.appendChild(document.createTextNode(message)); | |
332 debugLog.appendChild(p); | |
333 | |
334 // Scroll to bottom of div | |
335 debugLog.scrollTop = debugLog.scrollHeight; | |
336 } | |
337 | |
338 function updateStatusBarStats() { | 299 function updateStatusBarStats() { |
339 if (remoting.plugin.status != remoting.plugin.STATUS_CONNECTED) | 300 if (remoting.plugin.status != remoting.plugin.STATUS_CONNECTED) |
340 return; | 301 return; |
341 var videoBandwidth = remoting.plugin.videoBandwidth; | 302 var videoBandwidth = remoting.plugin.videoBandwidth; |
342 var videoCaptureLatency = remoting.plugin.videoCaptureLatency; | 303 var videoCaptureLatency = remoting.plugin.videoCaptureLatency; |
343 var videoEncodeLatency = remoting.plugin.videoEncodeLatency; | 304 var videoEncodeLatency = remoting.plugin.videoEncodeLatency; |
344 var videoDecodeLatency = remoting.plugin.videoDecodeLatency; | 305 var videoDecodeLatency = remoting.plugin.videoDecodeLatency; |
345 var videoRenderLatency = remoting.plugin.videoRenderLatency; | 306 var videoRenderLatency = remoting.plugin.videoRenderLatency; |
346 | 307 |
347 var units = ''; | 308 var units = ''; |
(...skipping 13 matching lines...) Expand all Loading... |
361 setClientStateMessage( | 322 setClientStateMessage( |
362 'Bandwidth: ' + videoBandwidth.toFixed(2) + units + | 323 'Bandwidth: ' + videoBandwidth.toFixed(2) + units + |
363 ', Capture: ' + videoCaptureLatency.toFixed(2) + 'ms' + | 324 ', Capture: ' + videoCaptureLatency.toFixed(2) + 'ms' + |
364 ', Encode: ' + videoEncodeLatency.toFixed(2) + 'ms' + | 325 ', Encode: ' + videoEncodeLatency.toFixed(2) + 'ms' + |
365 ', Decode: ' + videoDecodeLatency.toFixed(2) + 'ms' + | 326 ', Decode: ' + videoDecodeLatency.toFixed(2) + 'ms' + |
366 ', Render: ' + videoRenderLatency.toFixed(2) + 'ms'); | 327 ', Render: ' + videoRenderLatency.toFixed(2) + 'ms'); |
367 | 328 |
368 // Update the stats once per second. | 329 // Update the stats once per second. |
369 window.setTimeout('updateStatusBarStats()', 1000); | 330 window.setTimeout('updateStatusBarStats()', 1000); |
370 } | 331 } |
OLD | NEW |