mirror of
https://github.com/servo/servo.git
synced 2025-07-01 04:23:39 +01:00
79 lines
2.6 KiB
HTML
79 lines
2.6 KiB
HTML
<!doctype html>
|
|
<meta charset=utf-8>
|
|
<title>KeyframeEffect IDL</title>
|
|
<link rel="help" href="https://drafts.csswg.org/web-animations/#keyframeeffect">
|
|
<link rel="help"
|
|
href="https://drafts.csswg.org/web-animations/#keyframeeffectreadonly">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/WebIDLParser.js"></script>
|
|
<script src="/resources/idlharness.js"></script>
|
|
<div id="log"></div>
|
|
<script type="text/plain" id="AnimationEffect-IDL">
|
|
dictionary EffectTiming {
|
|
double delay = 0.0;
|
|
double endDelay = 0.0;
|
|
FillMode fill = "auto";
|
|
double iterationStart = 0.0;
|
|
unrestricted double iterations = 1.0;
|
|
(unrestricted double or DOMString) duration = "auto";
|
|
PlaybackDirection direction = "normal";
|
|
DOMString easing = "linear";
|
|
};
|
|
|
|
dictionary OptionalEffectTiming {
|
|
double delay;
|
|
double endDelay;
|
|
FillMode fill;
|
|
double iterationStart;
|
|
unrestricted double iterations;
|
|
(unrestricted double or DOMString) duration;
|
|
PlaybackDirection direction;
|
|
DOMString easing;
|
|
};
|
|
|
|
dictionary ComputedEffectTiming : EffectTiming {
|
|
unrestricted double endTime = 0.0;
|
|
unrestricted double activeDuration = 0.0;
|
|
double? localTime = null;
|
|
double? progress = null;
|
|
unrestricted double? currentIteration = null;
|
|
};
|
|
|
|
[Exposed=Window]
|
|
interface AnimationEffect {
|
|
EffectTiming getTiming();
|
|
ComputedEffectTiming getComputedTiming();
|
|
void updateTiming(optional OptionalEffectTiming timing);
|
|
};
|
|
</script>
|
|
<script>
|
|
'use strict';
|
|
|
|
promise_test(async () => {
|
|
const idlArray = new IdlArray();
|
|
idlArray.add_untested_idls(
|
|
document.getElementById('AnimationEffect-IDL').textContent
|
|
);
|
|
const text = await fetch('/interfaces/web-animations.idl').then(response =>
|
|
response.text(),
|
|
);
|
|
idlArray.add_idls(text, {
|
|
only: [
|
|
'IterationCompositeOperation',
|
|
'CompositeOperation',
|
|
'KeyframeEffectOptions',
|
|
'KeyframeEffect',
|
|
]
|
|
});
|
|
|
|
idlArray.add_untested_idls('interface CSSPseudoElement {};');
|
|
idlArray.add_untested_idls('interface Element {};');
|
|
idlArray.add_objects({
|
|
KeyframeEffect: ['new KeyframeEffect(null, null)'],
|
|
});
|
|
|
|
idlArray.test();
|
|
done();
|
|
}, 'KeyframeEffect interface.');
|
|
</script>
|