Chromium Code Reviews
|
| OLD | NEW |
|---|---|
| (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.textDiv_ = document.getElementById('info-text'); | |
|
arv (Not doing code reviews)
2010/12/08 17:55:19
Can you pass this in? Binding this global element
nduca
2010/12/08 19:08:22
Not even used. Deleted. Haha.
On 2010/12/08 17:55
| |
| 23 this.gpuInfo_ = undefined; | |
|
arv (Not doing code reviews)
2010/12/08 17:55:19
Most likely useless statement
nduca
2010/12/08 19:08:22
Done.
| |
| 24 this.clientInfo_ = undefined; | |
| 25 | |
| 26 var self = this; | |
|
arv (Not doing code reviews)
2010/12/08 17:55:19
self is not used
nduca
2010/12/08 19:08:22
Done.
| |
| 27 | |
| 28 this.beginRequestClientInfo(); | |
| 29 this.beginRequestGpuInfo(); | |
| 30 this.refresh(); | |
| 31 } | |
| 32 | |
| 33 InfoView.prototype = { | |
| 34 __proto__: DivView.prototype, | |
| 35 | |
| 36 /** | |
| 37 * This function begins a request for the ClientInfo. If it comes back | |
| 38 * as undefined, then we will issue the request again in 250ms. | |
| 39 */ | |
| 40 beginRequestClientInfo : function() { | |
| 41 browserBridge.callAsync('requestClientInfo', undefined, (function(data) { | |
| 42 this.clientInfo_ = data; | |
| 43 this.refresh(); | |
| 44 if(data === undefined) { // try again in 250 ms | |
|
arv (Not doing code reviews)
2010/12/08 17:55:19
whitespace after if
nduca
2010/12/08 19:08:22
Done.
| |
| 45 window.setTimeout(this.beginRequestClientInfo.bind(this), 250); | |
| 46 } | |
| 47 }).bind(this)); | |
| 48 }, | |
| 49 | |
| 50 /** | |
| 51 * This function begins a request for the GpuInfo. If it comes back | |
| 52 * as undefined, then we will issue the request again in 250ms. | |
| 53 */ | |
| 54 beginRequestGpuInfo : function() { | |
| 55 browserBridge.callAsync('requestGpuInfo', undefined, (function(data) { | |
| 56 this.gpuInfo_ = data; | |
| 57 this.refresh(); | |
| 58 if(data === undefined) { // try again in 250 ms | |
| 59 window.setTimeout(this.beginRequestGpuInfo.bind(this), 250); | |
| 60 } | |
| 61 }).bind(this)); | |
| 62 }, | |
| 63 | |
| 64 /** | |
| 65 * Updates the view based on its currently known data | |
| 66 */ | |
| 67 refresh: function(data) { | |
| 68 // Client info | |
| 69 if (this.clientInfo_) { | |
| 70 var chromeVersion = this.clientInfo_.version + | |
| 71 ' (' + this.clientInfo_.official + | |
| 72 ' ' + this.clientInfo_.cl + | |
| 73 ') ' + this.clientInfo_.version_mod; | |
| 74 this.updateTable_('client-info', [ | |
| 75 {description: 'Data exported', | |
|
arv (Not doing code reviews)
2010/12/08 17:55:19
{
key: value,
...
}
nduca
2010/12/08 19:08:22
Done.
| |
| 76 value: (new Date()).toLocaleString()}, | |
| 77 {description: 'Chrome version', value: chromeVersion}]); | |
| 78 } else { | |
| 79 this.updateTable_('client-info', [ | |
| 80 {description: "", value: "... loading..."}]); | |
| 81 } | |
| 82 | |
| 83 // GPU info, basic | |
| 84 if (this.gpuInfo_) { | |
| 85 this.updateTable_('basic-info', this.gpuInfo_.basic_info); | |
| 86 if(this.gpuInfo_.diagnostics) { | |
| 87 this.updateTable_('diagnostics', this.gpuInfo_.diagnostics); | |
| 88 } | |
| 89 } else { | |
| 90 this.updateTable_('basic-info', [ | |
| 91 {description: "", value: "... loading..."}]); | |
| 92 } | |
| 93 }, | |
| 94 | |
| 95 updateTable_: function(outputElementId,inputData) { | |
| 96 var template = jstGetTemplate('info-view-table-template'); | |
| 97 jstProcess(new JsEvalContext({value: inputData}), | |
| 98 template); | |
| 99 | |
| 100 var peg = document.getElementById(outputElementId); | |
| 101 if(!peg) | |
| 102 throw new Error('Node ' + outputElementId + ' not found'); | |
| 103 | |
| 104 peg.innerHTML = ''; | |
| 105 peg.appendChild(template); | |
| 106 } | |
| 107 }; | |
| 108 | |
| 109 return { | |
| 110 InfoView: InfoView | |
| 111 }; | |
| 112 }); | |
| OLD | NEW |