mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-28 11:49:44 +00:00
LibWeb: Distinguish between empty block at-rules and statement at-rules
This commit is contained in:
parent
701fcb9e87
commit
59a2e10a4e
Notes:
github-actions[bot]
2025-06-17 07:59:09 +00:00
Author: https://github.com/tcl3
Commit: 59a2e10a4e
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5111
Reviewed-by: https://github.com/AtkinsSJ ✅
3 changed files with 60 additions and 2 deletions
|
@ -196,7 +196,7 @@ GC::Ptr<CSSImportRule> Parser::convert_to_import_rule(AtRule const& rule)
|
|||
return {};
|
||||
}
|
||||
|
||||
if (!rule.child_rules_and_lists_of_declarations.is_empty()) {
|
||||
if (rule.is_block_rule) {
|
||||
dbgln_if(CSS_PARSER_DEBUG, "Failed to parse @import rule: Block is not allowed.");
|
||||
return {};
|
||||
}
|
||||
|
@ -470,7 +470,7 @@ GC::Ptr<CSSNamespaceRule> Parser::convert_to_namespace_rule(AtRule const& rule)
|
|||
return {};
|
||||
}
|
||||
|
||||
if (!rule.child_rules_and_lists_of_declarations.is_empty()) {
|
||||
if (rule.is_block_rule) {
|
||||
dbgln_if(CSS_PARSER_DEBUG, "Failed to parse @namespace rule: Block is not allowed.");
|
||||
return {};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
|
||||
<link rel="author" title="Mozilla" href="http://mozilla.org/"/>
|
||||
<title>CSS Namespaces Test Suite reference</title>
|
||||
</head>
|
||||
<body>
|
||||
<p><test style="background: lime">This sentence should have a green background.</test></p>
|
||||
<p><test style="background: lime">This sentence should have a green background.</test></p>
|
||||
<p><test style="background: lime">This sentence should have a green background.</test></p>
|
||||
<p><test style="background: lime">This sentence should have a green background.</test></p>
|
||||
<p><test style="background: lime">This sentence should have a green background.</test></p>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,44 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<link rel="author" title="Anne van Kesteren" href="http://annevankesteren.nl/"/>
|
||||
<link rel="author" title="Opera Software ASA" href="http://opera.com/"/>
|
||||
<link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact"/>
|
||||
<link rel="help" href="http://www.w3.org/TR/css-namespaces-3/#syntax"/>
|
||||
<link rel="match" href="../../../../expected/wpt-import/css/css-namespaces/reference/ref-lime-5.xml"/>
|
||||
<meta name="flags" content="invalid"/>
|
||||
<title>CSS Namespaces Test Suite: @namespace error handling</title>
|
||||
<style>
|
||||
t, t2, t3, t4, t5 { background:red }
|
||||
</style>
|
||||
<style>
|
||||
@namespace "test" {}
|
||||
t { background:lime }
|
||||
</style>
|
||||
<style id="a">@namespace x "test</style>
|
||||
<script>
|
||||
document.getElementById("a").sheet.insertRule("x|t2 {background:lime }", 1)
|
||||
</script>
|
||||
<style>
|
||||
@namespace "fail;
|
||||
; t3 { background:lime }
|
||||
</style>
|
||||
<style>
|
||||
@namespace url('fail);
|
||||
t4 { background:red !important; }
|
||||
);
|
||||
t4 { background:lime }
|
||||
</style>
|
||||
<style>
|
||||
@namespace url(test);
|
||||
@namespace url('test' x);
|
||||
t5 { background:lime }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p><t>This sentence should have a green background.</t></p>
|
||||
<p><t2 xmlns="test">This sentence should have a green background.</t2></p>
|
||||
<p><t3>This sentence should have a green background.</t3></p>
|
||||
<p><t4>This sentence should have a green background.</t4></p>
|
||||
<p><t5 xmlns="test">This sentence should have a green background.</t5></p>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue