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 cr.define('gpu', function() { | |
|
arv (Not doing code reviews)
2011/02/25 00:51:29
Can you add an empty line before this?
| |
| 5 function TracingController() { | |
| 6 this.overlay_ = $('gpu-tracing-overlay-template').cloneNode(true); | |
| 7 this.overlay_.removeAttribute('id'); | |
|
arv (Not doing code reviews)
2011/02/25 00:51:29
Prefer DOM properties where possible
this.overlay
| |
| 8 cr.ui.decorate(this.overlay_, gpu.Overlay); | |
| 9 | |
| 10 this.traceEvents_ = []; | |
| 11 | |
| 12 var startButton = $('gpu-tracing-start-button-template').cloneNode(true); | |
| 13 startButton.removeAttribute('id'); | |
| 14 document.body.appendChild(startButton); | |
| 15 startButton.onclick = this.beginTracing.bind(this); | |
| 16 | |
| 17 var stopButton = this.overlay_.querySelector('.gpu-tracing-stop-button'); | |
| 18 stopButton.onclick = this.endTracing.bind(this); | |
| 19 } | |
| 20 | |
| 21 TracingController.prototype = { | |
| 22 __proto__: cr.EventTarget.prototype, | |
| 23 | |
| 24 tracingEnabled_ : false, | |
| 25 | |
| 26 /** | |
| 27 * Called by info_view to empty the trace buffer | |
| 28 */ | |
| 29 beginTracing: function() { | |
| 30 if (this.tracingEnabled_) | |
| 31 throw Error('Tracing already begun.'); | |
| 32 | |
| 33 this.overlay_.visible = true; | |
| 34 | |
| 35 this.tracingEnabled_ = true; | |
| 36 console.log('Beginning to trace...'); | |
| 37 | |
| 38 this.traceEvents_ = []; | |
| 39 if (!browserBridge.debugMode) | |
| 40 chrome.send('beginTracing'); | |
| 41 | |
| 42 this.tracingEnabled_ = true; | |
| 43 | |
| 44 var e = new cr.Event('traceBegun'); | |
| 45 e.events = this.traceEvents_; | |
| 46 this.dispatchEvent(e); | |
| 47 | |
| 48 e = new cr.Event('traceEventsChanged'); | |
| 49 e.numEvents = this.traceEvents_.length; | |
| 50 this.dispatchEvent(e); | |
| 51 | |
| 52 var self; | |
| 53 window.addEventListener('keypress', function f(e) { | |
| 54 if(e.keyIdentifier == 'Enter') { | |
|
arv (Not doing code reviews)
2011/02/25 00:51:29
ws
| |
| 55 window.removeEventListener('keypress', f); | |
| 56 self.endTracing(); | |
| 57 } | |
| 58 }); | |
| 59 }, | |
| 60 | |
| 61 /** | |
| 62 * Checks whether tracing is enabled | |
| 63 */ | |
| 64 get isTracingEnabled() { | |
| 65 return this.tracingEnabled_; | |
| 66 }, | |
| 67 | |
| 68 /** | |
| 69 * Gets the currently traced events. If tracing is active, then | |
| 70 * this can change on the fly. | |
| 71 */ | |
| 72 get traceEvents() { | |
| 73 return this.traceEvents_; | |
| 74 }, | |
| 75 | |
| 76 /** | |
| 77 * Callbed by gpu c++ code when new GPU trace data arrives. | |
| 78 */ | |
| 79 onTraceDataCollected: function(events) { | |
| 80 this.traceEvents_.push.apply(this.traceEvents_, events); | |
| 81 }, | |
| 82 | |
| 83 /** | |
| 84 * Called by info_view to finish tracing and update all views. | |
| 85 */ | |
| 86 endTracing: function() { | |
| 87 if (!this.tracingEnabled_) throw new Error('Tracing not begun.'); | |
| 88 | |
| 89 console.log('Finishing trace'); | |
| 90 if (!browserBridge.debugMode) { | |
| 91 chrome.send('beginToEndTracing'); | |
| 92 } else { | |
| 93 var events; | |
| 94 if(window.getTimelineTestData1){ | |
|
arv (Not doing code reviews)
2011/02/25 00:51:29
ws
arv (Not doing code reviews)
2011/02/25 00:51:29
or
events = window.getTimelineTestData1 ? getTime
| |
| 95 events = getTimelineTestData1(); | |
| 96 } else { | |
| 97 events = []; | |
| 98 } | |
| 99 this.onTraceDataCollected(events); | |
| 100 window.setTimeout(this.onEndTracingComplete.bind(this), 250); | |
| 101 } | |
| 102 }, | |
| 103 /* Called by the browser when all processes ack tracing having completed. */ | |
|
arv (Not doing code reviews)
2011/02/25 00:51:29
Use JSDoc
| |
| 104 onEndTracingComplete: function() { | |
| 105 this.overlay_.visible = false; | |
| 106 this.tracingEnabled_ = false; | |
| 107 console.log('onEndTracingComplete p1 with ' + | |
| 108 this.traceEvents_.length + ' events.'); | |
| 109 var e = new cr.Event('traceEnded'); | |
| 110 e.events = this.traceEvents_; | |
| 111 this.dispatchEvent(e); | |
| 112 }, | |
| 113 | |
| 114 selfTest: function() { | |
| 115 this.beginTracing(); | |
| 116 window.setTimeout(this.endTracing.bind(This), 500); | |
| 117 } | |
| 118 }; | |
| 119 return { | |
| 120 TracingController : TracingController | |
| 121 }; | |
| 122 }); | |
| 123 | |
| OLD | NEW |