From b16d1a4c14ca088f9f33f179333c2ae048930d90 Mon Sep 17 00:00:00 2001 From: "inferno@chromium.org" Date: Fri, 23 Sep 2011 21:01:01 +0000 Subject: [PATCH] Source/WebCore: Style not updated for :before, :after content in ruby text. https://bugs.webkit.org/show_bug.cgi?id=68625 Reviewed by Dave Hyatt. Test: fast/ruby/ruby-text-before-after-content.html * rendering/RenderRubyText.cpp: (WebCore::RenderRubyText::updateBeforeAfterContent): * rendering/RenderRubyText.h: LayoutTests: Style not updated for :before, :after content in ruby text. https://bugs.webkit.org/show_bug.cgi?id=68625 Reviewed by Dave Hyatt. * fast/ruby/ruby-text-before-after-content-expected.png: Added. * fast/ruby/ruby-text-before-after-content-expected.txt: Added. * fast/ruby/ruby-text-before-after-content.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95857 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- LayoutTests/ChangeLog | 12 ++++++++++ .../ruby-text-before-after-content-expected.png | Bin 0 -> 15042 bytes .../ruby-text-before-after-content-expected.txt | 25 +++++++++++++++++++++ .../fast/ruby/ruby-text-before-after-content.html | 24 ++++++++++++++++++++ Source/WebCore/ChangeLog | 14 ++++++++++++ Source/WebCore/rendering/RenderRubyText.cpp | 11 +++++++++ Source/WebCore/rendering/RenderRubyText.h | 2 ++ 7 files changed, 88 insertions(+) create mode 100644 LayoutTests/fast/ruby/ruby-text-before-after-content-expected.png create mode 100644 LayoutTests/fast/ruby/ruby-text-before-after-content-expected.txt create mode 100644 LayoutTests/fast/ruby/ruby-text-before-after-content.html diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index 52d4c3b..3d9283f 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,15 @@ +2011-09-23 Abhishek Arya + + Style not updated for :before, :after content + in ruby text. + https://bugs.webkit.org/show_bug.cgi?id=68625 + + Reviewed by Dave Hyatt. + + * fast/ruby/ruby-text-before-after-content-expected.png: Added. + * fast/ruby/ruby-text-before-after-content-expected.txt: Added. + * fast/ruby/ruby-text-before-after-content.html: Added. + 2011-09-23 David Hyatt https://bugs.webkit.org/show_bug.cgi?id=68719 diff --git a/LayoutTests/fast/ruby/ruby-text-before-after-content-expected.png b/LayoutTests/fast/ruby/ruby-text-before-after-content-expected.png new file mode 100644 index 0000000000000000000000000000000000000000..2ff31aae9ae3b66facf9ff8a3e1a60047ed5a394 GIT binary patch literal 15042 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 JvR^M;`5z1NUB3VT literal 0 HcmV?d00001 diff --git a/LayoutTests/fast/ruby/ruby-text-before-after-content-expected.txt b/LayoutTests/fast/ruby/ruby-text-before-after-content-expected.txt new file mode 100644 index 0000000..69e384a --- /dev/null +++ b/LayoutTests/fast/ruby/ruby-text-before-after-content-expected.txt @@ -0,0 +1,25 @@ +layer at (0,0) size 800x600 + RenderView at (0,0) size 800x600 +layer at (0,0) size 800x87 + RenderBlock {HTML} at (0,0) size 800x87 + RenderBody {BODY} at (16,16) size 768x55 [color=#0000FF] + RenderRuby (inline) {RUBY} at (0,0) size 213x37 + RenderRubyRun (anonymous) at (0,18) size 192x37 + RenderRubyText {RT} at (0,-18) size 192x18 + RenderInline (generated) at (0,0) size 63x18 + RenderText at (0,0) size 63x18 + text run at (0,0) width 63: "BEFORE" + RenderText {#text} at (63,0) size 77x18 + text run at (63,0) width 77: "CONTENT" + RenderInline (generated) at (0,0) size 52x18 + RenderText at (140,0) size 52x18 + text run at (140,0) width 52: "AFTER" + RenderRubyBase (anonymous) at (0,0) size 192x37 + RenderText {#text} at (84,0) size 24x37 + text run at (84,0) width 24: "A" + RenderRubyRun (anonymous) at (192,18) size 21x37 + RenderRubyBase (anonymous) at (0,0) size 21x37 + RenderText {#text} at (0,0) size 21x37 + text run at (0,0) width 21: "B" + RenderText {#text} at (0,0) size 0x0 + RenderText {#text} at (0,0) size 0x0 diff --git a/LayoutTests/fast/ruby/ruby-text-before-after-content.html b/LayoutTests/fast/ruby/ruby-text-before-after-content.html new file mode 100644 index 0000000..c28b39e --- /dev/null +++ b/LayoutTests/fast/ruby/ruby-text-before-after-content.html @@ -0,0 +1,24 @@ + + + + + + +ACONTENTB + + + + \ No newline at end of file diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index d66af6b..8860965 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,17 @@ +2011-09-23 Abhishek Arya + + Style not updated for :before, :after content + in ruby text. + https://bugs.webkit.org/show_bug.cgi?id=68625 + + Reviewed by Dave Hyatt. + + Test: fast/ruby/ruby-text-before-after-content.html + + * rendering/RenderRubyText.cpp: + (WebCore::RenderRubyText::updateBeforeAfterContent): + * rendering/RenderRubyText.h: + 2011-09-22 Ojan Vafai refactor RenderFlexibleBox to use flex-flow aware methods diff --git a/Source/WebCore/rendering/RenderRubyText.cpp b/Source/WebCore/rendering/RenderRubyText.cpp index 93c684c..c49b4f6 100644 --- a/Source/WebCore/rendering/RenderRubyText.cpp +++ b/Source/WebCore/rendering/RenderRubyText.cpp @@ -86,4 +86,15 @@ bool RenderRubyText::avoidsFloats() const return true; } +void RenderRubyText::updateBeforeAfterContent(PseudoId pseudoId) +{ + // RenderRubyText manages its own :before and :after content + // and is not handled by its anonymous wrappers RenderRubyRun + // and RenderRuby. This contrasts with other ruby children, which + // are enclosed in RenderRubyBase and hence they are able to + // update their :before, :after content (since RenderRubyBase + // is not a anonymous wrapper). + return children()->updateBeforeAfterContent(this, pseudoId); +} + } // namespace WebCore diff --git a/Source/WebCore/rendering/RenderRubyText.h b/Source/WebCore/rendering/RenderRubyText.h index 3a67926..f47304c 100644 --- a/Source/WebCore/rendering/RenderRubyText.h +++ b/Source/WebCore/rendering/RenderRubyText.h @@ -46,6 +46,8 @@ public: virtual bool isChildAllowed(RenderObject*, RenderStyle*) const; + virtual void updateBeforeAfterContent(PseudoId); + private: virtual bool avoidsFloats() const; -- 2.7.4