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

Side by Side Diff: chrome/browser/resources/media_internals/media_internals.js

Issue 10821058: Handle no volume in chrome://media-internals (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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 | Annotate | Revision Log
OLDNEW
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 <include src="cache_entry.js"/> 5 <include src="cache_entry.js"/>
6 <include src="disjoint_range_set.js"/> 6 <include src="disjoint_range_set.js"/>
7 <include src="event_list.js"/> 7 <include src="event_list.js"/>
8 <include src="item_store.js"/> 8 <include src="item_store.js"/>
9 <include src="media_player.js"/> 9 <include src="media_player.js"/>
10 <include src="metrics.js"/> 10 <include src="metrics.js"/>
(...skipping 23 matching lines...) Expand all
34 var audioStreamDiv; 34 var audioStreamDiv;
35 var cacheDiv; 35 var cacheDiv;
36 36
37 // A timer used to limit the rate of redrawing the Media Players section. 37 // A timer used to limit the rate of redrawing the Media Players section.
38 var redrawTimer = null; 38 var redrawTimer = null;
39 39
40 /** 40 /**
41 * Initialize variables and ask MediaInternals for all its data. 41 * Initialize variables and ask MediaInternals for all its data.
42 */ 42 */
43 function initialize() { 43 function initialize() {
44 audioStreamDiv = document.getElementById('audio-streams'); 44 audioStreamDiv = $('audio-streams');
45 cacheDiv = document.getElementById('cache-entries'); 45 cacheDiv = $('cache-entries');
46 46
47 // Get information about all currently active media. 47 // Get information about all currently active media.
48 chrome.send('getEverything'); 48 chrome.send('getEverything');
49 } 49 }
50 50
51 /** 51 /**
52 * Write the set of audio streams to the DOM. 52 * Write the set of audio streams to the DOM.
53 */ 53 */
54 function printAudioStreams() { 54 function printAudioStreams() {
55 55
56 /** 56 /**
57 * Render a single stream as a <li>. 57 * Render a single stream as a <li>.
58 * @param {Object} stream The stream to render. 58 * @param {Object} stream The stream to render.
59 * @return {HTMLElement} A <li> containing the stream information. 59 * @return {HTMLElement} A <li> containing the stream information.
60 */ 60 */
61 function printStream(stream) { 61 function printStream(stream) {
62 var out = document.createElement('li'); 62 var out = document.createElement('li');
63 out.id = stream.id; 63 out.id = stream.id;
64 out.className = 'audio-stream'; 64 out.className = 'audio-stream';
65 out.setAttribute('status', stream.status); 65 out.setAttribute('status', stream.status);
66 66
67 out.textContent += 'Audio stream ' + stream.id.split('.')[1]; 67 out.textContent += 'Audio stream ' + stream.id.split('.')[1];
68 out.textContent += ' is ' + (stream.playing ? 'playing' : 'paused'); 68 out.textContent += ' is ' + (stream.playing ? 'playing' : 'paused');
69 out.textContent += ' at ' + (stream.volume * 100).toFixed(0); 69 if (typeof stream.volume != 'undefined') {
70 out.textContent += '% volume.'; 70 out.textContent += ' at ' + (stream.volume * 100).toFixed(0);
71 out.textContent += '% volume.';
72 }
71 return out; 73 return out;
72 } 74 }
73 75
74 var out = document.createElement('ul'); 76 var out = document.createElement('ul');
75 audioStreams.map(printStream).forEach(function(s) { 77 audioStreams.map(printStream).forEach(function(s) {
76 out.appendChild(s) 78 out.appendChild(s);
77 }); 79 });
78 80
79 audioStreamDiv.textContent = ''; 81 audioStreamDiv.textContent = '';
80 audioStreamDiv.appendChild(out); 82 audioStreamDiv.appendChild(out);
81 } 83 }
82 84
83 /** 85 /**
84 * Redraw each MediaPlayer. 86 * Redraw each MediaPlayer.
85 */ 87 */
86 function printMediaPlayers() { 88 function printMediaPlayers() {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 } 142 }
141 } 143 }
142 144
143 /** 145 /**
144 * A render process has ended, delete any media players associated with it. 146 * A render process has ended, delete any media players associated with it.
145 * @param {number} renderer The id of the render process. 147 * @param {number} renderer The id of the render process.
146 */ 148 */
147 function onRendererTerminated(renderer) { 149 function onRendererTerminated(renderer) {
148 for (var key in mediaPlayers) { 150 for (var key in mediaPlayers) {
149 if (mediaPlayers[key].renderer == renderer) { 151 if (mediaPlayers[key].renderer == renderer) {
150 document.getElementById('media-players').removeChild(mediaPlayers[key]); 152 $('media-players').removeChild(mediaPlayers[key]);
151 delete mediaPlayers[key]; 153 delete mediaPlayers[key];
152 break; 154 break;
153 } 155 }
154 } 156 }
155 printMediaPlayers(); 157 printMediaPlayers();
156 } 158 }
157 159
158 /** 160 /**
159 * Receiving net events. 161 * Receiving net events.
160 * Update cache information and update that section of the page. 162 * Update cache information and update that section of the page.
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 onMediaEvent: onMediaEvent 272 onMediaEvent: onMediaEvent
271 }; 273 };
272 }); 274 });
273 275
274 /** 276 /**
275 * Initialize everything once we have access to the DOM. 277 * Initialize everything once we have access to the DOM.
276 */ 278 */
277 document.addEventListener('DOMContentLoaded', function() { 279 document.addEventListener('DOMContentLoaded', function() {
278 media.initialize(); 280 media.initialize();
279 }); 281 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698