Bug 403524: Merging codepaths introduced some reftest failures; we need to fix them (r=dbaron)
authorVitor Menezes <vmenezes@mozilla.com>
Wed, 03 Aug 2011 11:30:58 -0700
changeset 73782 941c6bc7d7280719d25516f699130aa9d4f080a3
parent 73781 83b2648ee44243cf158a9a98c5aad384e613dd7d
child 73783 c9dff8b867f0d74ef23396bcb896696cf9436b08
push id2
push userbsmedberg@mozilla.com
push dateFri, 19 Aug 2011 14:38:13 +0000
reviewersdbaron
bugs403524
milestone8.0a1
Bug 403524: Merging codepaths introduced some reftest failures; we need to fix them (r=dbaron) It would appear that shadows were expected to render above underlines, violating the CSS3 spec for text-shadow (http://dev.w3.org/csswg/css3-text/#text-shadow). The text-overflow reftest relied on our previous standards-mode decoration implementation, which drew strikethroughs after drawing the contents of the box, regardless of whether there was any text; the reference thus no longer needs to artificially introduce the decoration.
layout/reftests/text-overflow/standards-decorations-ref.html
layout/reftests/text-shadow/decorations-multiple-zorder-ref.html
layout/reftests/text-shadow/standards-decor-noblur-ref.html
layout/reftests/text-shadow/standards-decor-noblur.html
--- a/layout/reftests/text-overflow/standards-decorations-ref.html
+++ b/layout/reftests/text-overflow/standards-decorations-ref.html
@@ -58,15 +58,15 @@ span {
 m { font-size:20px; color:blue; }
 
 </style>
 
 </head><body>
 
 <div class="test t1"><span><span class="xspan">0123&nbsp;56789012</span><m>&#x2026;</m></span></div>
 <div class="test rtl t1"><span><span class="xspan">1&nbsp;56789012345</span><m>&#x2026;</m></span></div>
-<div class="test rtl t2" style="color:black">&#x2026;<span><span class="xspan">&nbsp;</span></span></div>
+<div class="test rtl t2" style="color:black">&#x2026;&nbsp;</div>
 <div class="test rtl t3"><span><m>&#x2026;</m><span style="visibility:hidden">&nbsp;</span></span></div>
 <div class="test t4"><span><m>&#x2026;</m><span style="visibility:hidden">&nbsp;</span></span></div>
 
 
 </body>
 </html>
--- a/layout/reftests/text-shadow/decorations-multiple-zorder-ref.html
+++ b/layout/reftests/text-shadow/decorations-multiple-zorder-ref.html
@@ -1,25 +1,23 @@
 <!DOCTYPE HTML>
 
-<!-- blue underline -->
+<!-- Shadows -->
+<!-- Blue underline/text -->
 <div style="position: absolute; top: 22px; left: 22px; color: blue; text-decoration: underline;"><span style="color: rgba(0, 0, 0, 0);">testforquirks</span></div>
-<div style="position: absolute; top: 20px; left: 20px; color: blue; text-decoration: underline;"><span style="color: rgba(0, 0, 0, 0);">testforquirks</span></div>
-
-<!-- blue text -->
 <div style="position: absolute; top: 22px; left: 22px;"><span style="color: blue;">test</span></div>
-<div style="position: absolute; top: 20px; left: 20px;"><span style="color: blue;">test</span></div>
-
-<!-- red overline -->
+<!-- Red overline/text -->
 <div style="position: absolute; top: 22px; left: 22px; color: rgba(0, 0, 0, 0);">test<span style="text-decoration: overline; color: red;"><span style="color: rgba(0, 0, 0, 0);">forquirks</span></span></div>
-<div style="position: absolute; top: 20px; left: 20px; color: rgba(0, 0, 0, 0);">test<span style="text-decoration: overline; color: red;"><span style="color: rgba(0, 0, 0, 0);">forquirks</span></span></div>
+<div style="position: absolute; top: 22px; left: 22px;"><span style="color: rgba(0, 0, 0, 0);">test</span><span style="color: red;">for</span></div>
+<!-- Green text/underline -->
+<div style="position: absolute; top: 22px; left: 22px;"><span style="color: rgba(0, 0, 0, 0);">testfor</span><span style="text-decoration: underline; color: green;"><span style="color: rgba(0, 0, 0, 0);">quirks</span></span></div>
+<div style="position: absolute; top: 22px; left: 22px;"><span style="color: rgba(0, 0, 0, 0);">testfor</span><span style="color: green;">quirks</span></div>
 
-<!-- red text -->
-<div style="position: absolute; top: 22px; left: 22px;"><span style="color: rgba(0, 0, 0, 0);">test</span><span style="color: red;">for</span></div>
+<!-- "Real" text -->
+<!-- Blue underline/text -->
+<div style="position: absolute; top: 20px; left: 20px; color: blue; text-decoration: underline;"><span style="color: rgba(0, 0, 0, 0);">testforquirks</span></div>
+<div style="position: absolute; top: 20px; left: 20px;"><span style="color: blue;">test</span></div>
+<!-- Red overline/text -->
+<div style="position: absolute; top: 20px; left: 20px; color: rgba(0, 0, 0, 0);">test<span style="text-decoration: overline; color: red;"><span style="color: rgba(0, 0, 0, 0);">forquirks</span></span></div>
 <div style="position: absolute; top: 20px; left: 20px;"><span style="color: rgba(0, 0, 0, 0);">test</span><span style="color: red;">for</span></div>
-
-<!-- green underline -->
-<div style="position: absolute; top: 22px; left: 22px;"><span style="color: rgba(0, 0, 0, 0);">testfor</span><span style="text-decoration: underline; color: green;"><span style="color: rgba(0, 0, 0, 0);">quirks</span></span></div>
+<!-- Green underline/text -->
 <div style="position: absolute; top: 20px; left: 20px;"><span style="color: rgba(0, 0, 0, 0);">testfor</span><span style="text-decoration: underline; color: green;"><span style="color: rgba(0, 0, 0, 0);">quirks</span></span></div>
-
-<!-- green text -->
-<div style="position: absolute; top: 22px; left: 22px;"><span style="color: rgba(0, 0, 0, 0);">testfor</span><span style="color: green;">quirks</span></div>
 <div style="position: absolute; top: 20px; left: 20px;"><span style="color: rgba(0, 0, 0, 0);">testfor</span><span style="color: green;">quirks</span></div>
--- a/layout/reftests/text-shadow/standards-decor-noblur-ref.html
+++ b/layout/reftests/text-shadow/standards-decor-noblur-ref.html
@@ -4,18 +4,13 @@
 text-decoration: underline;
 }
 
 span {
 color: rgba(0, 0, 0, 0);
 }
 </style>
 
-<div class="underlined" style="position: absolute; top: 33px; left: 33px; color: grey; z-index: 0;"><span>Hello</span></div>
-<div class="underlined" style="position: absolute; top: 30px; left: 30px; color: green; z-index: 1;"><span>Hello</span></div>
-<div class="underlined" style="position: absolute; top: 27px; left: 27px; color: red; z-index: 2;"><span>Hello</span></div>
-<div class="underlined" style="position: absolute; top: 24px; left: 24px; color: purple; z-index: 3;"><span>Hello</span></div>
-<div class="underlined" style="position: absolute; top: 20px; left: 20px; color: black; z-index: 4;"><span>Hello</span></div>
-<div style="position: absolute; top: 33px; left: 33px; color: grey; z-index: 5;">Hello</div>
-<div style="position: absolute; top: 30px; left: 30px; color: green; z-index: 6;">Hello</div>
-<div style="position: absolute; top: 27px; left: 27px; color: red; z-index: 7;">Hello</div>
-<div style="position: absolute; top: 24px; left: 24px; color: purple; z-index: 8;">Hello</div>
-<div style="position: absolute; top: 20px; left: 20px; color: black; z-index: 9;">Hello</div>
+<div class="underlined" style="position: absolute; top: 33px; left: 33px; color: grey; z-index: 0;">Hello</div>
+<div class="underlined" style="position: absolute; top: 30px; left: 30px; color: green; z-index: 1;">Hello</div>
+<div class="underlined" style="position: absolute; top: 27px; left: 27px; color: red; z-index: 2;">Hello</div>
+<div class="underlined" style="position: absolute; top: 24px; left: 24px; color: purple; z-index: 3;">Hello</div>
+<div class="underlined" style="position: absolute; top: 20px; left: 20px; color: black; z-index: 4;">Hello</div>
--- a/layout/reftests/text-shadow/standards-decor-noblur.html
+++ b/layout/reftests/text-shadow/standards-decor-noblur.html
@@ -1,4 +1,4 @@
 <!DOCTYPE HTML>
 
-<!-- Underlines are all painted behind every text shadow due to frame painting order -->
+<!-- Shadows are painted below text AND its decorations -->
 <div style="position: absolute; top: 20px; left: 20px; color: black; text-shadow: purple 4px 4px, red 7px 7px, green 10px 10px, grey 13px 13px; text-decoration: underline;">Hello</div>