Repaint issue with vertical text in an out of flow container.
authorzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 Jun 2016 05:27:53 +0000 (05:27 +0000)
committerzalan@apple.com <zalan@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 Jun 2016 05:27:53 +0000 (05:27 +0000)
commitd33eb99186e7f4126562cb38e0c282624a54f87b
tree5f991cd35be312f81e9933fbf28ca2e2999b6951
parentfda37459a1b4823b6e2bb63448a81e58318c94b2
Repaint issue with vertical text in an out of flow container.
https://bugs.webkit.org/show_bug.cgi?id=102665
<rdar://problem/26605298>

Reviewed by David Hyatt.

Since the renderer’s offset for positioned objects is always physical, we only
need to flip the repaint rect(always logical) for writing root, when we see the first positioned object.
All subsequent writing root changes for positioned objects are okay and they don't need flipping.

Source/WebCore:

Test: fast/repaint/vertical-text-repaint.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeRectForRepaint):
* rendering/RenderBox.h:
(WebCore::RenderBox::computeRectForRepaint):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::computeRectForRepaint):
* rendering/RenderInline.h:
(WebCore::RenderInline::computeRectForRepaint):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::computeRectForRepaint):
* rendering/RenderObject.h:
(WebCore::RenderObject::computeAbsoluteRepaintRect):
(WebCore::RenderObject::computeRectForRepaint):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computeRectForRepaint):
* rendering/RenderTableCell.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::computeRectForRepaint):
* rendering/RenderView.h:
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::computeRectForRepaint):
* rendering/svg/RenderSVGForeignObject.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeFloatRectForRepaint):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::computeRectForRepaint):
* rendering/svg/RenderSVGText.h:

LayoutTests:

* fast/repaint/vertical-text-repaint-expected.txt: Added.
* fast/repaint/vertical-text-repaint.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
20 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/repaint/vertical-text-repaint-expected.txt [new file with mode: 0644]
LayoutTests/fast/repaint/vertical-text-repaint.html [new file with mode: 0644]
LayoutTests/platform/mac-wk1/TestExpectations
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderBox.cpp
Source/WebCore/rendering/RenderBox.h
Source/WebCore/rendering/RenderInline.cpp
Source/WebCore/rendering/RenderInline.h
Source/WebCore/rendering/RenderObject.cpp
Source/WebCore/rendering/RenderObject.h
Source/WebCore/rendering/RenderTableCell.cpp
Source/WebCore/rendering/RenderTableCell.h
Source/WebCore/rendering/RenderView.cpp
Source/WebCore/rendering/RenderView.h
Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp
Source/WebCore/rendering/svg/RenderSVGForeignObject.h
Source/WebCore/rendering/svg/RenderSVGRoot.cpp
Source/WebCore/rendering/svg/RenderSVGText.cpp
Source/WebCore/rendering/svg/RenderSVGText.h