| Index: chrome/browser/resources/media_internals/util.js
|
| diff --git a/chrome/browser/resources/media_internals/util.js b/chrome/browser/resources/media_internals/util.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6af8f4b01f08d2151c619855dbf62d8dd282bf8b
|
| --- /dev/null
|
| +++ b/chrome/browser/resources/media_internals/util.js
|
| @@ -0,0 +1,105 @@
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +cr.define('media', function() {
|
| +
|
| + /**
|
| + * The width and height of a bar drawn on a file canvas in pixels.
|
| + */
|
| + BAR_WIDTH = 500;
|
| + BAR_HEIGHT = 15;
|
| +
|
| + // Maximum display length of a url in characters. Lengthy urls will be clipped
|
| + // and postfixed with an ellipsis.
|
| + MAX_URL_LENGTH = 50;
|
| +
|
| + /**
|
| + * Draws a 1px white horizontal line across |context|.
|
| + */
|
| + drawLine = function(context, top) {
|
| + context.moveTo(0, top);
|
| + context.lineTo(BAR_WIDTH, top);
|
| + context.strokeStyle = '#fff';
|
| + context.stroke();
|
| + };
|
| +
|
| + /**
|
| + * Creates an HTMLElement of type |type| with textContent |content|.
|
| + * @param {string} type The type of element to create.
|
| + * @param {string} content The content to place in the element.
|
| + * @return {HTMLElement} A newly initialized element.
|
| + */
|
| + makeElement = function(type, content) {
|
| + var element = document.createElement(type);
|
| + element.textContent = content;
|
| + return element;
|
| + };
|
| +
|
| + /**
|
| + * Truncates a URL to MAX_URL_LENGTH. If the URL was too long, the last
|
| + * three characters of the returned string will be '...', and its length will
|
| + * be MAX_URL_LENGTH.
|
| + * @param {string} url The url to truncate.
|
| + * @return {string} A truncated url.
|
| + */
|
| + clipURL = function(url) {
|
| + if (url && url.length > MAX_URL_LENGTH)
|
| + return url.slice(0, MAX_URL_LENGTH - 3) + '...';
|
| + return url;
|
| + };
|
| +
|
| + /**
|
| + * Creates a new <li> containing a <details> with a <summary> and sets
|
| + * properties to reference them.
|
| + * @return {Object} The new <li>.
|
| + */
|
| + createDetailsLi = function() {
|
| + li = document.createElement('li');
|
| + li.details = document.createElement('details');
|
| + li.summary = document.createElement('summary');
|
| + li.appendChild(li.details);
|
| + li.details.appendChild(li.summary);
|
| + return li
|
| + };
|
| +
|
| + /**
|
| + * Prints each key-value pair in a dictionary to a row in a table.
|
| + * @param {Object} dict The dictionary to print.
|
| + * @param {HTMLElement} table The <table> element to print to.
|
| + */
|
| + printDictionaryToTable = function(dict, table) {
|
| + table.textContent = '';
|
| + for (var key in dict) {
|
| + var tr = document.createElement('tr');
|
| + tr.appendChild(makeElement('td', key + ':'));
|
| + tr.appendChild(makeElement('td', dict[key]));
|
| + table.appendChild(tr);
|
| + }
|
| + return table;
|
| + };
|
| +
|
| + /**
|
| + * Rounds a number, leaving the specified number of digits after the decimal;
|
| + * defaults to 1.
|
| + * @param {number} n The number to be rounded.
|
| + * @param {int} digits The number of digits to leave after the decimal.
|
| + * @return {number} |n| rounded to |digits| decimal places.
|
| + */
|
| + round = function(n, digits) {
|
| + digits = digits || 1;
|
| + factor = Math.pow(10, digits);
|
| + return Math.round(n * factor) / factor;
|
| + };
|
| +
|
| + return {
|
| + BAR_WIDTH: BAR_WIDTH,
|
| + BAR_HEIGHT: BAR_HEIGHT,
|
| + drawLine: drawLine,
|
| + makeElement: makeElement,
|
| + clipURL: clipURL,
|
| + createDetailsLi: createDetailsLi,
|
| + printDictionaryToTable: printDictionaryToTable,
|
| + round: round,
|
| + };
|
| +});
|
|
|