diff options
Diffstat (limited to 'devtools/shared/specs/animation.js')
-rw-r--r-- | devtools/shared/specs/animation.js | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/devtools/shared/specs/animation.js b/devtools/shared/specs/animation.js new file mode 100644 index 000000000..20af12c23 --- /dev/null +++ b/devtools/shared/specs/animation.js @@ -0,0 +1,151 @@ +/* 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("devtools/shared/protocol"); +require("devtools/shared/specs/inspector"); + +/** + * 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") + } + }, + pause: { + request: {}, + response: {} + }, + play: { + request: {}, + response: {} + }, + ready: { + request: {}, + response: {} + }, + setCurrentTime: { + request: { + currentTime: Arg(0, "number") + }, + response: {} + }, + setPlaybackRate: { + request: { + currentTime: Arg(0, "number") + }, + response: {} + }, + getFrames: { + request: {}, + response: { + frames: RetVal("json") + } + }, + getProperties: { + request: {}, + response: { + properties: RetVal("array: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") + } + }, + stopAnimationPlayerUpdates: { + request: {}, + response: {} + }, + pauseAll: { + request: {}, + response: {} + }, + playAll: { + request: {}, + response: {} + }, + toggleAll: { + request: {}, + response: {} + }, + toggleSeveral: { + request: { + players: Arg(0, "array:animationplayer"), + shouldPause: Arg(1, "boolean") + }, + 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; + |