Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: content/browser/resources/media/client_renderer.js

Issue 637953008: Improve video capture columns in chrome://media-internals (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Human readable capture API type Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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 })();
OLDNEW
« no previous file with comments | « content/browser/media/media_internals_unittest.cc ('k') | content/browser/resources/media/main.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698