auto merge of #2071 : hyunjunekim/servo/try, r=larsbergstrom

If <span> element has pseudo style, draw pseudo element.
This commit is contained in:
bors-servo 2014-04-11 16:04:17 -04:00
commit 257e1c0130
5 changed files with 66 additions and 0 deletions

View file

@ -558,6 +558,9 @@ impl<'a> FlowConstructor<'a> {
// Concatenate all the boxes of our kids, creating {ib} splits as necessary.
for kid in node.children() {
if kid.get_element_type() != Normal {
self.process(&kid);
}
match kid.swap_out_construction_result() {
NoConstructionResult => {}
FlowConstructionResult(flow, kid_abs_descendants) => {

View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<style>
span.servo1:before { display:inline; content:'Hello'; color:blue}
span.servo1:after { display:inline; content:'ervo'; color:blue}
div.servo2:before { display:inline; content:'Hello'; color:blue}
div.servo2:after { display:inline; content:'ervo'; color:blue}
span.servo3:before { display:block; content:'Smile'; color:blue}
span.servo3:after { display:block; content:'And thanks';}
div.rust:before { display:block; content:'Hello,';}
div.rust:after { display:inline; content:'ust';}
</style>
</head>
<body>
<span class="servo1">, S</span>
<div class="servo2">, S</div>
<span class="servo3">Servo</span>
<div class="rust">R</div>
</body>
</html>

View file

@ -66,3 +66,4 @@
== background_repeat_none_a.html background_repeat_none_b.html
== background_repeat_both_a.html background_repeat_both_b.html
== setattribute_id_restyle_a.html setattribute_id_restyle_b.html
== pseudo_element_a.html pseudo_element_b.html

View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<style>
span.servo1:before { display:inline; content:'Hello';}
span.servo1:after { display:inline; content:'ervo';}
div.servo2:before { display:inline; content:'Hello';}
div.servo2:after { display:inline; content:'ervo';}
span.servo3:before { display:block; content:'Smile'; color:blue}
span.servo3:after { display:block; content:'And thanks'; color:blue}
div.rust:before { display:block; content:'Hello,';}
div.rust:after { display:inline; content:'ust';}
</style>
</head>
<body>
<span class="servo1">, S</span>
<div class="servo2">, S</div>
<span class="servo3">Servo</span>
<div class="rust">R</div>
</body>
</html>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<head>
<style>
.col { color:blue; }
</style>
</head>
<body>
Hello,<span> Servo</span>
<div class="servo">Hello, Servo</div>
<div class="col">Smile</div>
<span>Servo</span>
<div class="col">And thanks</div>
<div>Hello,</div>
<span>Rust</span>
</body>
</html>