1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 17:37:47 +00:00

LibWeb: Add namespaces to Universal and TagName selectors

This commit is contained in:
Sam Atkins 2023-08-08 15:11:48 +01:00 committed by Sam Atkins
parent 6c2ed0f51b
commit 1858f06881
13 changed files with 245 additions and 49 deletions

View file

@ -0,0 +1,41 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
BlockContainer <body> at (8,8) content-size 784x207.3125 children: not-inline
BlockContainer <(anonymous)> at (8,8) content-size 784x161.65625 children: inline
line 0 width: 413.453125, height: 161.65625, bottom: 161.65625, baseline: 152
frag 0 from SVGSVGBox start: 0, length: 0, rect: [9,9 300x150]
frag 1 from TextNode start: 0, length: 1, rect: [310,146 8x17.46875]
" "
frag 2 from TextNode start: 0, length: 5, rect: [320,126 99.453125x43.671875]
"Hello"
SVGSVGBox <svg> at (9,9) content-size 300x150 [SVG] children: inline
InlineNode <a>
SVGTextBox <text> at (9,9) content-size 0x0 children: inline
TextNode <#text>
TextNode <#text>
InlineNode <math>
InlineNode <a>
TextNode <#text>
TextNode <#text>
BlockContainer <div> at (9,170.65625) content-size 782x43.65625 children: inline
line 0 width: 101.453125, height: 43.65625, bottom: 43.65625, baseline: 33.828125
frag 0 from TextNode start: 0, length: 5, rect: [10,170.65625 99.453125x43.671875]
"Hello"
InlineNode <a>
TextNode <#text>
BlockContainer <(anonymous)> at (8,215.3125) content-size 784x0 children: inline
TextNode <#text>
PaintableWithLines (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
PaintableWithLines (BlockContainer<BODY>) [8,8 784x207.3125]
PaintableWithLines (BlockContainer(anonymous)) [8,8 784x161.65625] overflow: [8,8 784x161.671875]
SVGSVGPaintable (SVGSVGBox<svg>) [8,8 302x152]
TextPaintable (TextNode<#text>)
InlinePaintable (InlineNode<math>)
InlinePaintable (InlineNode<a>)
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer<DIV>) [8,169.65625 784x45.65625] overflow: [9,170.65625 782x43.671875]
InlinePaintable (InlineNode<A>)
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer(anonymous)) [8,215.3125 784x0]

View file

@ -0,0 +1,22 @@
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
BlockContainer <html> at (0,0) content-size 800x600 [BFC] children: not-inline
BlockContainer <body> at (8,8) content-size 784x324 children: not-inline
SVGSVGBox <svg> at (18,18) content-size 100x100 [SVG] children: not-inline
BlockContainer <(anonymous)> at (8,128) content-size 784x0 children: inline
TextNode <#text>
BlockContainer <math> at (9,129) content-size 100x100 children: not-inline
BlockContainer <(anonymous)> at (8,230) content-size 784x0 children: inline
TextNode <#text>
BlockContainer <div> at (9,231) content-size 100x100 children: not-inline
BlockContainer <(anonymous)> at (8,332) content-size 784x0 children: inline
TextNode <#text>
PaintableWithLines (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer<HTML>) [0,0 800x600]
PaintableWithLines (BlockContainer<BODY>) [8,8 784x324]
SVGSVGPaintable (SVGSVGBox<svg>) [8,8 120x120]
PaintableWithLines (BlockContainer(anonymous)) [8,128 784x0]
PaintableWithLines (BlockContainer<math>) [8,128 102x102]
PaintableWithLines (BlockContainer(anonymous)) [8,230 784x0]
PaintableWithLines (BlockContainer<DIV>) [8,230 102x102]
PaintableWithLines (BlockContainer(anonymous)) [8,332 784x0]

View file

@ -0,0 +1,23 @@
<style>
@namespace s "http://www.w3.org/2000/svg";
body * {
border: 1px solid black;
}
a {
width: 100px;
}
|a {
width: 200px !important;
}
*|a {
height: 100px;
font-size: 40px;
}
s|a {
font-size: 80px;
}
</style>
<svg><a><text x="20" y="80">Hello</text></a></svg>
<math><a>Hello</a></math>
<div><a>Hello</a></div>

View file

@ -0,0 +1,21 @@
<style>
@namespace s "http://www.w3.org/2000/svg";
body * {
display: block;
width: 100px;
border: 1px solid black;
}
body |* {
width: 200px !important;
}
body *|* {
height: 100px;
}
body s|* {
border-width: 10px;
}
</style>
<svg></svg>
<math></math>
<div></div>