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

Unified Diff: content/browser/resources/media/client_renderer.js

Issue 2480203002: ui: Cleanup class/struct forward declarations (Closed)
Patch Set: Sync CL to position 430550 Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/resources/media/client_renderer.js
diff --git a/content/browser/resources/media/client_renderer.js b/content/browser/resources/media/client_renderer.js
index ccee09ee122541760e991133b9b4c0a5ed7a0df0..63c7dcf660e4921aed4bbc1ebf31ba14f43c3ee6 100644
--- a/content/browser/resources/media/client_renderer.js
+++ b/content/browser/resources/media/client_renderer.js
@@ -13,6 +13,7 @@ var ClientRenderer = (function() {
this.graphElement = document.getElementById('graphs');
this.audioPropertyName = document.getElementById('audio-property-name');
+ this.players = null;
this.selectedPlayer = null;
this.selectedAudioComponentType = null;
this.selectedAudioComponentId = null;
@@ -34,6 +35,9 @@ var ClientRenderer = (function() {
clipboardButtons[i].onclick = this.copyToClipboard_.bind(this);
}
+ this.saveLogButton = document.getElementById('save-log-button');
+ this.saveLogButton.onclick = this.saveLog_.bind(this);
+
this.hiddenKeys = ['component_id', 'component_type', 'owner_id'];
// Tell CSS to hide certain content prior to making selections.
@@ -93,6 +97,14 @@ var ClientRenderer = (function() {
element.checked = true;
}
+ function downloadLog(text) {
+ var file = new Blob([text], {type: 'text/plain'});
+ var a = document.createElement('a');
+ a.href = URL.createObjectURL(file);
+ a.download = "media-internals.txt";
+ a.click();
+ }
+
ClientRenderer.prototype = {
/**
* Called when an audio component is added to the collection.
@@ -230,7 +242,7 @@ var ClientRenderer = (function() {
}
},
- getAudioComponentName_ : function(componentType, id) {
+ getAudioComponentName_: function(componentType, id) {
var baseName;
switch (componentType) {
case 0:
@@ -248,7 +260,7 @@ var ClientRenderer = (function() {
return baseName + ' ' + id;
},
- getListElementForAudioComponent_ : function(componentType) {
+ getListElementForAudioComponent_: function(componentType) {
var listElement;
switch (componentType) {
case 0:
@@ -304,8 +316,7 @@ var ClientRenderer = (function() {
}
},
- selectAudioComponent_: function(
- componentType, componentId, componentData) {
+ selectAudioComponent_: function(componentType, componentId, componentData) {
document.body.classList.remove(
ClientRenderer.Css_.NO_COMPONENTS_SELECTED);
@@ -320,12 +331,16 @@ var ClientRenderer = (function() {
},
redrawPlayerList_: function(players) {
+ this.players = players;
+
// Group name imposes rule that only one component can be selected
// (and have its properties displayed) at a time.
var buttonGroupName = 'player-buttons';
+ var hasPlayers = false;
var fragment = document.createDocumentFragment();
for (id in players) {
+ hasPlayers = true;
var player = players[id];
var usableName = player.properties.name ||
player.properties.url ||
@@ -344,6 +359,8 @@ var ClientRenderer = (function() {
// Re-select the selected player since the button was just recreated.
selectSelectableButton(this.selectedPlayer.id);
}
+
+ this.saveLogButton.style.display = hasPlayers ? "inline-block" : "none";
},
selectPlayer_: function(player) {
@@ -400,6 +417,15 @@ var ClientRenderer = (function() {
this.selectedPlayerLogIndex = this.selectedPlayer.allEvents.length;
},
+ saveLog_: function() {
+ var strippedPlayers = []
+ for (id in this.players) {
+ var p = this.players[id];
+ strippedPlayers.push({properties: p.properties, events: p.allEvents});
+ }
+ downloadLog(JSON.stringify(strippedPlayers, null, 2));
+ },
+
drawGraphs_: function() {
function addToGraphs(name, graph, graphElement) {
var li = document.createElement('li');

Powered by Google App Engine
This is Rietveld 408576698