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());
                     }
                 }