2010-10-07  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Davit Hyatt.

        Bug 41040 - :before/:after content should not become part of a ruby base
        https://bugs.webkit.org/show_bug.cgi?id=41040

        Also related to:
        https://bugs.webkit.org/show_bug.cgi?id=40895.
        https://bugs.webkit.org/show_bug.cgi?id=43722.

        Layout tests: verify that generated content is outside of the ruby base.
        Also, tests shouldn't crash.

        * fast/ruby/after-doesnt-crash-expected.txt:
        * fast/ruby/after-doesnt-crash.html: Added.
        * fast/ruby/before-doesnt-crash.html:
        * fast/ruby/ruby-beforeafter.html: Added.
        * platform/gtk/Skipped:
        * platform/mac/fast/ruby/ruby-beforeafter-expected.checksum: Added.
        * platform/mac/fast/ruby/ruby-beforeafter-expected.png: Added.
        * platform/mac/fast/ruby/ruby-beforeafter-expected.txt: Added.
        * platform/qt/Skipped:

        Explicitly handle :before and :after content in the default way.

        Test: fast/ruby/ruby-beforeafter.html
              fast/ruby/after-doesnt-crash.html

        * rendering/RenderObject.h:
        (WebCore::RenderObject::isBeforeContent):
        * rendering/RenderRuby.cpp:
        (WebCore::lastRubyRun):
        (WebCore::RenderRubyAsInline::addChild):
        (WebCore::RenderRubyAsInline::removeChild):
        (WebCore::RenderRubyAsBlock::addChild):
        (WebCore::RenderRubyAsBlock::removeChild):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
14 files changed