diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /devtools/shared/specs/animation.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/shared/specs/animation.js')
-rw-r--r-- | devtools/shared/specs/animation.js | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/devtools/shared/specs/animation.js b/devtools/shared/specs/animation.js new file mode 100644 index 0000000000..95acd606b5 --- /dev/null +++ b/devtools/shared/specs/animation.js @@ -0,0 +1,110 @@ +/* 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, + RetVal, + generateActorSpec, + types, +} = require("resource://devtools/shared/protocol.js"); + +/** + * Sent with the 'mutations' event as part of an array of changes, used to + * inform fronts of the type of change that occured. + */ +types.addDictType("animationMutationChange", { + // The type of change ("added" or "removed"). + type: "string", + // The changed AnimationPlayerActor. + player: "animationplayer", +}); + +const animationPlayerSpec = generateActorSpec({ + typeName: "animationplayer", + + events: { + changed: { + type: "changed", + state: Arg(0, "json"), + }, + }, + + methods: { + release: { release: true }, + getCurrentState: { + request: {}, + response: { + data: RetVal("json"), + }, + }, + getAnimationTypes: { + request: { + propertyNames: Arg(0, "array:string"), + }, + response: { + animationTypes: RetVal("json"), + }, + }, + }, +}); + +exports.animationPlayerSpec = animationPlayerSpec; + +const animationsSpec = generateActorSpec({ + typeName: "animations", + + events: { + mutations: { + type: "mutations", + changes: Arg(0, "array:animationMutationChange"), + }, + }, + + methods: { + setWalkerActor: { + request: { + walker: Arg(0, "domwalker"), + }, + response: {}, + }, + getAnimationPlayersForNode: { + request: { + actorID: Arg(0, "domnode"), + }, + response: { + players: RetVal("array:animationplayer"), + }, + }, + pauseSome: { + request: { + players: Arg(0, "array:animationplayer"), + }, + response: {}, + }, + playSome: { + request: { + players: Arg(0, "array:animationplayer"), + }, + response: {}, + }, + setCurrentTimes: { + request: { + players: Arg(0, "array:animationplayer"), + time: Arg(1, "number"), + shouldPause: Arg(2, "boolean"), + }, + response: {}, + }, + setPlaybackRates: { + request: { + players: Arg(0, "array:animationplayer"), + rate: Arg(1, "number"), + }, + response: {}, + }, + }, +}); + +exports.animationsSpec = animationsSpec; |