Index: Source/devtools/front_end/PowerProfiler.js |
diff --git a/Source/devtools/front_end/PowerProfiler.js b/Source/devtools/front_end/PowerProfiler.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bae2e99f53fd322029e0ac8a5e3a329bb5cca3fb |
--- /dev/null |
+++ b/Source/devtools/front_end/PowerProfiler.js |
@@ -0,0 +1,55 @@ |
+// Copyright 2014 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. |
+ |
+/** |
+ * @constructor |
+ * @extends {WebInspector.Object} |
+ */ |
+WebInspector.PowerProfiler = function() |
+{ |
+ WebInspector.Object.call(this); |
+ this._dispatcher = new WebInspector.PowerDispatcher(this); |
+} |
+ |
+WebInspector.PowerProfiler.EventTypes = { |
+ PowerEventRecorded: "PowerEventRecorded" |
+} |
+ |
+WebInspector.PowerProfiler.prototype = { |
+ |
+ startProfile: function () |
+ { |
+ PowerAgent.start(); |
+ }, |
+ |
+ stopProfile: function () |
+ { |
+ PowerAgent.end(); |
+ }, |
+ |
+ __proto__: WebInspector.Object.prototype |
+} |
+ |
+/** |
+ * @constructor |
+ * @implements {WebInspector.PowerEventDispatcher} |
+ */ |
+WebInspector.PowerDispatcher = function(profiler) |
+{ |
+ this._profiler = profiler; |
+ InspectorBackend.registerPowerDispatcher(this); |
+} |
+ |
+WebInspector.PowerDispatcher.prototype = { |
+ dataAvailable: function(events) |
+ { |
+ for (var i in events) |
+ this._profiler.dispatchEventToListeners(WebInspector.PowerProfiler.EventTypes.PowerEventRecorded, events[i]); |
+ } |
+} |
+ |
+/** |
+ * @type {!WebInspector.PowerProfiler} |
+ */ |
+WebInspector.powerProfiler; |