Fix nested unicode-bidi: isolate
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Sep 2013 19:23:58 +0000 (19:23 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Sep 2013 19:23:58 +0000 (19:23 +0000)
commite11d24465625d807fa60eb6da44212828f4aedff
tree58f1f3bf2eb4371b5eaa7fb63ae047c23bd31fdf
parent2a63879f87adefa1e7e595a3d3a09e6e9e390de8
Fix nested unicode-bidi: isolate
https://bugs.webkit.org/show_bug.cgi?id=120504

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-09-11
Reviewed by Darin Adler.

Source/WebCore:

When we have a nested isolate renderer if the outer isolate has a text
and this text is not the first child, the isolated chain is not
rendered correctly. This happens because constructBidiRunsForSegment
uses always the first inner isolated renderer as isolated inline
container. This patch fixes the behavior described changing
containingIsolate to find the right isolated container.

Blink: https://chromium.googlesource.com/chromium/blink/+/840a57050eade39dd04dde0c6603e129b783151c
Tests: fast/text/international/unicode-bidi-isolate-nested-first-child-text.html
       fast/text/international/unicode-bidi-isolate-nested-simple.html

* rendering/InlineIterator.h:
(WebCore::containingIsolate):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::constructBidiRunsForSegment):

LayoutTests:

* fast/text/international/unicode-bidi-isolate-nested-first-child-text-expected.html: Added.
* fast/text/international/unicode-bidi-isolate-nested-first-child-text.html: Added.
* fast/text/international/unicode-bidi-isolate-nested-simple-expected.html: Added.
* fast/text/international/unicode-bidi-isolate-nested-simple.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@155554 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/text/international/unicode-bidi-isolate-nested-first-child-text-expected.html [new file with mode: 0644]
LayoutTests/fast/text/international/unicode-bidi-isolate-nested-first-child-text.html [new file with mode: 0644]
LayoutTests/fast/text/international/unicode-bidi-isolate-nested-simple-expected.html [new file with mode: 0644]
LayoutTests/fast/text/international/unicode-bidi-isolate-nested-simple.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/rendering/InlineIterator.h
Source/WebCore/rendering/RenderBlockLineLayout.cpp