fast/block/inline-children-root-linebox-crash.html asserts after r118567
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 27 May 2012 00:43:12 +0000 (00:43 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 27 May 2012 00:43:12 +0000 (00:43 +0000)
commit12c6b388b944db26e08569f4d17fe78e928b7aa6
tree395586ba47d5d724a7162e9c28341c9e9b6b5f7d
parent7db72a0db74b7c25f9c1eda43d9184938a9371a6
fast/block/inline-children-root-linebox-crash.html asserts after r118567
https://bugs.webkit.org/show_bug.cgi?id=87544

Source/WebCore:

Reviewed by Darin Adler.

RenderInline::offsetFromContainer() set offsetDependsOnPoint to true based
on the container's flipped writing mode. However, offsetFromContainer() would
then overwrite that, since it only checked for columns.

Fix by having RenderInline::offsetFromContainer() check for flipping on
the container. This fixes the assertion.

The new testcase exercises fixes another issue; unlike mapLocalToAbsolute(),
RenderGeometryMap::absoluteRect() didn't pass the rect center point through
the mapping, which resulted in a different result in some flipping cases.

Test: compositing/geometry/flipped-blocks-inline-mapping.html

* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::absoluteRect):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::offsetFromContainer):
(WebCore::RenderInline::pushMappingToContainer):

LayoutTests:

Reviewed by Darin Adler.

Remove fast/block/inline-children-root-linebox-crash.html from the skipped
list.

New, more complex writing mode flipping test with compositing.

* compositing/geometry/flipped-blocks-inline-mapping-expected.txt: Added.
* compositing/geometry/flipped-blocks-inline-mapping.html: Added.
* platform/mac/Skipped:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@118617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/compositing/geometry/flipped-blocks-inline-mapping-expected.txt [new file with mode: 0644]
LayoutTests/compositing/geometry/flipped-blocks-inline-mapping.html [new file with mode: 0644]
LayoutTests/platform/mac/Skipped
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderGeometryMap.cpp
Source/WebCore/rendering/RenderInline.cpp