<!DOCTYPE html>
<html class="reftest-wait">
<link rel="help" href="https://drafts.css-houdini.org/css-paint-api/">
<link rel="match" href="two-custom-property-animation-ref.html">
<style>
.container {
  width: 100px;
  height: 100px;
}
@keyframes expand {
  0% { --foo: 0; }
  0.01% { --foo: 50; }
  99% { --foo: 50; }
  100% { --foo: 100; }
}
@keyframes clr {
  0% { --bar: 0; }
  0.01% { --bar: 200; }
  99% { --bar: 200; }
  100% { --bar: 255; }
}
.animate {
  background-image: paint(geometry);
  animation: expand 5s, clr 5s;
}

#canvas-geometry {
  background-color: blue;
}
</style>
<script src="/common/reftest-wait.js"></script>
<script src="/common/worklet-reftest.js"></script>
<body>
<div id="canvas-geometry" class="container"></div>

<script id="code" type="text/worklet">
registerPaint('geometry', class {
  static get inputProperties() { return ['--foo', '--bar']; }
  paint(ctx, geom, properties) {
    let fooValue = parseFloat(properties.get('--foo').toString());
    let barValue = parseFloat(properties.get('--bar').toString());
    let barString = barValue.toString(16);
    if (barString.length == 1)
      barString = '0' + barString;
    ctx.fillStyle = '#9876' + barString;
    ctx.fillRect(0, 0, fooValue, fooValue);
  }
});
</script>

<script>
CSS.registerProperty({
  name: '--foo',
  syntax: '<number>',
  initialValue: '0',
  inherits: false
});
CSS.registerProperty({
  name: '--bar',
  syntax: '<number>',
  initialValue: '0',
  inherits: false
});
</script>

<script>
var blob = new Blob([document.getElementById('code').textContent],
                    {type: 'text/javascript'});
CSS.paintWorklet.addModule(URL.createObjectURL(blob)).then(function() {
    document.getElementById('canvas-geometry').classList.add('animate');
    requestAnimationFrame(function() {
        takeScreenshot();
    });
});
</script>
</body>
</html>
