Two bug fixes.
(1) Make sure to mark positioned objects that depend on line position to
mark themselves as needing layout when their line box placeholder gets
repositioned.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::position):
(2) Improve highlighting to factor the inflation into overflow so that
invalidation and repainting will work properly.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::addHighlightOverflow):
* rendering/RootInlineBox.h:
* rendering/bidi.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/rendering/bidi.cpp b/WebCore/rendering/bidi.cpp
index b2de68d..4200cb0 100644
--- a/WebCore/rendering/bidi.cpp
+++ b/WebCore/rendering/bidi.cpp
@@ -1650,7 +1650,13 @@
// Now position our text runs vertically.
computeVerticalPositionsForLine(lineBox);
-
+
+#if PLATFORM(MAC)
+ // Highlight acts as an overflow inflation.
+ if (style()->highlight() != nullAtom)
+ lineBox->addHighlightOverflow();
+#endif
+
deleteBidiRuns(renderArena());
}
}