diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /devtools/shared/specs/perf.js | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/shared/specs/perf.js')
-rw-r--r-- | devtools/shared/specs/perf.js | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/devtools/shared/specs/perf.js b/devtools/shared/specs/perf.js new file mode 100644 index 0000000000..2405a60b90 --- /dev/null +++ b/devtools/shared/specs/perf.js @@ -0,0 +1,101 @@ +/* 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 { + Arg, + Option, + RetVal, + generateActorSpec, +} = require("devtools/shared/protocol"); + +const perfDescription = { + typeName: "perf", + + events: { + "profiler-started": { + type: "profiler-started", + entries: Arg(0, "number"), + interval: Arg(1, "number"), + features: Arg(2, "number"), + duration: Arg(3, "nullable:number"), + // The `activeBrowsingContextID` option passed to `profiler_start` is used to + // determine the active tab when user starts the profiler. + // This is a parameter that is generated on the + // server, that's why we don't need to pass anything on `startProfiler` + // actor method. But we return this in "profiler-started" event because + // client may want to use that value. + activeBrowsingContextID: Arg(4, "number"), + }, + "profiler-stopped": { + type: "profiler-stopped", + }, + "profile-locked-by-private-browsing": { + type: "profile-locked-by-private-browsing", + }, + "profile-unlocked-from-private-browsing": { + type: "profile-unlocked-from-private-browsing", + }, + }, + + methods: { + startProfiler: { + request: { + entries: Option(0, "number"), + duration: Option(0, "nullable:number"), + interval: Option(0, "number"), + features: Option(0, "array:string"), + threads: Option(0, "array:string"), + }, + response: { value: RetVal("boolean") }, + }, + + /** + * Returns null when unable to return the profile. + */ + getProfileAndStopProfiler: { + request: {}, + response: RetVal("nullable:json"), + }, + + stopProfilerAndDiscardProfile: { + request: {}, + response: {}, + }, + + getSymbolTable: { + request: { + debugPath: Arg(0, "string"), + breakpadId: Arg(1, "string"), + }, + response: { value: RetVal("array:array:number") }, + }, + + isActive: { + request: {}, + response: { value: RetVal("boolean") }, + }, + + isSupportedPlatform: { + request: {}, + response: { value: RetVal("boolean") }, + }, + + isLockedForPrivateBrowsing: { + request: {}, + response: { value: RetVal("boolean") }, + }, + + getSupportedFeatures: { + request: {}, + response: { value: RetVal("array:string") }, + }, + }, +}; + +exports.perfDescription = perfDescription; + +const perfSpec = generateActorSpec(perfDescription); + +exports.perfSpec = perfSpec; |