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

Side by Side Diff: chrome/browser/resources/gpu_internals/info_view.js

Issue 5228004: Switch the about:gpu implementation from an about handler to dom_ui.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years 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
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 /**
6 * This view displays options for importing/exporting the captured data. Its
7 * primarily usefulness is to allow users to copy-paste their data in an easy
8 * to read format for bug reports.
9 *
10 * - Has a button to generate a text report.
11 *
12 * - Shows how many events have been captured.
13 */
14 cr.define('gpu', function() {
15 /**
16 * Provides information on the GPU process and underlying graphics hardware.
17 * @constructor
18 */
19 function InfoView(mainBoxId) {
20 DivView.call(this, mainBoxId);
21
22 this.beginRequestClientInfo();
23 this.beginRequestGpuInfo();
24 this.refresh();
25 }
26
27 InfoView.prototype = {
28 __proto__: DivView.prototype,
29
30 /**
31 * This function begins a request for the ClientInfo. If it comes back
32 * as undefined, then we will issue the request again in 250ms.
33 */
34 beginRequestClientInfo : function() {
35 browserBridge.callAsync('requestClientInfo', undefined, (function(data) {
36 this.clientInfo_ = data;
37 this.refresh();
38 if (data === undefined) { // try again in 250 ms
39 window.setTimeout(this.beginRequestClientInfo.bind(this), 250);
40 }
41 }).bind(this));
42 },
43
44 /**
45 * This function begins a request for the GpuInfo. If it comes back
46 * as undefined, then we will issue the request again in 250ms.
47 */
48 beginRequestGpuInfo : function() {
49 browserBridge.callAsync('requestGpuInfo', undefined, (function(data) {
50 this.gpuInfo_ = data;
51 this.refresh();
52 if (!data || data.progress != 'complete') { // try again in 250 ms
53 window.setTimeout(this.beginRequestGpuInfo.bind(this), 250);
54 }
55 }).bind(this));
56 },
57
58 /**
59 * Updates the view based on its currently known data
60 */
61 refresh: function(data) {
62 // Client info
63 if (this.clientInfo_) {
64 var chromeVersion = this.clientInfo_.version +
65 ' (' + this.clientInfo_.official +
66 ' ' + this.clientInfo_.cl +
67 ') ' + this.clientInfo_.version_mod;
68 this.setTable_('client-info', [
69 {
70 description: 'Data exported',
71 value: (new Date()).toLocaleString()
72 },
73 {
74 description: 'Chrome version',
75 value: chromeVersion
76 }]);
77 } else {
78 this.setText_('client-info', '... loading...');
79 }
80
81 // GPU info, basic
82 if (this.gpuInfo_) {
83 this.setTable_('basic-info', this.gpuInfo_.basic_info);
84 if (this.gpuInfo_.diagnostics) {
85 this.setTable_('diagnostics', this.gpuInfo_.diagnostics);
86 } else if (this.gpuInfo_.progress == 'partial') {
87 this.setText_('diagnostics', '... loading...');
88 } else {
89 this.setText_('diagnostics', 'None');
90 }
91 } else {
92 this.setText_('basic-info', '... loading ...');
93 this.setText_('diagnostics', '... loading ...');
94 }
95 },
96
97 setText_: function(outputElementId, text) {
98 var peg = document.getElementById(outputElementId);
99 peg.innerText = text;
100 },
101
102 setTable_: function(outputElementId, inputData) {
103 var template = jstGetTemplate('info-view-table-template');
104 jstProcess(new JsEvalContext({value: inputData}),
105 template);
106
107 var peg = document.getElementById(outputElementId);
108 if (!peg)
109 throw new Error('Node ' + outputElementId + ' not found');
110
111 peg.innerHTML = '';
112 peg.appendChild(template);
113 }
114 };
115
116 return {
117 InfoView: InfoView
118 };
119 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/gpu_internals/info_view.html ('k') | chrome/browser/resources/net_internals/detailsview.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698