| 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 var ClientRenderer = (function() { | 5 var ClientRenderer = (function() { |
| 6 var ClientRenderer = function() { | 6 var ClientRenderer = function() { |
| 7 this.playerListElement = document.getElementById('player-list'); | 7 this.playerListElement = document.getElementById('player-list'); |
| 8 this.propertiesTable = | 8 this.propertiesTable = |
| 9 document.getElementById('property-table').querySelector('tbody'); | 9 document.getElementById('property-table').querySelector('tbody'); |
| 10 this.logTable = document.getElementById('log').querySelector('tbody'); | 10 this.logTable = document.getElementById('log').querySelector('tbody'); |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 if (player === this.selectedPlayer) { | 115 if (player === this.selectedPlayer) { |
| 116 this.drawProperties_(player.properties); | 116 this.drawProperties_(player.properties); |
| 117 this.drawLog_(); | 117 this.drawLog_(); |
| 118 this.drawGraphs_(); | 118 this.drawGraphs_(); |
| 119 } | 119 } |
| 120 if (key === 'name' || key === 'url') { | 120 if (key === 'name' || key === 'url') { |
| 121 this.redrawPlayerList_(players); | 121 this.redrawPlayerList_(players); |
| 122 } | 122 } |
| 123 }, | 123 }, |
| 124 | 124 |
| 125 createVideoCaptureFormatTable: function(formats) { |
| 126 if (!formats || formats.length == 0) |
| 127 return document.createTextNode('No formats'); |
| 128 |
| 129 var table = document.createElement('table'); |
| 130 var thead = document.createElement('thead'); |
| 131 var theadRow = document.createElement('tr'); |
| 132 for (var key in formats[0]) { |
| 133 var th = document.createElement('th'); |
| 134 th.appendChild(document.createTextNode(key)); |
| 135 theadRow.appendChild(th); |
| 136 } |
| 137 thead.appendChild(theadRow); |
| 138 table.appendChild(thead); |
| 139 var tbody = document.createElement('tbody'); |
| 140 for (var i=0; i < formats.length; ++i) { |
| 141 var tr = document.createElement('tr') |
| 142 for (var key in formats[i]) { |
| 143 var td = document.createElement('td'); |
| 144 td.appendChild(document.createTextNode(formats[i][key])); |
| 145 tr.appendChild(td); |
| 146 } |
| 147 tbody.appendChild(tr); |
| 148 } |
| 149 table.appendChild(tbody); |
| 150 table.classList.add('video-capture-formats-table'); |
| 151 return table; |
| 152 }, |
| 153 |
| 125 redrawVideoCaptureCapabilities: function(videoCaptureCapabilities, keys) { | 154 redrawVideoCaptureCapabilities: function(videoCaptureCapabilities, keys) { |
| 126 var copyButtonElement = | 155 var copyButtonElement = |
| 127 document.getElementById('video-capture-capabilities-copy-button'); | 156 document.getElementById('video-capture-capabilities-copy-button'); |
| 128 copyButtonElement.onclick = function() { | 157 copyButtonElement.onclick = function() { |
| 129 window.prompt('Copy to clipboard: Ctrl+C, Enter', | 158 window.prompt('Copy to clipboard: Ctrl+C, Enter', |
| 130 JSON.stringify(videoCaptureCapabilities)) | 159 JSON.stringify(videoCaptureCapabilities)) |
| 131 } | 160 } |
| 132 | 161 |
| 133 var videoTableBodyElement = | 162 var videoTableBodyElement = |
| 134 document.getElementById('video-capture-capabilities-tbody'); | 163 document.getElementById('video-capture-capabilities-tbody'); |
| 135 removeChildren(videoTableBodyElement); | 164 removeChildren(videoTableBodyElement); |
| 136 | 165 |
| 137 for (var component in videoCaptureCapabilities) { | 166 for (var component in videoCaptureCapabilities) { |
| 138 var tableRow = document.createElement('tr'); | 167 var tableRow = document.createElement('tr'); |
| 139 var device = videoCaptureCapabilities[ component ]; | 168 var device = videoCaptureCapabilities[ component ]; |
| 140 for (var i in keys) { | 169 for (var i in keys) { |
| 141 var value = device[keys[i]]; | 170 var value = device[keys[i]]; |
| 142 var tableCell = document.createElement('td'); | 171 var tableCell = document.createElement('td'); |
| 143 var cellElement; | 172 var cellElement; |
| 144 if ((typeof value) == (typeof [])) { | 173 if ((typeof value) == (typeof [])) { |
| 145 cellElement = document.createElement('ul'); | 174 cellElement = this.createVideoCaptureFormatTable(value); |
| 146 for (var i in value) { | |
| 147 var format = value[i]; | |
| 148 var li = document.createElement('li'); | |
| 149 li.appendChild(document.createTextNode(format)) | |
| 150 cellElement.appendChild(li) | |
| 151 } | |
| 152 } else { | 175 } else { |
| 153 cellElement = document.createTextNode( | 176 cellElement = document.createTextNode( |
| 154 ((typeof value) == 'undefined') ? 'n/a' : value); | 177 ((typeof value) == 'undefined') ? 'n/a' : value); |
| 155 } | 178 } |
| 156 tableCell.appendChild(cellElement) | 179 tableCell.appendChild(cellElement) |
| 157 tableRow.appendChild(tableCell); | 180 tableRow.appendChild(tableCell); |
| 158 } | 181 } |
| 159 videoTableBodyElement.appendChild(tableRow); | 182 videoTableBodyElement.appendChild(tableRow); |
| 160 } | 183 } |
| 161 }, | 184 }, |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 395 if (this.selectedPlayer) { | 418 if (this.selectedPlayer) { |
| 396 removeChildren(this.logTable); | 419 removeChildren(this.logTable); |
| 397 this.selectedPlayerLogIndex = 0; | 420 this.selectedPlayerLogIndex = 0; |
| 398 this.drawLog_(); | 421 this.drawLog_(); |
| 399 } | 422 } |
| 400 }, | 423 }, |
| 401 }; | 424 }; |
| 402 | 425 |
| 403 return ClientRenderer; | 426 return ClientRenderer; |
| 404 })(); | 427 })(); |
| OLD | NEW |