[CSSRegions] Implement offsetParent for elements inside named flow
https://bugs.webkit.org/show_bug.cgi?id=113276

Source/WebCore:

In the offsetParent algorithm, the nearest ancestor search skips from the topmost named flow elements directly to the body element.
http://dev.w3.org/csswg/css-regions/#cssomview-offset-attributes

As a result of this change, the DumpRenderTree tool would crash in
WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent when running the selecting-text-through-different-region-flows.html
test. The RenderObjects inside a flow are attached to the RenderFlowThread. However, the RenderFlowThread is attached to the
RenderView directly, meaning that we are going to bypass the <body>'s RenderObject while iterating the parents.

Patch by Radu Stavila <stavila@adobe.com> on 2013-05-15
Reviewed by Darin Adler.

Tests: fast/regions/offsetParent-body-in-flow-thread.html
       fast/regions/offsetParent-in-flow-thread.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::offsetParent):

LayoutTests:

Patch by Radu Stavila <stavila@adobe.com> on 2013-05-15
Reviewed by Darin Adler.

In the offsetParent algorithm, the nearest ancestor search skips from the topmost named flow elements directly to the body element.

Added new test for offsetParent when body is flowed into a region.
Updated existing offsetParent test.

* fast/regions/offsetParent-body-in-flow-thread-expected.txt: Added.
* fast/regions/offsetParent-body-in-flow-thread.html: Added.
* fast/regions/offsetParent-in-flow-thread-expected.txt:
* fast/regions/offsetParent-in-flow-thread.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
8 files changed