CSS2:text-decoration: <rt> element should not inherit text-decoration property
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Feb 2012 23:55:51 +0000 (23:55 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Feb 2012 23:55:51 +0000 (23:55 +0000)
https://bugs.webkit.org/show_bug.cgi?id=71266

Patch by Koji Ishii <kojiishi@gmail.com> on 2012-02-23
Reviewed by Kentaro Hara.

Source/WebCore:

Tests: fast/ruby/text-decoration-in-descendants-ruby-expected.html
       fast/ruby/text-decoration-in-descendants-ruby.html

The spec says "text decorations are not propagated to any out-of-flow descendants":
http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
Floats etc. are fixed in bug 18611, but <rt> is not inline either and therefore
it should be included; it was confirmed at a discussion at www-style.
http://lists.w3.org/Archives/Public/www-style/2011Sep/0238.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::getTextDecorationColors):

LayoutTests:

The spec says "text decorations are not propagated to any out-of-flow descendants":
http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
Floats etc. are fixed in bug 18611, but <rt> is not inline either and therefore
it should be included; it was confirmed at a discussion at www-style.
http://lists.w3.org/Archives/Public/www-style/2011Sep/0238.html

* fast/ruby/text-decoration-in-descendants-ruby-expected.html: Added.
* fast/ruby/text-decoration-in-descendants-ruby.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108690 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/ruby/text-decoration-in-descendants-ruby-expected.html [new file with mode: 0644]
LayoutTests/fast/ruby/text-decoration-in-descendants-ruby.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderObject.cpp

index dac8299..a034ad0 100644 (file)
@@ -1,3 +1,19 @@
+2012-02-23  Koji Ishii  <kojiishi@gmail.com>
+
+        CSS2:text-decoration: <rt> element should not inherit text-decoration property
+        https://bugs.webkit.org/show_bug.cgi?id=71266
+
+        Reviewed by Kentaro Hara.
+
+        The spec says "text decorations are not propagated to any out-of-flow descendants":
+        http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
+        Floats etc. are fixed in bug 18611, but <rt> is not inline either and therefore
+        it should be included; it was confirmed at a discussion at www-style.
+        http://lists.w3.org/Archives/Public/www-style/2011Sep/0238.html
+
+        * fast/ruby/text-decoration-in-descendants-ruby-expected.html: Added.
+        * fast/ruby/text-decoration-in-descendants-ruby.html: Added.
+
 2012-02-23  Filip Pizlo  <fpizlo@apple.com>
 
         Make fast/js/script-tests/dfg-inline-function-dot-caller not timeout.
diff --git a/LayoutTests/fast/ruby/text-decoration-in-descendants-ruby-expected.html b/LayoutTests/fast/ruby/text-decoration-in-descendants-ruby-expected.html
new file mode 100644 (file)
index 0000000..234a9d3
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Test: ruby layout items should block text decoration propagation just like atomic inlines do</title>
+<style type="text/css">
+.container { font-size:24pt; }
+.d {
+    text-decoration:underline line-through;
+}
+rt { color:blue; }
+</style>
+</head>
+<body>
+<p>Bug <a href="http://bugs.webkit.org/show_bug.cgi?id=71266">71266</a>: CSS2:text-decoration: &lt;rt&gt; element should not inherit text-decoration property</p>
+<div class="container">
+<div><ruby><span class="d">X</span><rt>This line should NOT be underlined nor strike-through</rt></ruby></div>
+<div><ruby><span class="d">X</span><rt><span class="d">This line should be underlined and strike-through</span></rt></ruby></div>
+</div>
+</body>
+</html>
diff --git a/LayoutTests/fast/ruby/text-decoration-in-descendants-ruby.html b/LayoutTests/fast/ruby/text-decoration-in-descendants-ruby.html
new file mode 100644 (file)
index 0000000..c4263c4
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Test: ruby layout items should block text decoration propagation just like atomic inlines do</title>
+<style type="text/css">
+.container { font-size:24pt; }
+.d {
+    text-decoration:underline line-through;
+}
+rt { color:blue; }
+</style>
+</head>
+<body>
+<p>Bug <a href="http://bugs.webkit.org/show_bug.cgi?id=71266">71266</a>: CSS2:text-decoration: &lt;rt&gt; element should not inherit text-decoration property</p>
+<div class="container">
+<div><span class="d"><ruby>X<rt>This line should NOT be underlined nor strike-through</rt></ruby></span></div>
+<div><span class="d"><ruby>X<rt><span class="d">This line should be underlined and strike-through</span></rt></ruby></span></div>
+</div>
+</body>
+</html>
index e189a5e..3cf3d4b 100644 (file)
@@ -1,3 +1,22 @@
+2012-02-23  Koji Ishii  <kojiishi@gmail.com>
+
+        CSS2:text-decoration: <rt> element should not inherit text-decoration property
+        https://bugs.webkit.org/show_bug.cgi?id=71266
+
+        Reviewed by Kentaro Hara.
+
+        Tests: fast/ruby/text-decoration-in-descendants-ruby-expected.html
+               fast/ruby/text-decoration-in-descendants-ruby.html
+
+        The spec says "text decorations are not propagated to any out-of-flow descendants":
+        http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
+        Floats etc. are fixed in bug 18611, but <rt> is not inline either and therefore
+        it should be included; it was confirmed at a discussion at www-style.
+        http://lists.w3.org/Archives/Public/www-style/2011Sep/0238.html
+
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::getTextDecorationColors):
+
 2012-02-23  Zoltan Horvath  <zoltan@webkit.org>
 
         [Qt] Allow to use WebCore imagedecoders
index e98371b..85a2ba9 100755 (executable)
@@ -2549,7 +2549,7 @@ void RenderObject::getTextDecorationColors(int decorations, Color& underline, Co
                 linethrough = decorationColor(curr);
             }
         }
-        if (curr->isFloating() || curr->isPositioned())
+        if (curr->isFloating() || curr->isPositioned() || curr->isRubyText())
             return;
         curr = curr->parent();
         if (curr && curr->isAnonymousBlock() && toRenderBlock(curr)->continuation())