| <!DOCTYPE html> | |
| <meta charset=UTF-8> | |
| <title>CSS Painting API Level 1: parsing paint() with valid values</title> | |
| <link rel="help" href="https://drafts.css-houdini.org/css-paint-api/#paint-notation"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/css/support/parsing-testcommon.js"></script> | |
| <script src="/common/worklet-reftest.js"></script> | |
| <body> | |
| <!-- | |
| This test registers the paint function it uses. However, for access | |
| to specified and computed values, this doesn't appear to be required | |
| by the specification. However, it does appear to be required by the | |
| current implementation in Chromium. See https://crbug.com/1344490 . | |
| --> | |
| <script id="code" type="text/worklet"> | |
| registerPaint('mypaint', class { | |
| paint(ctx, size, properties, args) { } | |
| }); | |
| </script> | |
| <script> | |
| setup({ explicit_done: true }); | |
| let worklet_code = document.getElementById('code').textContent; | |
| importWorklet(CSS.paintWorklet, worklet_code).then(() => { | |
| test_valid_value("background-image", "paint(mypaint)"); | |
| test_valid_value("background-image", "paint( mypaint )", "paint(mypaint)"); | |
| test_valid_value("background-image", "paint(mypaint ", "paint(mypaint)"); | |
| test_valid_value("background-image", "paint( mypaint", "paint(mypaint)"); | |
| test_valid_value("background-image", "paint(mypaint, blue)"); | |
| test_valid_value("background-image", "paint(mypaint, {})"); | |
| test_valid_value("background-image", "paint(mypaint, [])"); | |
| test_valid_value("background-image", "paint(mypaint, ())"); | |
| done(); | |
| }); | |
| </script> |