1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-09 09:34:57 +09:00

LibWeb: Treat CSS at-rule names as case-insensitive

This commit is contained in:
Tim Ledbetter 2025-03-09 17:14:30 +00:00 committed by Jelle Raaijmakers
parent 4def3fe567
commit a6efdb1068
Notes: github-actions[bot] 2025-03-10 11:43:59 +00:00
3 changed files with 62 additions and 1 deletions

View file

@ -1227,7 +1227,7 @@ Token Tokenizer::consume_a_token()
// If the next 3 input code points would start an ident sequence, consume an ident sequence, create
// an <at-keyword-token> with its value set to the returned value, and return it.
if (would_start_an_ident_sequence(peek_triplet())) {
auto name = consume_an_ident_sequence();
auto name = consume_an_ident_sequence().to_ascii_lowercase();
return create_value_token(Token::Type::AtKeyword, move(name), input_since(start_byte_offset));
}

View file

@ -0,0 +1,16 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS Reftest Reference</title>
<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
<style type="text/css">
p {
color: white;
background: green;
}
</style>
</head>
<body>
<p>This should have a green background.</p>
</body>
</html>

View file

@ -0,0 +1,45 @@
<!doctype html>
<meta charset="utf-8">
<html>
<head>
<title>Test: ASCII-case-insensitivity of media queries</title>
<link rel="author" title="Gerald Squelart" href="mailto:gerald@mozilla.com">
<link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#characters">
<link rel="help" href="https://drafts.csswg.org/mediaqueries-4/#mq-syntax">
<link rel="help" href="https://drafts.csswg.org/css-syntax/#rule-defs">
<link rel="match" href="../../../../expected/wpt-import/css/reference/ref-filled-green-100px-square.xht">
<style type="text/css">
div {
width: 100px;
height: 100px;
}
@media all and (height) and (min-width:0) and (orientation:landscape) {
div { background-color: red; }
}
@media all and (height) and (min-width:0) and (orientation:portrait) {
div { background-color: red; }
}
@MeDIa aLL and (Height) and (mIN-Width:0cM) and (orienTAtion:LandScape) {
div { background-color: green; }
}
@MeDIa All and (heiGHt) and (Min-widtH:0MM) and (Orientation:porTrait) {
div { background-color: green; }
}
/* In some languages Non-ASCII 'İ' (Latin capital I with dot above) may be
lowercased to ASCII 'i'; This would make "heİght" compare the same as
"height", which would be incorrect. */
@media all and (heİght) {
div { background-color: red; }
}
</style>
</head>
<body>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div></div>
</body>
</html>