mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-03 08:08:43 +00:00
LibWeb/CSS: Parse custom-idents more consistently
These have a few rules that we didn't follow in most cases: - CSS-wide keywords are not allowed. (inherit, initial, etc) - `default` is not allowed. - The above and any other disallowed identifiers must be tested case-insensitively. This introduces a `parse_custom_ident_value()` method, which takes a list of disallowed identifier names, and handles the above rules.
This commit is contained in:
parent
d3f089dc26
commit
6ae2b8c3d9
Notes:
github-actions[bot]
2024-07-27 12:46:26 +00:00
Author: https://github.com/AtkinsSJ
Commit: 6ae2b8c3d9
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/847
4 changed files with 80 additions and 20 deletions
14
Tests/LibWeb/Text/input/css/custom-ident-parsing.html
Normal file
14
Tests/LibWeb/Text/input/css/custom-ident-parsing.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
<script src="../include.js"></script>
|
||||
<div id="foo"></div>
|
||||
<script>
|
||||
test(() => {
|
||||
const foo = document.getElementById("foo");
|
||||
println(`Before testing: ${getComputedStyle(foo).getPropertyValue("animation-name")}`);
|
||||
const cases = [ 'badger', 'none', 'BANANA', 'NONE', 'InHeRiT', 'revert', 'initial', 'unset', 'george', 'REVERT', 'NaCl', 'default', 'string', '32', 'done' ];
|
||||
for (const name of cases) {
|
||||
foo.style.setProperty('animation-name', 'INVALID');
|
||||
foo.style.setProperty('animation-name', name);
|
||||
println(`${name}: ${getComputedStyle(foo).getPropertyValue("animation-name")}`);
|
||||
}
|
||||
});
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue