|
Merge 53525 - Bug 33266 WebCore::InlineFlowBox::determineSpacingForFlowBoxes ReadAV@NULL (43c64e8abbda6766e5f5edbd254c2d57)
( https://bugs.webkit.org/show_bug.cgi?id=33266)
Reviewed by Dan Bernstein.
WebCore:
Ruby did not handle malformed cases correctly when the ruby base was in
block flow. Changed the code to handle all possible cases.
Also, added some simplification methods to RenderBlock.
Tests: fast/ruby/rubyillegal1.html
fast/ruby/rubyillegal2.html
fast/ruby/rubyillegal3.html
fast/ruby/rubyillegal4.html
fast/ruby/rubyillegal5.html
fast/ruby/rubyillegal6.html
fast/ruby/rubyillegal7.html
fast/ruby/rubyillegalcombined.html
fast/ruby/rubyDOMinsertrtblock1.html
fast/ruby/rubyDOMinsertrtblock2.html
fast/ruby/rubyDOMinsertrtblock3.html
fast/ruby/rubyDOMremovertblock1.html
fast/ruby/rubyDOMremovertblock2.html
fast/ruby/rubyDOMremovertblock3.html
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::moveAllChildrenTo): useful for anonymous block manipulation
(WebCore::RenderBlock::removeChild): making use of moveAllChildrenTo
* rendering/RenderBlock.h:
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::hasOnlyWrappedInlineChildren):
(WebCore::RenderRubyBase::moveChildren):
(WebCore::RenderRubyBase::moveInlineChildren):
(WebCore::RenderRubyBase::moveBlockChildren):
(WebCore::RenderRubyBase::mergeBlockChildren):
* rendering/RenderRubyBase.h:
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::addChild):
(WebCore::RenderRubyRun::removeChild):
LayoutTests:
Layout tests for ruby with malformed HTML.
Split up in individual tests, as well ass added a single combined test
(whose resulting render tree is probably completely different from what
you'd expect), since that combined test showed additional issues not
covered by the individual tests.
* fast/ruby/rubyillegal1expected.txt: Added.
* fast/ruby/rubyillegal1.html: Added.
* fast/ruby/rubyillegal2expected.txt: Added.
* fast/ruby/rubyillegal2.html: Added.
* fast/ruby/rubyillegal3expected.txt: Added.
* fast/ruby/rubyillegal3.html: Added.
* fast/ruby/rubyillegal4expected.txt: Added.
* fast/ruby/rubyillegal4.html: Added.
* fast/ruby/rubyillegal5expected.txt: Added.
* fast/ruby/rubyillegal5.html: Added.
* fast/ruby/rubyillegal6expected.txt: Added.
* fast/ruby/rubyillegal6.html: Added.
* fast/ruby/rubyillegal7expected.txt: Added.
* fast/ruby/rubyillegal7.html: Added.
* fast/ruby/rubyillegalcombinedexpected.txt: Added.
* fast/ruby/rubyillegalcombined.html: Added.
* fast/ruby/rubyillegalexpected.txt: Removed.
* fast/ruby/rubyillegal.html: Removed.
* fast/ruby/rubyDOMinsertrtblock1expected.txt: Added.
* fast/ruby/rubyDOMinsertrtblock1.html: Added.
* fast/ruby/rubyDOMinsertrtblock2expected.txt: Added.
* fast/ruby/rubyDOMinsertrtblock2.html: Added.
* fast/ruby/rubyDOMinsertrtblock3expected.txt: Added.
* fast/ruby/rubyDOMinsertrtblock3.html: Added.
* fast/ruby/rubyDOMremovertblock1expected.txt: Added.
* fast/ruby/rubyDOMremovertblock1.html: Added.
* fast/ruby/rubyDOMremovertblock2expected.txt: Added.
* fast/ruby/rubyDOMremovertblock2.html: Added.
* fast/ruby/rubyDOMremovertblock3expected.txt: Added.
* fast/ruby/rubyDOMremovertblock3.html: Added.
TBR=rolandsteiner@chromium.org
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=37095
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+636 lines, -72 lines) |
Patch |
|
M |
LayoutTests/ChangeLog
|
View
|
|
1 chunk |
+44 lines, -0 lines |
0 comments
|
Download
|
|
D |
LayoutTests/fast/ruby/ruby-illegal.html
|
View
|
|
1 chunk |
+0 lines, -22 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-1.html
|
View
|
|
1 chunk |
+17 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-1-expected.txt
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-2.html
|
View
|
|
1 chunk |
+17 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-2-expected.txt
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-3.html
|
View
|
|
1 chunk |
+17 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-3-expected.txt
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-4.html
|
View
|
|
1 chunk |
+17 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-4-expected.txt
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-5.html
|
View
|
|
1 chunk |
+17 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-5-expected.txt
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-6.html
|
View
|
|
1 chunk |
+17 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-6-expected.txt
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-7.html
|
View
|
|
1 chunk |
+17 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-7-expected.txt
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-combined.html
|
View
|
|
1 chunk |
+24 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/ruby-illegal-combined-expected.txt
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
|
D |
LayoutTests/fast/ruby/ruby-illegal-expected.txt
|
View
|
|
1 chunk |
+0 lines, -5 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/rubyDOM-insert-rt-block-1.html
|
View
|
|
1 chunk |
+28 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/rubyDOM-insert-rt-block-1-expected.txt
|
View
|
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/rubyDOM-insert-rt-block-2.html
|
View
|
|
1 chunk |
+28 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/rubyDOM-insert-rt-block-2-expected.txt
|
View
|
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/rubyDOM-insert-rt-block-3.html
|
View
|
|
1 chunk |
+28 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/rubyDOM-insert-rt-block-3-expected.txt
|
View
|
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/rubyDOM-remove-rt-block-1.html
|
View
|
|
1 chunk |
+25 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/rubyDOM-remove-rt-block-1-expected.txt
|
View
|
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/rubyDOM-remove-rt-block-2.html
|
View
|
|
1 chunk |
+25 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/rubyDOM-remove-rt-block-2-expected.txt
|
View
|
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/rubyDOM-remove-rt-block-3.html
|
View
|
|
1 chunk |
+25 lines, -0 lines |
0 comments
|
Download
|
|
A |
LayoutTests/fast/ruby/rubyDOM-remove-rt-block-3-expected.txt
|
View
|
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
WebCore/ChangeLog
|
View
|
|
1 chunk |
+41 lines, -0 lines |
0 comments
|
Download
|
|
M |
WebCore/rendering/RenderBlock.h
|
View
|
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
WebCore/rendering/RenderBlock.cpp
|
View
|
|
3 chunks |
+29 lines, -18 lines |
0 comments
|
Download
|
|
M |
WebCore/rendering/RenderRubyBase.h
|
View
|
|
1 chunk |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
WebCore/rendering/RenderRubyBase.cpp
|
View
|
|
1 chunk |
+123 lines, -23 lines |
0 comments
|
Download
|
|
M |
WebCore/rendering/RenderRubyRun.cpp
|
View
|
|
2 chunks |
+6 lines, -2 lines |
0 comments
|
Download
|
Total messages: 2 (0 generated)
|