Mypal/devtools/server/actors/framerate.js

34 lines
1.3 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const { Actor, ActorClassWithSpec } = require("devtools/shared/protocol");
const { actorBridgeWithSpec } = require("devtools/server/actors/common");
const { on, once, off, emit } = require("sdk/event/core");
const { Framerate } = require("devtools/server/performance/framerate");
const { framerateSpec } = require("devtools/shared/specs/framerate");
/**
* An actor wrapper around Framerate. Uses exposed
* methods via bridge and provides RDP definitions.
*
* @see devtools/server/performance/framerate.js for documentation.
*/
var FramerateActor = exports.FramerateActor = ActorClassWithSpec(framerateSpec, {
initialize: function (conn, tabActor) {
Actor.prototype.initialize.call(this, conn);
this.bridge = new Framerate(tabActor);
},
destroy: function (conn) {
Actor.prototype.destroy.call(this, conn);
this.bridge.destroy();
},
startRecording: actorBridgeWithSpec("startRecording"),
stopRecording: actorBridgeWithSpec("stopRecording"),
cancelRecording: actorBridgeWithSpec("cancelRecording"),
isRecording: actorBridgeWithSpec("isRecording"),
getPendingTicks: actorBridgeWithSpec("getPendingTicks"),
});