mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-06-01 11:19:56 +00:00
64 lines
1.9 KiB
JavaScript
64 lines
1.9 KiB
JavaScript
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
|
|
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
// A helper frame-script for brower/devtools/animationinspector tests.
|
|
|
|
/**
|
|
* Toggle (play or pause) one of the animation players of a given node.
|
|
* @param {Object} data
|
|
* - {Number} animationIndex The index of the node's animationPlayers to play or pause
|
|
* @param {Object} objects
|
|
* - {DOMNode} node The node to use
|
|
*/
|
|
addMessageListener("Test:ToggleAnimationPlayer", function(msg) {
|
|
let {animationIndex, pause} = msg.data;
|
|
let {node} = msg.objects;
|
|
|
|
let player = node.getAnimationPlayers()[animationIndex];
|
|
if (pause) {
|
|
player.pause();
|
|
} else {
|
|
player.play();
|
|
}
|
|
|
|
sendAsyncMessage("Test:ToggleAnimationPlayer");
|
|
});
|
|
|
|
/**
|
|
* Set a given style property value on a node. This is useful to dynamically
|
|
* change an animation's duration or delay for instance.
|
|
* @param {Object} data
|
|
* - {String} propertyName The name of the property to set.
|
|
* - {String} propertyValue The value for the property.
|
|
* @param {Object} objects
|
|
* - {DOMNode} node The node to use
|
|
*/
|
|
addMessageListener("Test:SetNodeStyle", function(msg) {
|
|
let {propertyName, propertyValue} = msg.data;
|
|
let {node} = msg.objects;
|
|
|
|
node.style[propertyName] = propertyValue;
|
|
|
|
sendAsyncMessage("Test:SetNodeStyle");
|
|
});
|
|
|
|
/**
|
|
* Get the current playState of an animation player on a given node.
|
|
* @param {Object} data
|
|
* - {Number} animationIndex The index of the node's animationPlayers to check
|
|
* @param {Object} objects
|
|
* - {DOMNode} node The node to check
|
|
*/
|
|
addMessageListener("Test:GetAnimationPlayerState", function(msg) {
|
|
let {animationIndex} = msg.data;
|
|
let {node} = msg.objects;
|
|
|
|
let player = node.getAnimationPlayers()[animationIndex];
|
|
player.ready.then(() => {
|
|
sendAsyncMessage("Test:GetAnimationPlayerState", player.playState);
|
|
});
|
|
});
|