| Index: chrome/browser/resources/gpu_internals/timeline_view.js
|
| diff --git a/chrome/browser/resources/gpu_internals/timeline_view.js b/chrome/browser/resources/gpu_internals/timeline_view.js
|
| deleted file mode 100644
|
| index c4e1c3e63f456ac68ff153fbc20890cfd0020e73..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/resources/gpu_internals/timeline_view.js
|
| +++ /dev/null
|
| @@ -1,182 +0,0 @@
|
| -// 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.
|
| -
|
| -
|
| -/**
|
| - * @fileoverview TimelineView visualizes GPU_TRACE events using the
|
| - * gpu.Timeline component.
|
| - */
|
| -cr.define('gpu', function() {
|
| - function tsRound(ts) {
|
| - return Math.round(ts * 1000.0) / 1000.0;
|
| - }
|
| - function getPadding(text, width) {
|
| - width = width || 0;
|
| -
|
| - if (typeof text != 'string')
|
| - text = String(text);
|
| -
|
| - if (text.length >= width)
|
| - return '';
|
| -
|
| - var pad = '';
|
| - for (var i = 0; i < width - text.length; i++)
|
| - pad += ' ';
|
| - return pad;
|
| - }
|
| -
|
| - function leftAlign(text, width) {
|
| - return text + getPadding(text, width);
|
| - }
|
| -
|
| - function rightAlign(text, width) {
|
| - return getPadding(text, width) + text;
|
| - }
|
| -
|
| - /**
|
| - * TimelineView
|
| - * @constructor
|
| - * @extends {HTMLDivElement}
|
| - */
|
| - TimelineView = cr.ui.define('div');
|
| -
|
| - TimelineView.prototype = {
|
| - __proto__: HTMLDivElement.prototype,
|
| -
|
| - decorate: function() {
|
| - this.className = 'timeline-view';
|
| -
|
| - this.timelineContainer_ = document.createElement('div');
|
| - this.timelineContainer_.className = 'timeline-container';
|
| -
|
| - var summaryContainer_ = document.createElement('div');
|
| - summaryContainer_.className = 'summary-container';
|
| -
|
| - this.summaryEl_ = document.createElement('pre');
|
| - this.summaryEl_.className = 'summary';
|
| -
|
| - summaryContainer_.appendChild(this.summaryEl_);
|
| - this.appendChild(this.timelineContainer_);
|
| - this.appendChild(summaryContainer_);
|
| -
|
| - this.onSelectionChangedBoundToThis_ = this.onSelectionChanged_.bind(this);
|
| - },
|
| -
|
| - set traceEvents(traceEvents) {
|
| - console.log('TimelineView.refresh');
|
| - this.timelineModel_ = new gpu.TimelineModel(traceEvents);
|
| -
|
| - // remove old timeline
|
| - this.timelineContainer_.textContent = '';
|
| -
|
| - // create new timeline if needed
|
| - if (traceEvents.length) {
|
| - this.timeline_ = new gpu.Timeline();
|
| - this.timeline_.model = this.timelineModel_;
|
| - this.timelineContainer_.appendChild(this.timeline_);
|
| - this.timeline_.onResize();
|
| - this.timeline_.addEventListener('selectionChange',
|
| - this.onSelectionChangedBoundToThis_);
|
| - this.onSelectionChanged_();
|
| - } else {
|
| - this.timeline_ = null;
|
| - }
|
| - },
|
| -
|
| - onSelectionChanged_: function(e) {
|
| - console.log('selection changed');
|
| - var timeline = this.timeline_;
|
| - var selection = timeline.selection;
|
| - if (!selection.length) {
|
| - var oldScrollTop = this.timelineContainer_.scrollTop;
|
| - this.summaryEl_.textContent = timeline.keyHelp;
|
| - this.timelineContainer_.scrollTop = oldScrollTop;
|
| - return;
|
| - }
|
| -
|
| - var text = '';
|
| - if (selection.length == 1) {
|
| - var c0Width = 10;
|
| - var slice = selection[0].slice;
|
| - text = 'Selected item:\n';
|
| - text += leftAlign('Title', c0Width) + ': ' + slice.title + '\n';
|
| - text += leftAlign('Start', c0Width) + ': ' +
|
| - tsRound(slice.start) + ' ms\n';
|
| - text += leftAlign('Duration', c0Width) + ': ' +
|
| - tsRound(slice.duration) + ' ms\n';
|
| -
|
| - var n = 0;
|
| - for (var argName in slice.args) {
|
| - n += 1;
|
| - }
|
| - if (n > 0) {
|
| - text += leftAlign('Args', c0Width) + ':\n';
|
| - for (var argName in slice.args) {
|
| - var argVal = slice.args[argName];
|
| - text += leftAlign(' ' + argName, c0Width) + ': ' + argVal + '\n';
|
| - }
|
| - }
|
| - } else {
|
| - var c0Width = 55;
|
| - var c1Width = 12;
|
| - var c2Width = 5;
|
| - text = 'Selection summary:\n';
|
| - var tsLo = Math.min.apply(Math, selection.map(
|
| - function(s) {return s.slice.start;}));
|
| - var tsHi = Math.max.apply(Math, selection.map(
|
| - function(s) {return s.slice.end;}));
|
| -
|
| - // compute total selection duration
|
| - var titles = selection.map(function(i) { return i.slice.title; });
|
| -
|
| - var slicesByTitle = {};
|
| - for (var i = 0; i < selection.length; i++) {
|
| - var slice = selection[i].slice;
|
| - if (!slicesByTitle[slice.title])
|
| - slicesByTitle[slice.title] = {
|
| - slices: []
|
| - };
|
| - slicesByTitle[slice.title].slices.push(slice);
|
| - }
|
| - var totalDuration = 0;
|
| - for (var sliceGroupTitle in slicesByTitle) {
|
| - var sliceGroup = slicesByTitle[sliceGroupTitle];
|
| - var duration = 0;
|
| - for (i = 0; i < sliceGroup.slices.length; i++)
|
| - duration += sliceGroup.slices[i].duration;
|
| - totalDuration += duration;
|
| -
|
| - text += ' ' +
|
| - leftAlign(sliceGroupTitle, c0Width) + ': ' +
|
| - rightAlign(tsRound(duration) + 'ms', c1Width) + ' ' +
|
| - rightAlign(String(sliceGroup.slices.length), c2Width) +
|
| - ' occurrences' + '\n';
|
| - }
|
| -
|
| - text += leftAlign('*Totals', c0Width) + ' : ' +
|
| - rightAlign(tsRound(totalDuration) + 'ms', c1Width) + ' ' +
|
| - rightAlign(String(selection.length), c2Width) + ' occurrences' +
|
| - '\n';
|
| -
|
| - text += '\n';
|
| -
|
| - text += leftAlign('Selection start', c0Width) + ' : ' +
|
| - rightAlign(tsRound(tsLo) + 'ms', c1Width) +
|
| - '\n';
|
| - text += leftAlign('Selection extent', c0Width) + ' : ' +
|
| - rightAlign(tsRound(tsHi - tsLo) + 'ms', c1Width) +
|
| - '\n';
|
| - }
|
| -
|
| - // done
|
| - var oldScrollTop = this.timelineContainer_.scrollTop;
|
| - this.summaryEl_.textContent = text;
|
| - this.timelineContainer_.scrollTop = oldScrollTop;
|
| - }
|
| - };
|
| -
|
| - return {
|
| - TimelineView: TimelineView
|
| - };
|
| -});
|
|
|