1 // Copyright 2014 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 * @constructor 7 * @extends {WebInspector.Object} 8 */ 9 WebInspector.PowerProfiler = function() 10 { 11 WebInspector.Object.call(this); 12 this._dispatcher = new WebInspector.PowerDispatcher(this); 13 } 14 15 WebInspector.PowerProfiler.EventTypes = { 16 PowerEventRecorded: "PowerEventRecorded" 17 } 18 19 WebInspector.PowerProfiler.prototype = { 20 21 startProfile: function () 22 { 23 PowerAgent.start(); 24 }, 25 26 stopProfile: function () 27 { 28 PowerAgent.end(); 29 }, 30 31 __proto__: WebInspector.Object.prototype 32 } 33 34 /** 35 * @constructor 36 * @implements {PowerAgent.Dispatcher} 37 */ 38 WebInspector.PowerDispatcher = function(profiler) 39 { 40 this._profiler = profiler; 41 InspectorBackend.registerPowerDispatcher(this); 42 } 43 44 WebInspector.PowerDispatcher.prototype = { 45 dataAvailable: function(events) 46 { 47 for (var i = 0; i < events.length; ++i) 48 this._profiler.dispatchEventToListeners(WebInspector.PowerProfiler.EventTypes.PowerEventRecorded, events[i]); 49 } 50 } 51 52 /** 53 * @type {!WebInspector.PowerProfiler} 54 */ 55 WebInspector.powerProfiler; 56