Fix crash when encountering illegal HTML within a continuation inside <ruby>.
authorrolandsteiner@chromium.org <rolandsteiner@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 Dec 2009 02:02:12 +0000 (02:02 +0000)
committerrolandsteiner@chromium.org <rolandsteiner@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 Dec 2009 02:02:12 +0000 (02:02 +0000)
commit826bcc55af90425a6dba0e3d922abea37520337e
treee8c6090d21479f6b685f5324ae6e32a9a93d41a7
parent57de705ee6078ca8a651c85c17651bc0fcb163c0
Fix crash when encountering illegal HTML within a continuation inside <ruby>.
(https://bugs.webkit.org/show_bug.cgi?id=32316)

Reviewed by Adam Barth.

Avoid having the anonymous blocks utilized in the ruby renderers being
re-used as continuation blocks.
Avoid having ruby runs collected as "leftover blocks".

Test: fast/ruby/ruby-illegal.html

WebCore:

* rendering/RenderRuby.h:
(WebCore::RenderRubyAsInline::removeLeftoverAnonymousBlock): mustn't be called
(WebCore::RenderRubyAsInline::isRuby): made private
(WebCore::RenderRubyAsInline::renderName): made private
(WebCore::RenderRubyAsInline::createsAnonymousWrapper): return true
(WebCore::RenderRubyAsBlock::removeLeftoverAnonymousBlock): mustn't be called
(WebCore::RenderRubyAsBlock::isRuby): made private
(WebCore::RenderRubyAsBlock::renderName): made private
(WebCore::RenderRubyAsBlock::createsAnonymousWrapper): return true
* rendering/RenderRubyRun.h:
(WebCore::RenderRubyRun::removeLeftoverAnonymousBlock): avoid
(WebCore::RenderRubyRun::isRubyRun): made private
(WebCore::RenderRubyRun::renderName): made private
(WebCore::RenderRubyRun::createsAnonymousWrapper): return true

LayoutTests:

* fast/ruby/ruby-illegal-expected.txt: Added.
* fast/ruby/ruby-illegal.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@52184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/ruby/ruby-illegal-expected.txt [new file with mode: 0644]
LayoutTests/fast/ruby/ruby-illegal.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/rendering/RenderRuby.h
WebCore/rendering/RenderRubyRun.h