Source/WebCore: Issues with merging ruby bases.
authorinferno@chromium.org <inferno@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Sep 2011 20:20:13 +0000 (20:20 +0000)
committerinferno@chromium.org <inferno@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Sep 2011 20:20:13 +0000 (20:20 +0000)
commit6c616f940b005d89a2f72a968e61be42160d911d
tree4675df63eec5d3a8cdfef22caf176e4860500960
parent21e597675e0d420b679a75ff216ea8abfc248b39
Source/WebCore: Issues with merging ruby bases.
https://bugs.webkit.org/show_bug.cgi?id=67240

Reviewed by James Robinson.

1) Change fromBeforeChild to beforeChild to match
webkit rendering naming conventions.
2) Add assert to verify ruby base is indeed emptied
after collecting all children in a single base.
3) Fix condition in mergeBlockChildren to bail out only
when we have no children and there is no work to merge
children to toBase.

Test: fast/ruby/ruby-overhang-crash.html

* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::moveChildren):
(WebCore::RenderRubyBase::moveInlineChildren):
(WebCore::RenderRubyBase::moveBlockChildren):
(WebCore::RenderRubyBase::mergeBlockChildren):
* rendering/RenderRubyBase.h:
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::removeChild):

LayoutTests: Issues with merging ruby bases.
https://bugs.webkit.org/show_bug.cgi?id=67240

Reviewed by James Robinson.

ASSERTION FAILED: !needsLayout() in RenderRubyRun::getOverhang.

* fast/ruby/ruby-overhang-crash-expected.txt: Added.
* fast/ruby/ruby-overhang-crash.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/ruby/ruby-overhang-crash-expected.txt [new file with mode: 0644]
LayoutTests/fast/ruby/ruby-overhang-crash.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderRubyBase.cpp
Source/WebCore/rendering/RenderRubyBase.h
Source/WebCore/rendering/RenderRubyRun.cpp