[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

hyatt at apple.com hyatt at apple.com
Wed Dec 22 15:45:34 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 7a97d270717a7521abf561c697462eda671bbfc1
Author: hyatt at apple.com <hyatt at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Nov 11 22:17:38 2010 +0000

    https://bugs.webkit.org/show_bug.cgi?id=48664
    
    Reviewed by Simon Fraser.
    
    Make repaint invalidation work with flipped blocks ("rl" and "bt" writing modes).
    
    This patch disables the layout state for flipped blocks, since the paint offset isn't right.
    
    Bugs in the overflow sides for lines have been fixed.  before/AfterSideVisible/LayoutOverflowForLine
    now respect flipping (and don't incorrectly change sides).  This is a very confusing aspect of
    the overflow stuff (and at some point we should consider renaming top/left/right/bottom since they
    aren't physical).
    
    offsetFromContainer and mapLocalToContainer remain physical and refer to the top left offset.
    This means at every step up you convert to the correct physical coordinate.  It also means these
    functions will be unreliable during layout for flipped blocks.  At first glance, this seems to be
    more or less ok.
    
    computeRectForRepaint now delays flipping conversions until you cross a writing-mode boundary.  This
    allows for documents to be fully flipped and repaint during layout can still be reliable.  This is
    critical for incremental line layout repainting.
    
    Added new tests in fast/repaint and also rebaselined the tests in that directory because I'm tired
    of all the stale results and failures.
    
    WebCore:
    
    * editing/SelectionController.cpp:
    (WebCore::SelectionController::absoluteBoundsForLocalRect):
    (WebCore::SelectionController::paintCaret):
    * rendering/InlineTextBox.cpp:
    (WebCore::InlineTextBox::selectionRect):
    * rendering/RenderBlock.cpp:
    (WebCore::RenderBlock::layoutBlock):
    (WebCore::RenderBlock::layoutOnlyPositionedObjects):
    (WebCore::RenderBlock::paintSelection):
    * rendering/RenderBlockLineLayout.cpp:
    (WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
    (WebCore::RenderBlock::afterSideVisibleOverflowForLine):
    (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
    (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
    * rendering/RenderBox.cpp:
    (WebCore::RenderBox::layout):
    (WebCore::RenderBox::mapLocalToContainer):
    (WebCore::RenderBox::offsetFromContainer):
    (WebCore::RenderBox::clippedOverflowRectForRepaint):
    (WebCore::RenderBox::computeRectForRepaint):
    (WebCore::RenderBox::flipForWritingMode):
    (WebCore::RenderBox::locationOffsetIncludingFlipping):
    * rendering/RenderBox.h:
    * rendering/RenderFlexibleBox.cpp:
    (WebCore::RenderFlexibleBox::layoutBlock):
    * rendering/RenderInline.cpp:
    (WebCore::RenderInline::clippedOverflowRectForRepaint):
    * rendering/RenderSlider.cpp:
    (WebCore::RenderSlider::layout):
    * rendering/RenderTable.cpp:
    (WebCore::RenderTable::layout):
    * rendering/RenderTableRow.cpp:
    (WebCore::RenderTableRow::layout):
    * rendering/RenderTableSection.cpp:
    (WebCore::RenderTableSection::layout):
    (WebCore::RenderTableSection::layoutRows):
    * rendering/RenderView.cpp:
    (WebCore::RenderView::computeRectForRepaint):
    * rendering/ShadowElement.cpp:
    (WebCore::ShadowBlockElement::layoutAsPart):
    
    LayoutTests:
    
    * fast/repaint/japanese-rl-selection-clear.html: Added.
    * fast/repaint/japanese-rl-selection-repaint.html: Added.
    * fast/repaint/repaint-svg-after-style-change-expected.png:
    * platform/mac/fast/repaint/4774354-expected.checksum:
    * platform/mac/fast/repaint/4774354-expected.png:
    * platform/mac/fast/repaint/4776765-expected.checksum:
    * platform/mac/fast/repaint/4776765-expected.png:
    * platform/mac/fast/repaint/background-generated-expected.checksum:
    * platform/mac/fast/repaint/background-generated-expected.png:
    * platform/mac/fast/repaint/background-misaligned-expected.png:
    * platform/mac/fast/repaint/backgroundSizeRepaint-expected.checksum:
    * platform/mac/fast/repaint/backgroundSizeRepaint-expected.png:
    * platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.checksum:
    * platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.png:
    * platform/mac/fast/repaint/block-no-inflow-children-expected.checksum:
    * platform/mac/fast/repaint/block-no-inflow-children-expected.png:
    * platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.checksum:
    * platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.png:
    * platform/mac/fast/repaint/block-selection-gap-stale-cache-2-expected.png:
    * platform/mac/fast/repaint/border-fit-lines-expected.checksum:
    * platform/mac/fast/repaint/border-fit-lines-expected.png:
    * platform/mac/fast/repaint/border-radius-repaint-expected.checksum:
    * platform/mac/fast/repaint/border-radius-repaint-expected.png:
    * platform/mac/fast/repaint/border-repaint-glitch-expected.checksum:
    * platform/mac/fast/repaint/border-repaint-glitch-expected.png:
    * platform/mac/fast/repaint/box-shadow-dynamic-expected.checksum:
    * platform/mac/fast/repaint/box-shadow-dynamic-expected.png:
    * platform/mac/fast/repaint/box-shadow-h-expected.checksum:
    * platform/mac/fast/repaint/box-shadow-h-expected.png:
    * platform/mac/fast/repaint/box-shadow-v-expected.checksum:
    * platform/mac/fast/repaint/box-shadow-v-expected.png:
    * platform/mac/fast/repaint/bugzilla-3509-expected.checksum:
    * platform/mac/fast/repaint/bugzilla-3509-expected.png:
    * platform/mac/fast/repaint/bugzilla-5699-expected.checksum:
    * platform/mac/fast/repaint/bugzilla-5699-expected.png:
    * platform/mac/fast/repaint/bugzilla-6278-expected.checksum:
    * platform/mac/fast/repaint/bugzilla-6278-expected.png:
    * platform/mac/fast/repaint/bugzilla-6388-expected.checksum:
    * platform/mac/fast/repaint/bugzilla-6388-expected.png:
    * platform/mac/fast/repaint/bugzilla-6473-expected.checksum:
    * platform/mac/fast/repaint/bugzilla-6473-expected.png:
    * platform/mac/fast/repaint/bugzilla-7235-expected.checksum:
    * platform/mac/fast/repaint/bugzilla-7235-expected.png:
    * platform/mac/fast/repaint/button-spurious-layout-hint-expected.png:
    * platform/mac/fast/repaint/caret-outside-block-expected.checksum:
    * platform/mac/fast/repaint/caret-outside-block-expected.png:
    * platform/mac/fast/repaint/change-transform-expected.checksum:
    * platform/mac/fast/repaint/change-transform-expected.png:
    * platform/mac/fast/repaint/clip-with-layout-delta-expected.png:
    * platform/mac/fast/repaint/clipped-relative-expected.checksum:
    * platform/mac/fast/repaint/clipped-relative-expected.png:
    * platform/mac/fast/repaint/containing-block-position-change-expected.checksum:
    * platform/mac/fast/repaint/containing-block-position-change-expected.png:
    * platform/mac/fast/repaint/content-into-overflow-expected.png:
    * platform/mac/fast/repaint/continuation-after-outline-expected.checksum:
    * platform/mac/fast/repaint/continuation-after-outline-expected.png:
    * platform/mac/fast/repaint/control-clip-expected.checksum:
    * platform/mac/fast/repaint/control-clip-expected.png:
    * platform/mac/fast/repaint/create-layer-repaint-expected.checksum:
    * platform/mac/fast/repaint/create-layer-repaint-expected.png:
    * platform/mac/fast/repaint/delete-into-nested-block-expected.checksum:
    * platform/mac/fast/repaint/delete-into-nested-block-expected.png:
    * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.checksum:
    * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png:
    * platform/mac/fast/repaint/erase-overflow-expected.png:
    * platform/mac/fast/repaint/fixed-expected.checksum:
    * platform/mac/fast/repaint/fixed-expected.png:
    * platform/mac/fast/repaint/flexible-box-overflow-expected.checksum:
    * platform/mac/fast/repaint/flexible-box-overflow-expected.png:
    * platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.checksum:
    * platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.png:
    * platform/mac/fast/repaint/float-in-new-block-with-layout-delta-expected.png:
    * platform/mac/fast/repaint/float-move-during-layout-expected.checksum:
    * platform/mac/fast/repaint/float-move-during-layout-expected.png:
    * platform/mac/fast/repaint/float-new-in-block-expected.png:
    * platform/mac/fast/repaint/float-overflow-expected.png:
    * platform/mac/fast/repaint/float-overflow-right-expected.png:
    * platform/mac/fast/repaint/focus-layers-expected.checksum:
    * platform/mac/fast/repaint/focus-layers-expected.png:
    * platform/mac/fast/repaint/focus-ring-expected.png:
    * platform/mac/fast/repaint/inline-block-overflow-expected.checksum:
    * platform/mac/fast/repaint/inline-block-overflow-expected.png:
    * platform/mac/fast/repaint/inline-block-resize-expected.png:
    * platform/mac/fast/repaint/inline-color-change-expected.checksum:
    * platform/mac/fast/repaint/inline-color-change-expected.png:
    * platform/mac/fast/repaint/inline-outline-repaint-expected.checksum:
    * platform/mac/fast/repaint/inline-outline-repaint-expected.png:
    * platform/mac/fast/repaint/intermediate-layout-position-clip-expected.png:
    * platform/mac/fast/repaint/intermediate-layout-position-expected.png:
    * platform/mac/fast/repaint/invisible-objects-expected.png:
    * platform/mac/fast/repaint/japanese-rl-selection-clear-expected.checksum: Added.
    * platform/mac/fast/repaint/japanese-rl-selection-clear-expected.png: Added.
    * platform/mac/fast/repaint/japanese-rl-selection-clear-expected.txt: Added.
    * platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.checksum: Added.
    * platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.png: Added.
    * platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.txt: Added.
    * platform/mac/fast/repaint/layer-child-outline-expected.checksum:
    * platform/mac/fast/repaint/layer-child-outline-expected.png:
    * platform/mac/fast/repaint/layer-full-repaint-expected.png:
    * platform/mac/fast/repaint/layer-hide-when-needs-layout-expected.png:
    * platform/mac/fast/repaint/layer-outline-expected.checksum:
    * platform/mac/fast/repaint/layer-outline-expected.png:
    * platform/mac/fast/repaint/layer-outline-horizontal-expected.checksum:
    * platform/mac/fast/repaint/layer-outline-horizontal-expected.png:
    * platform/mac/fast/repaint/layer-visibility-expected.png:
    * platform/mac/fast/repaint/layout-state-only-positioned-expected.png:
    * platform/mac/fast/repaint/layout-state-relative-expected.checksum:
    * platform/mac/fast/repaint/layout-state-relative-expected.png:
    * platform/mac/fast/repaint/layout-state-scrolloffset-expected.checksum:
    * platform/mac/fast/repaint/layout-state-scrolloffset-expected.png:
    * platform/mac/fast/repaint/layout-state-scrolloffset2-expected.checksum:
    * platform/mac/fast/repaint/layout-state-scrolloffset2-expected.png:
    * platform/mac/fast/repaint/layout-state-scrolloffset3-expected.checksum:
    * platform/mac/fast/repaint/layout-state-scrolloffset3-expected.png:
    * platform/mac/fast/repaint/line-overflow-expected.checksum:
    * platform/mac/fast/repaint/line-overflow-expected.png:
    * platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum:
    * platform/mac/fast/repaint/lines-with-layout-delta-expected.png:
    * platform/mac/fast/repaint/list-marker-2-expected.checksum:
    * platform/mac/fast/repaint/list-marker-2-expected.png:
    * platform/mac/fast/repaint/list-marker-expected.checksum:
    * platform/mac/fast/repaint/list-marker-expected.png:
    * platform/mac/fast/repaint/make-children-non-inline-expected.checksum:
    * platform/mac/fast/repaint/make-children-non-inline-expected.png:
    * platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum:
    * platform/mac/fast/repaint/moving-shadow-on-container-expected.png:
    * platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum:
    * platform/mac/fast/repaint/moving-shadow-on-path-expected.png:
    * platform/mac/fast/repaint/multicol-repaint-expected.checksum:
    * platform/mac/fast/repaint/multicol-repaint-expected.png:
    * platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.checksum:
    * platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.png:
    * platform/mac/fast/repaint/outline-child-repaint-expected.checksum:
    * platform/mac/fast/repaint/outline-child-repaint-expected.png:
    * platform/mac/fast/repaint/outline-inset-expected.png:
    * platform/mac/fast/repaint/outline-repaint-glitch-expected.checksum:
    * platform/mac/fast/repaint/outline-repaint-glitch-expected.png:
    * platform/mac/fast/repaint/outline-shrinking-expected.checksum:
    * platform/mac/fast/repaint/outline-shrinking-expected.png:
    * platform/mac/fast/repaint/overflow-clip-subtree-layout-expected.png:
    * platform/mac/fast/repaint/overflow-delete-line-expected.checksum:
    * platform/mac/fast/repaint/overflow-delete-line-expected.png:
    * platform/mac/fast/repaint/overflow-into-content-expected.png:
    * platform/mac/fast/repaint/overflow-outline-repaint-expected.checksum:
    * platform/mac/fast/repaint/overflow-outline-repaint-expected.png:
    * platform/mac/fast/repaint/overflow-scroll-body-appear-expected.checksum:
    * platform/mac/fast/repaint/overflow-scroll-body-appear-expected.png:
    * platform/mac/fast/repaint/overflow-scroll-delete-expected.checksum:
    * platform/mac/fast/repaint/overflow-scroll-delete-expected.png:
    * platform/mac/fast/repaint/reflection-redraw-expected.checksum:
    * platform/mac/fast/repaint/reflection-redraw-expected.png:
    * platform/mac/fast/repaint/reflection-repaint-test-expected.png:
    * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png:
    * platform/mac/fast/repaint/repaint-resized-overflow-expected.checksum:
    * platform/mac/fast/repaint/repaint-resized-overflow-expected.png:
    * platform/mac/fast/repaint/search-field-cancel-expected.checksum:
    * platform/mac/fast/repaint/search-field-cancel-expected.png:
    * platform/mac/fast/repaint/selected-replaced-expected.checksum:
    * platform/mac/fast/repaint/selected-replaced-expected.png:
    * platform/mac/fast/repaint/selection-after-delete-expected.checksum:
    * platform/mac/fast/repaint/selection-after-delete-expected.png:
    * platform/mac/fast/repaint/selection-after-remove-expected.checksum:
    * platform/mac/fast/repaint/selection-after-remove-expected.png:
    * platform/mac/fast/repaint/selection-clear-expected.checksum:
    * platform/mac/fast/repaint/selection-clear-expected.png:
    * platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.checksum:
    * platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.png:
    * platform/mac/fast/repaint/selection-rl-expected.checksum:
    * platform/mac/fast/repaint/selection-rl-expected.png:
    * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png:
    * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum:
    * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
    * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum:
    * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:
    * platform/mac/fast/repaint/shadow-multiple-vertical-expected.png:
    * platform/mac/fast/repaint/stacked-diacritics-expected.checksum:
    * platform/mac/fast/repaint/stacked-diacritics-expected.png:
    * platform/mac/fast/repaint/static-to-positioned-expected.checksum:
    * platform/mac/fast/repaint/static-to-positioned-expected.png:
    * platform/mac/fast/repaint/subtree-root-clip-2-expected.png:
    * platform/mac/fast/repaint/subtree-root-clip-3-expected.png:
    * platform/mac/fast/repaint/subtree-root-clip-expected.png:
    * platform/mac/fast/repaint/subtree-root-skipped-expected.checksum:
    * platform/mac/fast/repaint/subtree-root-skipped-expected.png:
    * platform/mac/fast/repaint/table-cell-collapsed-border-expected.checksum:
    * platform/mac/fast/repaint/table-cell-collapsed-border-expected.png:
    * platform/mac/fast/repaint/table-cell-move-expected.checksum:
    * platform/mac/fast/repaint/table-cell-move-expected.png:
    * platform/mac/fast/repaint/table-cell-vertical-overflow-expected.png:
    * platform/mac/fast/repaint/table-col-background-expected.png:
    * platform/mac/fast/repaint/table-collapsed-border-expected.checksum:
    * platform/mac/fast/repaint/table-collapsed-border-expected.png:
    * platform/mac/fast/repaint/table-extra-bottom-grow-expected.checksum:
    * platform/mac/fast/repaint/table-extra-bottom-grow-expected.png:
    * platform/mac/fast/repaint/table-outer-border-expected.png:
    * platform/mac/fast/repaint/table-row-expected.png:
    * platform/mac/fast/repaint/table-section-overflow-expected.png:
    * platform/mac/fast/repaint/table-section-repaint-expected.png:
    * platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.png:
    * platform/mac/fast/repaint/text-append-dirty-lines-expected.checksum:
    * platform/mac/fast/repaint/text-append-dirty-lines-expected.png:
    * platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.checksum:
    * platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.png:
    * platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.checksum:
    * platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.png:
    * platform/mac/fast/repaint/text-shadow-expected.checksum:
    * platform/mac/fast/repaint/text-shadow-expected.png:
    * platform/mac/fast/repaint/text-shadow-horizontal-expected.checksum:
    * platform/mac/fast/repaint/text-shadow-horizontal-expected.png:
    * platform/mac/fast/repaint/transform-absolute-child-expected.png:
    * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.checksum:
    * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.png:
    * platform/mac/fast/repaint/transform-disable-layoutstate-expected.png:
    * platform/mac/fast/repaint/transform-layout-repaint-expected.png:
    * platform/mac/fast/repaint/transform-relative-position-expected.checksum:
    * platform/mac/fast/repaint/transform-relative-position-expected.png:
    * platform/mac/fast/repaint/transform-repaint-descendants-expected.checksum:
    * platform/mac/fast/repaint/transform-repaint-descendants-expected.png:
    * platform/mac/fast/repaint/transform-replaced-shadows-expected.png:
    * platform/mac/fast/repaint/transform-translate-expected.png:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71851 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 49d514d..d33db7f 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,251 @@
+2010-11-11  David Hyatt  <hyatt at apple.com>
+
+        Reviewed by Simon Fraser.
+
+        https://bugs.webkit.org/show_bug.cgi?id=48664
+        
+        Make repaint invalidation work with flipped blocks ("rl" and "bt" writing modes).
+        
+        This patch disables the layout state for flipped blocks, since the paint offset isn't right.
+        
+        Bugs in the overflow sides for lines have been fixed.  before/AfterSideVisible/LayoutOverflowForLine
+        now respect flipping (and don't incorrectly change sides).  This is a very confusing aspect of
+        the overflow stuff (and at some point we should consider renaming top/left/right/bottom since they
+        aren't physical).
+        
+        offsetFromContainer and mapLocalToContainer remain physical and refer to the top left offset.
+        This means at every step up you convert to the correct physical coordinate.  It also means these
+        functions will be unreliable during layout for flipped blocks.  At first glance, this seems to be
+        more or less ok.
+        
+        computeRectForRepaint now delays flipping conversions until you cross a writing-mode boundary.  This
+        allows for documents to be fully flipped and repaint during layout can still be reliable.  This is
+        critical for incremental line layout repainting.
+        
+        Added new tests in fast/repaint and also rebaselined the tests in that directory because I'm tired
+        of all the stale results and failures.
+
+        * fast/repaint/japanese-rl-selection-clear.html: Added.
+        * fast/repaint/japanese-rl-selection-repaint.html: Added.
+        * fast/repaint/repaint-svg-after-style-change-expected.png:
+        * platform/mac/fast/repaint/4774354-expected.checksum:
+        * platform/mac/fast/repaint/4774354-expected.png:
+        * platform/mac/fast/repaint/4776765-expected.checksum:
+        * platform/mac/fast/repaint/4776765-expected.png:
+        * platform/mac/fast/repaint/background-generated-expected.checksum:
+        * platform/mac/fast/repaint/background-generated-expected.png:
+        * platform/mac/fast/repaint/background-misaligned-expected.png:
+        * platform/mac/fast/repaint/backgroundSizeRepaint-expected.checksum:
+        * platform/mac/fast/repaint/backgroundSizeRepaint-expected.png:
+        * platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.checksum:
+        * platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.png:
+        * platform/mac/fast/repaint/block-no-inflow-children-expected.checksum:
+        * platform/mac/fast/repaint/block-no-inflow-children-expected.png:
+        * platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.checksum:
+        * platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.png:
+        * platform/mac/fast/repaint/block-selection-gap-stale-cache-2-expected.png:
+        * platform/mac/fast/repaint/border-fit-lines-expected.checksum:
+        * platform/mac/fast/repaint/border-fit-lines-expected.png:
+        * platform/mac/fast/repaint/border-radius-repaint-expected.checksum:
+        * platform/mac/fast/repaint/border-radius-repaint-expected.png:
+        * platform/mac/fast/repaint/border-repaint-glitch-expected.checksum:
+        * platform/mac/fast/repaint/border-repaint-glitch-expected.png:
+        * platform/mac/fast/repaint/box-shadow-dynamic-expected.checksum:
+        * platform/mac/fast/repaint/box-shadow-dynamic-expected.png:
+        * platform/mac/fast/repaint/box-shadow-h-expected.checksum:
+        * platform/mac/fast/repaint/box-shadow-h-expected.png:
+        * platform/mac/fast/repaint/box-shadow-v-expected.checksum:
+        * platform/mac/fast/repaint/box-shadow-v-expected.png:
+        * platform/mac/fast/repaint/bugzilla-3509-expected.checksum:
+        * platform/mac/fast/repaint/bugzilla-3509-expected.png:
+        * platform/mac/fast/repaint/bugzilla-5699-expected.checksum:
+        * platform/mac/fast/repaint/bugzilla-5699-expected.png:
+        * platform/mac/fast/repaint/bugzilla-6278-expected.checksum:
+        * platform/mac/fast/repaint/bugzilla-6278-expected.png:
+        * platform/mac/fast/repaint/bugzilla-6388-expected.checksum:
+        * platform/mac/fast/repaint/bugzilla-6388-expected.png:
+        * platform/mac/fast/repaint/bugzilla-6473-expected.checksum:
+        * platform/mac/fast/repaint/bugzilla-6473-expected.png:
+        * platform/mac/fast/repaint/bugzilla-7235-expected.checksum:
+        * platform/mac/fast/repaint/bugzilla-7235-expected.png:
+        * platform/mac/fast/repaint/button-spurious-layout-hint-expected.png:
+        * platform/mac/fast/repaint/caret-outside-block-expected.checksum:
+        * platform/mac/fast/repaint/caret-outside-block-expected.png:
+        * platform/mac/fast/repaint/change-transform-expected.checksum:
+        * platform/mac/fast/repaint/change-transform-expected.png:
+        * platform/mac/fast/repaint/clip-with-layout-delta-expected.png:
+        * platform/mac/fast/repaint/clipped-relative-expected.checksum:
+        * platform/mac/fast/repaint/clipped-relative-expected.png:
+        * platform/mac/fast/repaint/containing-block-position-change-expected.checksum:
+        * platform/mac/fast/repaint/containing-block-position-change-expected.png:
+        * platform/mac/fast/repaint/content-into-overflow-expected.png:
+        * platform/mac/fast/repaint/continuation-after-outline-expected.checksum:
+        * platform/mac/fast/repaint/continuation-after-outline-expected.png:
+        * platform/mac/fast/repaint/control-clip-expected.checksum:
+        * platform/mac/fast/repaint/control-clip-expected.png:
+        * platform/mac/fast/repaint/create-layer-repaint-expected.checksum:
+        * platform/mac/fast/repaint/create-layer-repaint-expected.png:
+        * platform/mac/fast/repaint/delete-into-nested-block-expected.checksum:
+        * platform/mac/fast/repaint/delete-into-nested-block-expected.png:
+        * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.checksum:
+        * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png:
+        * platform/mac/fast/repaint/erase-overflow-expected.png:
+        * platform/mac/fast/repaint/fixed-expected.checksum:
+        * platform/mac/fast/repaint/fixed-expected.png:
+        * platform/mac/fast/repaint/flexible-box-overflow-expected.checksum:
+        * platform/mac/fast/repaint/flexible-box-overflow-expected.png:
+        * platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.checksum:
+        * platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.png:
+        * platform/mac/fast/repaint/float-in-new-block-with-layout-delta-expected.png:
+        * platform/mac/fast/repaint/float-move-during-layout-expected.checksum:
+        * platform/mac/fast/repaint/float-move-during-layout-expected.png:
+        * platform/mac/fast/repaint/float-new-in-block-expected.png:
+        * platform/mac/fast/repaint/float-overflow-expected.png:
+        * platform/mac/fast/repaint/float-overflow-right-expected.png:
+        * platform/mac/fast/repaint/focus-layers-expected.checksum:
+        * platform/mac/fast/repaint/focus-layers-expected.png:
+        * platform/mac/fast/repaint/focus-ring-expected.png:
+        * platform/mac/fast/repaint/inline-block-overflow-expected.checksum:
+        * platform/mac/fast/repaint/inline-block-overflow-expected.png:
+        * platform/mac/fast/repaint/inline-block-resize-expected.png:
+        * platform/mac/fast/repaint/inline-color-change-expected.checksum:
+        * platform/mac/fast/repaint/inline-color-change-expected.png:
+        * platform/mac/fast/repaint/inline-outline-repaint-expected.checksum:
+        * platform/mac/fast/repaint/inline-outline-repaint-expected.png:
+        * platform/mac/fast/repaint/intermediate-layout-position-clip-expected.png:
+        * platform/mac/fast/repaint/intermediate-layout-position-expected.png:
+        * platform/mac/fast/repaint/invisible-objects-expected.png:
+        * platform/mac/fast/repaint/japanese-rl-selection-clear-expected.checksum: Added.
+        * platform/mac/fast/repaint/japanese-rl-selection-clear-expected.png: Added.
+        * platform/mac/fast/repaint/japanese-rl-selection-clear-expected.txt: Added.
+        * platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.checksum: Added.
+        * platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.png: Added.
+        * platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.txt: Added.
+        * platform/mac/fast/repaint/layer-child-outline-expected.checksum:
+        * platform/mac/fast/repaint/layer-child-outline-expected.png:
+        * platform/mac/fast/repaint/layer-full-repaint-expected.png:
+        * platform/mac/fast/repaint/layer-hide-when-needs-layout-expected.png:
+        * platform/mac/fast/repaint/layer-outline-expected.checksum:
+        * platform/mac/fast/repaint/layer-outline-expected.png:
+        * platform/mac/fast/repaint/layer-outline-horizontal-expected.checksum:
+        * platform/mac/fast/repaint/layer-outline-horizontal-expected.png:
+        * platform/mac/fast/repaint/layer-visibility-expected.png:
+        * platform/mac/fast/repaint/layout-state-only-positioned-expected.png:
+        * platform/mac/fast/repaint/layout-state-relative-expected.checksum:
+        * platform/mac/fast/repaint/layout-state-relative-expected.png:
+        * platform/mac/fast/repaint/layout-state-scrolloffset-expected.checksum:
+        * platform/mac/fast/repaint/layout-state-scrolloffset-expected.png:
+        * platform/mac/fast/repaint/layout-state-scrolloffset2-expected.checksum:
+        * platform/mac/fast/repaint/layout-state-scrolloffset2-expected.png:
+        * platform/mac/fast/repaint/layout-state-scrolloffset3-expected.checksum:
+        * platform/mac/fast/repaint/layout-state-scrolloffset3-expected.png:
+        * platform/mac/fast/repaint/line-overflow-expected.checksum:
+        * platform/mac/fast/repaint/line-overflow-expected.png:
+        * platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum:
+        * platform/mac/fast/repaint/lines-with-layout-delta-expected.png:
+        * platform/mac/fast/repaint/list-marker-2-expected.checksum:
+        * platform/mac/fast/repaint/list-marker-2-expected.png:
+        * platform/mac/fast/repaint/list-marker-expected.checksum:
+        * platform/mac/fast/repaint/list-marker-expected.png:
+        * platform/mac/fast/repaint/make-children-non-inline-expected.checksum:
+        * platform/mac/fast/repaint/make-children-non-inline-expected.png:
+        * platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum:
+        * platform/mac/fast/repaint/moving-shadow-on-container-expected.png:
+        * platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum:
+        * platform/mac/fast/repaint/moving-shadow-on-path-expected.png:
+        * platform/mac/fast/repaint/multicol-repaint-expected.checksum:
+        * platform/mac/fast/repaint/multicol-repaint-expected.png:
+        * platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.checksum:
+        * platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.png:
+        * platform/mac/fast/repaint/outline-child-repaint-expected.checksum:
+        * platform/mac/fast/repaint/outline-child-repaint-expected.png:
+        * platform/mac/fast/repaint/outline-inset-expected.png:
+        * platform/mac/fast/repaint/outline-repaint-glitch-expected.checksum:
+        * platform/mac/fast/repaint/outline-repaint-glitch-expected.png:
+        * platform/mac/fast/repaint/outline-shrinking-expected.checksum:
+        * platform/mac/fast/repaint/outline-shrinking-expected.png:
+        * platform/mac/fast/repaint/overflow-clip-subtree-layout-expected.png:
+        * platform/mac/fast/repaint/overflow-delete-line-expected.checksum:
+        * platform/mac/fast/repaint/overflow-delete-line-expected.png:
+        * platform/mac/fast/repaint/overflow-into-content-expected.png:
+        * platform/mac/fast/repaint/overflow-outline-repaint-expected.checksum:
+        * platform/mac/fast/repaint/overflow-outline-repaint-expected.png:
+        * platform/mac/fast/repaint/overflow-scroll-body-appear-expected.checksum:
+        * platform/mac/fast/repaint/overflow-scroll-body-appear-expected.png:
+        * platform/mac/fast/repaint/overflow-scroll-delete-expected.checksum:
+        * platform/mac/fast/repaint/overflow-scroll-delete-expected.png:
+        * platform/mac/fast/repaint/reflection-redraw-expected.checksum:
+        * platform/mac/fast/repaint/reflection-redraw-expected.png:
+        * platform/mac/fast/repaint/reflection-repaint-test-expected.png:
+        * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png:
+        * platform/mac/fast/repaint/repaint-resized-overflow-expected.checksum:
+        * platform/mac/fast/repaint/repaint-resized-overflow-expected.png:
+        * platform/mac/fast/repaint/search-field-cancel-expected.checksum:
+        * platform/mac/fast/repaint/search-field-cancel-expected.png:
+        * platform/mac/fast/repaint/selected-replaced-expected.checksum:
+        * platform/mac/fast/repaint/selected-replaced-expected.png:
+        * platform/mac/fast/repaint/selection-after-delete-expected.checksum:
+        * platform/mac/fast/repaint/selection-after-delete-expected.png:
+        * platform/mac/fast/repaint/selection-after-remove-expected.checksum:
+        * platform/mac/fast/repaint/selection-after-remove-expected.png:
+        * platform/mac/fast/repaint/selection-clear-expected.checksum:
+        * platform/mac/fast/repaint/selection-clear-expected.png:
+        * platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.checksum:
+        * platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.png:
+        * platform/mac/fast/repaint/selection-rl-expected.checksum:
+        * platform/mac/fast/repaint/selection-rl-expected.png:
+        * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png:
+        * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum:
+        * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
+        * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum:
+        * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:
+        * platform/mac/fast/repaint/shadow-multiple-vertical-expected.png:
+        * platform/mac/fast/repaint/stacked-diacritics-expected.checksum:
+        * platform/mac/fast/repaint/stacked-diacritics-expected.png:
+        * platform/mac/fast/repaint/static-to-positioned-expected.checksum:
+        * platform/mac/fast/repaint/static-to-positioned-expected.png:
+        * platform/mac/fast/repaint/subtree-root-clip-2-expected.png:
+        * platform/mac/fast/repaint/subtree-root-clip-3-expected.png:
+        * platform/mac/fast/repaint/subtree-root-clip-expected.png:
+        * platform/mac/fast/repaint/subtree-root-skipped-expected.checksum:
+        * platform/mac/fast/repaint/subtree-root-skipped-expected.png:
+        * platform/mac/fast/repaint/table-cell-collapsed-border-expected.checksum:
+        * platform/mac/fast/repaint/table-cell-collapsed-border-expected.png:
+        * platform/mac/fast/repaint/table-cell-move-expected.checksum:
+        * platform/mac/fast/repaint/table-cell-move-expected.png:
+        * platform/mac/fast/repaint/table-cell-vertical-overflow-expected.png:
+        * platform/mac/fast/repaint/table-col-background-expected.png:
+        * platform/mac/fast/repaint/table-collapsed-border-expected.checksum:
+        * platform/mac/fast/repaint/table-collapsed-border-expected.png:
+        * platform/mac/fast/repaint/table-extra-bottom-grow-expected.checksum:
+        * platform/mac/fast/repaint/table-extra-bottom-grow-expected.png:
+        * platform/mac/fast/repaint/table-outer-border-expected.png:
+        * platform/mac/fast/repaint/table-row-expected.png:
+        * platform/mac/fast/repaint/table-section-overflow-expected.png:
+        * platform/mac/fast/repaint/table-section-repaint-expected.png:
+        * platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.png:
+        * platform/mac/fast/repaint/text-append-dirty-lines-expected.checksum:
+        * platform/mac/fast/repaint/text-append-dirty-lines-expected.png:
+        * platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.checksum:
+        * platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.png:
+        * platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.checksum:
+        * platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.png:
+        * platform/mac/fast/repaint/text-shadow-expected.checksum:
+        * platform/mac/fast/repaint/text-shadow-expected.png:
+        * platform/mac/fast/repaint/text-shadow-horizontal-expected.checksum:
+        * platform/mac/fast/repaint/text-shadow-horizontal-expected.png:
+        * platform/mac/fast/repaint/transform-absolute-child-expected.png:
+        * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.checksum:
+        * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.png:
+        * platform/mac/fast/repaint/transform-disable-layoutstate-expected.png:
+        * platform/mac/fast/repaint/transform-layout-repaint-expected.png:
+        * platform/mac/fast/repaint/transform-relative-position-expected.checksum:
+        * platform/mac/fast/repaint/transform-relative-position-expected.png:
+        * platform/mac/fast/repaint/transform-repaint-descendants-expected.checksum:
+        * platform/mac/fast/repaint/transform-repaint-descendants-expected.png:
+        * platform/mac/fast/repaint/transform-replaced-shadows-expected.png:
+        * platform/mac/fast/repaint/transform-translate-expected.png:
+
 2010-11-11  Mihai Parparita  <mihaip at chromium.org>
 
         Unreviewed Chromium expectations update and rebaseline.
diff --git a/LayoutTests/fast/repaint/japanese-rl-selection-clear.html b/LayoutTests/fast/repaint/japanese-rl-selection-clear.html
new file mode 100644
index 0000000..ed76d22
--- /dev/null
+++ b/LayoutTests/fast/repaint/japanese-rl-selection-clear.html
@@ -0,0 +1,41 @@
+<!doctype html>
+<html style="border:10px solid maroon; -webkit-writing-mode:vertical-rl">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<style>
+body {
+    font-family: "HiraMinPro-W3";
+    font-size: 16pt;
+}
+</style>
+<script src="resources/repaint.js"></script>
+<script>
+function selectStuff()
+{
+    if (eventSender) {
+        eventSender.mouseMoveTo(760, 200);
+        eventSender.mouseDown();
+        eventSender.mouseMoveTo(760, 200);
+        eventSender.mouseMoveTo(400, 200);
+        eventSender.mouseUp();
+    }
+}
+
+function repaintTest()
+{
+    if (eventSender) {
+        eventSender.mouseMoveTo(100, 100);
+        eventSender.mouseDown();
+        eventSender.mouseMoveTo(100, 100);
+        eventSender.mouseUp();
+    }
+}
+</script>
+</head>
+<body style="border:5px solid black;" onload="selectStuff(); runRepaintTest()">
+<div style="height:400px; margin-top:100px">
+せっかく見つけたすばらしい記事がどこにあったか忘れてしまった経験はありますかならタイトルとアドレスだけでなく、訪問したウェブページのコンテンツからも検索することができます。せっかく見つけたすばらしい記事がどこにあったか忘れてしまった経験はありますか ならタイトルとアドレスだけでなく、訪問したウェブページのコンテンツからも検索することができます。訪問したウェブページのコンテンツからも検索することができます。せっかく見つけたすばらしい記事がどこにあったか忘れてしまった経験はありますか ならタイトルとアドレスだけでなく、訪問
+</div>
+
+
+</body>
diff --git a/LayoutTests/fast/repaint/japanese-rl-selection-repaint.html b/LayoutTests/fast/repaint/japanese-rl-selection-repaint.html
new file mode 100644
index 0000000..40433f2
--- /dev/null
+++ b/LayoutTests/fast/repaint/japanese-rl-selection-repaint.html
@@ -0,0 +1,28 @@
+<!doctype html>
+<html style="border:10px solid maroon; -webkit-writing-mode:vertical-rl">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<script src="resources/repaint.js"></script>
+<script>
+function repaintTest()
+{
+    if (eventSender) {
+        eventSender.mouseMoveTo(760, 200);
+        eventSender.mouseDown();
+        eventSender.mouseMoveTo(760, 200);
+        eventSender.mouseMoveTo(400, 200);
+        eventSender.mouseUp();
+    }
+}
+</script>
+
+<style>
+body {
+    font-family: "HiraMinPro-W3";
+    font-size: 16pt;
+}
+</style>
+</head>
+<body style="border:5px solid black;" onload="runRepaintTest()">
+せっかく見つけたすばらしい記事がどこにあったか忘れてしまった経験はありますかならタイトルとアドレスだけでなく、訪問したウェブページのコンテンツからも検索することができます。せっかく見つけたすばらしい記事がどこにあったか忘れてしまった経験はありますか ならタイトルとアドレスだけでなく、訪問したウェブページのコンテンツからも検索することができます。訪問したウェブページのコンテンツからも検索することができます。せっかく見つけたすばらしい記事がどこにあったか忘れてしまった経験はありますか ならタイトルとアドレスだけでなく、訪問
+</body>
diff --git a/LayoutTests/fast/repaint/repaint-svg-after-style-change-expected.png b/LayoutTests/fast/repaint/repaint-svg-after-style-change-expected.png
index 76ae82e..3cc7b52 100644
Binary files a/LayoutTests/fast/repaint/repaint-svg-after-style-change-expected.png and b/LayoutTests/fast/repaint/repaint-svg-after-style-change-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/4774354-expected.checksum b/LayoutTests/platform/mac/fast/repaint/4774354-expected.checksum
index eb0ac98..2f9e9d9 100644
--- a/LayoutTests/platform/mac/fast/repaint/4774354-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/4774354-expected.checksum
@@ -1 +1 @@
-408e3d68d6b372a8bf4b341fae82be6b
\ No newline at end of file
+6ce246e3a471c8f9f45d79ca8a97ec1a
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/4774354-expected.png b/LayoutTests/platform/mac/fast/repaint/4774354-expected.png
index 5020c91..0b4ce2c 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/4774354-expected.png and b/LayoutTests/platform/mac/fast/repaint/4774354-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/4776765-expected.checksum b/LayoutTests/platform/mac/fast/repaint/4776765-expected.checksum
index 173c736..d45496d 100644
--- a/LayoutTests/platform/mac/fast/repaint/4776765-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/4776765-expected.checksum
@@ -1 +1 @@
-d2b4d51ab62ca124cd487bd38d055ddb
\ No newline at end of file
+e06812125af3f954fc100b9bd5b5800e
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/4776765-expected.png b/LayoutTests/platform/mac/fast/repaint/4776765-expected.png
index 12c1dc1..3118c21 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/4776765-expected.png and b/LayoutTests/platform/mac/fast/repaint/4776765-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/background-generated-expected.checksum b/LayoutTests/platform/mac/fast/repaint/background-generated-expected.checksum
index 05a4031..97d3c4f 100644
--- a/LayoutTests/platform/mac/fast/repaint/background-generated-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/background-generated-expected.checksum
@@ -1 +1 @@
-2d086f2e8c50fbb1cc780dc5e3208b23
\ No newline at end of file
+f25fa277b6cf57b4c2f7a296c0504045
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/background-generated-expected.png b/LayoutTests/platform/mac/fast/repaint/background-generated-expected.png
index 43b34e3..37f8897 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/background-generated-expected.png and b/LayoutTests/platform/mac/fast/repaint/background-generated-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/background-misaligned-expected.png b/LayoutTests/platform/mac/fast/repaint/background-misaligned-expected.png
index 2be6f9b..82a6a94 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/background-misaligned-expected.png and b/LayoutTests/platform/mac/fast/repaint/background-misaligned-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/backgroundSizeRepaint-expected.checksum b/LayoutTests/platform/mac/fast/repaint/backgroundSizeRepaint-expected.checksum
index 9771e27..412d581 100644
--- a/LayoutTests/platform/mac/fast/repaint/backgroundSizeRepaint-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/backgroundSizeRepaint-expected.checksum
@@ -1 +1 @@
-f24cf73e0edc3df23cc725ea19a593f5
\ No newline at end of file
+8144b78d1ef1c03d9db0827679e51e62
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/backgroundSizeRepaint-expected.png b/LayoutTests/platform/mac/fast/repaint/backgroundSizeRepaint-expected.png
index 852ca77..b022bb6 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/backgroundSizeRepaint-expected.png and b/LayoutTests/platform/mac/fast/repaint/backgroundSizeRepaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.checksum b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.checksum
index 0b1976b..dc42d06 100644
--- a/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.checksum
@@ -1 +1 @@
-f69fe4e6fcfdd9e726df375cdbe5c821
\ No newline at end of file
+1a97d9b4bd4cd7466389dbea615397e7
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.png b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.png
index 6f21727..1999b1d 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.png and b/LayoutTests/platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/block-no-inflow-children-expected.checksum b/LayoutTests/platform/mac/fast/repaint/block-no-inflow-children-expected.checksum
index d802436..10c25e5 100644
--- a/LayoutTests/platform/mac/fast/repaint/block-no-inflow-children-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/block-no-inflow-children-expected.checksum
@@ -1 +1 @@
-ed8e2f37427955f0a87cabf760417f2a
\ No newline at end of file
+21c05f7e1fe45ce983554747b44eab45
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/block-no-inflow-children-expected.png b/LayoutTests/platform/mac/fast/repaint/block-no-inflow-children-expected.png
index d97bcaf..0fc3078 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/block-no-inflow-children-expected.png and b/LayoutTests/platform/mac/fast/repaint/block-no-inflow-children-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.checksum b/LayoutTests/platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.checksum
index 4790138..3563601 100644
--- a/LayoutTests/platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.checksum
@@ -1 +1 @@
-c66717dcc033387d15e1bd64676e661f
\ No newline at end of file
+6bcc4f2a827d62944f4ce8a4dd13b430
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.png b/LayoutTests/platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.png
index c531406..4d8cd77 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.png and b/LayoutTests/platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/block-selection-gap-stale-cache-2-expected.png b/LayoutTests/platform/mac/fast/repaint/block-selection-gap-stale-cache-2-expected.png
index 8a3f9d8..f1cf4e8 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/block-selection-gap-stale-cache-2-expected.png and b/LayoutTests/platform/mac/fast/repaint/block-selection-gap-stale-cache-2-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/border-fit-lines-expected.checksum b/LayoutTests/platform/mac/fast/repaint/border-fit-lines-expected.checksum
index 6fa1773..3acd32b 100644
--- a/LayoutTests/platform/mac/fast/repaint/border-fit-lines-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/border-fit-lines-expected.checksum
@@ -1 +1 @@
-3f444d0bfdd77a134889e92fc1c6d54e
\ No newline at end of file
+775319243aeb01aabab337d256d1fdc3
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/border-fit-lines-expected.png b/LayoutTests/platform/mac/fast/repaint/border-fit-lines-expected.png
index 05ed9ba..d6fb84b 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/border-fit-lines-expected.png and b/LayoutTests/platform/mac/fast/repaint/border-fit-lines-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/border-radius-repaint-expected.checksum b/LayoutTests/platform/mac/fast/repaint/border-radius-repaint-expected.checksum
index 5ac2001..dd6ebd8 100644
--- a/LayoutTests/platform/mac/fast/repaint/border-radius-repaint-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/border-radius-repaint-expected.checksum
@@ -1 +1 @@
-b4fa9f8d6315f9c953fc735dfa0d4308
\ No newline at end of file
+75b6d642b2ab73b2ac4124c7807b019f
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/border-radius-repaint-expected.png b/LayoutTests/platform/mac/fast/repaint/border-radius-repaint-expected.png
index f07921f..f5373fd 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/border-radius-repaint-expected.png and b/LayoutTests/platform/mac/fast/repaint/border-radius-repaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/border-repaint-glitch-expected.checksum b/LayoutTests/platform/mac/fast/repaint/border-repaint-glitch-expected.checksum
index 11f9b79..d1a42c6 100644
--- a/LayoutTests/platform/mac/fast/repaint/border-repaint-glitch-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/border-repaint-glitch-expected.checksum
@@ -1 +1 @@
-611696a121aa88bf85ea8b2337323aad
\ No newline at end of file
+f5a168e5aff1496170b38f164f975add
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/border-repaint-glitch-expected.png b/LayoutTests/platform/mac/fast/repaint/border-repaint-glitch-expected.png
index a8e628f..faa211c 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/border-repaint-glitch-expected.png and b/LayoutTests/platform/mac/fast/repaint/border-repaint-glitch-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/box-shadow-dynamic-expected.checksum b/LayoutTests/platform/mac/fast/repaint/box-shadow-dynamic-expected.checksum
index ccb6ee3..74e5155 100644
--- a/LayoutTests/platform/mac/fast/repaint/box-shadow-dynamic-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/box-shadow-dynamic-expected.checksum
@@ -1 +1 @@
-5e20f399a9f1758264eb1c3d74c69173
\ No newline at end of file
+eab1b55ccbdc1d480d4a1d209d7197c0
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/box-shadow-dynamic-expected.png b/LayoutTests/platform/mac/fast/repaint/box-shadow-dynamic-expected.png
index f802b0e..35880bc 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/box-shadow-dynamic-expected.png and b/LayoutTests/platform/mac/fast/repaint/box-shadow-dynamic-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/box-shadow-h-expected.checksum b/LayoutTests/platform/mac/fast/repaint/box-shadow-h-expected.checksum
index 705f411..a055ebc 100644
--- a/LayoutTests/platform/mac/fast/repaint/box-shadow-h-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/box-shadow-h-expected.checksum
@@ -1 +1 @@
-ca50fd6fe1038280531b068d834d6143
\ No newline at end of file
+4216aa4b49e75c66b0acf55db608502c
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/box-shadow-h-expected.png b/LayoutTests/platform/mac/fast/repaint/box-shadow-h-expected.png
index 35dfd1a..f141452 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/box-shadow-h-expected.png and b/LayoutTests/platform/mac/fast/repaint/box-shadow-h-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/box-shadow-v-expected.checksum b/LayoutTests/platform/mac/fast/repaint/box-shadow-v-expected.checksum
index d01062c..a3d8b17 100644
--- a/LayoutTests/platform/mac/fast/repaint/box-shadow-v-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/box-shadow-v-expected.checksum
@@ -1 +1 @@
-9d21cefa5882728da8b103b3a412b7ac
\ No newline at end of file
+0c496b7b8a3fd1a6e4c0de9f84462194
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/box-shadow-v-expected.png b/LayoutTests/platform/mac/fast/repaint/box-shadow-v-expected.png
index dcd4f9c..4fd0693 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/box-shadow-v-expected.png and b/LayoutTests/platform/mac/fast/repaint/box-shadow-v-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/bugzilla-3509-expected.checksum b/LayoutTests/platform/mac/fast/repaint/bugzilla-3509-expected.checksum
index caa17a0..441cdd9 100644
--- a/LayoutTests/platform/mac/fast/repaint/bugzilla-3509-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/bugzilla-3509-expected.checksum
@@ -1 +1 @@
-adf40ecf67bbd421b6ce95f6c374d91f
\ No newline at end of file
+bfa0e9959b9c3361abf27c00fe78066b
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/bugzilla-3509-expected.png b/LayoutTests/platform/mac/fast/repaint/bugzilla-3509-expected.png
index 9aa0bfd..ffa7de1 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/bugzilla-3509-expected.png and b/LayoutTests/platform/mac/fast/repaint/bugzilla-3509-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/bugzilla-5699-expected.checksum b/LayoutTests/platform/mac/fast/repaint/bugzilla-5699-expected.checksum
index c056878..e03ff92 100644
--- a/LayoutTests/platform/mac/fast/repaint/bugzilla-5699-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/bugzilla-5699-expected.checksum
@@ -1 +1 @@
-3cb6edb34e979a6cb32954ae39adf0ed
\ No newline at end of file
+9295c8a113572c313bcb33c5fb197e58
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/bugzilla-5699-expected.png b/LayoutTests/platform/mac/fast/repaint/bugzilla-5699-expected.png
index 17b9987..ac325f1 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/bugzilla-5699-expected.png and b/LayoutTests/platform/mac/fast/repaint/bugzilla-5699-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/bugzilla-6278-expected.checksum b/LayoutTests/platform/mac/fast/repaint/bugzilla-6278-expected.checksum
index bd7212b..fcddeb6 100644
--- a/LayoutTests/platform/mac/fast/repaint/bugzilla-6278-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/bugzilla-6278-expected.checksum
@@ -1 +1 @@
-5747ecf131de355f6d19fcbcac2b1065
\ No newline at end of file
+81c535061b54ca9aab6d917662a6a081
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/bugzilla-6278-expected.png b/LayoutTests/platform/mac/fast/repaint/bugzilla-6278-expected.png
index 6ffff33..bd93f46 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/bugzilla-6278-expected.png and b/LayoutTests/platform/mac/fast/repaint/bugzilla-6278-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/bugzilla-6388-expected.checksum b/LayoutTests/platform/mac/fast/repaint/bugzilla-6388-expected.checksum
index 71e42b5..4a4419c 100644
--- a/LayoutTests/platform/mac/fast/repaint/bugzilla-6388-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/bugzilla-6388-expected.checksum
@@ -1 +1 @@
-2a51baef30c5dc6948d32a76cad3e6d6
\ No newline at end of file
+45f2220202acc6409f29616da000fd47
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/bugzilla-6388-expected.png b/LayoutTests/platform/mac/fast/repaint/bugzilla-6388-expected.png
index b97c2be..c283a78 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/bugzilla-6388-expected.png and b/LayoutTests/platform/mac/fast/repaint/bugzilla-6388-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/bugzilla-6473-expected.checksum b/LayoutTests/platform/mac/fast/repaint/bugzilla-6473-expected.checksum
index 4cd8f60..c17b748 100644
--- a/LayoutTests/platform/mac/fast/repaint/bugzilla-6473-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/bugzilla-6473-expected.checksum
@@ -1 +1 @@
-f3918a0518f9b630a3fd188354fcbcb5
\ No newline at end of file
+b2368579662ead1aa9e4b12454beb2e6
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/bugzilla-6473-expected.png b/LayoutTests/platform/mac/fast/repaint/bugzilla-6473-expected.png
index e9ecf05..85c9805 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/bugzilla-6473-expected.png and b/LayoutTests/platform/mac/fast/repaint/bugzilla-6473-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/bugzilla-7235-expected.checksum b/LayoutTests/platform/mac/fast/repaint/bugzilla-7235-expected.checksum
index 67a0739..6518e6e 100644
--- a/LayoutTests/platform/mac/fast/repaint/bugzilla-7235-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/bugzilla-7235-expected.checksum
@@ -1 +1 @@
-8aaaec6885f55888846d27fbf1e533bf
\ No newline at end of file
+1de9c17aed115164df82c09f54d7344f
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/bugzilla-7235-expected.png b/LayoutTests/platform/mac/fast/repaint/bugzilla-7235-expected.png
index c9fe4be..6305732 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/bugzilla-7235-expected.png and b/LayoutTests/platform/mac/fast/repaint/bugzilla-7235-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/button-spurious-layout-hint-expected.png b/LayoutTests/platform/mac/fast/repaint/button-spurious-layout-hint-expected.png
index cd635b5..19fdbd9 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/button-spurious-layout-hint-expected.png and b/LayoutTests/platform/mac/fast/repaint/button-spurious-layout-hint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/caret-outside-block-expected.checksum b/LayoutTests/platform/mac/fast/repaint/caret-outside-block-expected.checksum
index 8abb115..4b99a06 100644
--- a/LayoutTests/platform/mac/fast/repaint/caret-outside-block-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/caret-outside-block-expected.checksum
@@ -1 +1 @@
-5f29b52afadda010a8692cd58d6afcc3
\ No newline at end of file
+7108f25e1570add4469906a457f683cd
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/caret-outside-block-expected.png b/LayoutTests/platform/mac/fast/repaint/caret-outside-block-expected.png
index e84bcc6..466f02f 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/caret-outside-block-expected.png and b/LayoutTests/platform/mac/fast/repaint/caret-outside-block-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/change-transform-expected.checksum b/LayoutTests/platform/mac/fast/repaint/change-transform-expected.checksum
index 1e3d7f5..8fe9921 100644
--- a/LayoutTests/platform/mac/fast/repaint/change-transform-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/change-transform-expected.checksum
@@ -1 +1 @@
-f0af02a01f107c66b2883a8be21f92a9
\ No newline at end of file
+edbfc96a1ea9c333c754adf36a576ca9
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/change-transform-expected.png b/LayoutTests/platform/mac/fast/repaint/change-transform-expected.png
index 4c73964..f8c80cd 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/change-transform-expected.png and b/LayoutTests/platform/mac/fast/repaint/change-transform-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/clip-with-layout-delta-expected.png b/LayoutTests/platform/mac/fast/repaint/clip-with-layout-delta-expected.png
index 7ea017a..73d5fb1 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/clip-with-layout-delta-expected.png and b/LayoutTests/platform/mac/fast/repaint/clip-with-layout-delta-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/clipped-relative-expected.checksum b/LayoutTests/platform/mac/fast/repaint/clipped-relative-expected.checksum
index 12ed7ca..58c1d4d 100644
--- a/LayoutTests/platform/mac/fast/repaint/clipped-relative-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/clipped-relative-expected.checksum
@@ -1 +1 @@
-edb80fbd50957e3f2c7fac5d1be605ee
\ No newline at end of file
+6617ed68e4d2ff107ac1ef441788265d
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/clipped-relative-expected.png b/LayoutTests/platform/mac/fast/repaint/clipped-relative-expected.png
index 820377c..2fa32a6 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/clipped-relative-expected.png and b/LayoutTests/platform/mac/fast/repaint/clipped-relative-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/containing-block-position-change-expected.checksum b/LayoutTests/platform/mac/fast/repaint/containing-block-position-change-expected.checksum
index 4b26f18..b0eb5bd 100644
--- a/LayoutTests/platform/mac/fast/repaint/containing-block-position-change-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/containing-block-position-change-expected.checksum
@@ -1 +1 @@
-44ae13bb008a811923fd8adbf0daa52a
\ No newline at end of file
+74cfd5e19541ba99d9050077cee9ede9
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/containing-block-position-change-expected.png b/LayoutTests/platform/mac/fast/repaint/containing-block-position-change-expected.png
index 8f01de2..7b1cdde 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/containing-block-position-change-expected.png and b/LayoutTests/platform/mac/fast/repaint/containing-block-position-change-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/content-into-overflow-expected.png b/LayoutTests/platform/mac/fast/repaint/content-into-overflow-expected.png
index b75a8f6..2fbc8be 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/content-into-overflow-expected.png and b/LayoutTests/platform/mac/fast/repaint/content-into-overflow-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/continuation-after-outline-expected.checksum b/LayoutTests/platform/mac/fast/repaint/continuation-after-outline-expected.checksum
index 17a150e..b5e560a 100644
--- a/LayoutTests/platform/mac/fast/repaint/continuation-after-outline-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/continuation-after-outline-expected.checksum
@@ -1 +1 @@
-1ba1c85713685ccc1bbfdf93572ef8d3
\ No newline at end of file
+fa9a4f70b66b9e0387abe25f640dbfce
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/continuation-after-outline-expected.png b/LayoutTests/platform/mac/fast/repaint/continuation-after-outline-expected.png
index 526b0e7..5c22402 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/continuation-after-outline-expected.png and b/LayoutTests/platform/mac/fast/repaint/continuation-after-outline-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/control-clip-expected.checksum b/LayoutTests/platform/mac/fast/repaint/control-clip-expected.checksum
index 6b03f91..6702201 100644
--- a/LayoutTests/platform/mac/fast/repaint/control-clip-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/control-clip-expected.checksum
@@ -1 +1 @@
-b987611e03deb697a2ad8756a41ecafe
\ No newline at end of file
+54c0b05263ae985a7b1ae5cbd87583e0
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/control-clip-expected.png b/LayoutTests/platform/mac/fast/repaint/control-clip-expected.png
index 618e492..2fdf7be 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/control-clip-expected.png and b/LayoutTests/platform/mac/fast/repaint/control-clip-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/create-layer-repaint-expected.checksum b/LayoutTests/platform/mac/fast/repaint/create-layer-repaint-expected.checksum
index 57b05fe..7335e60 100644
--- a/LayoutTests/platform/mac/fast/repaint/create-layer-repaint-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/create-layer-repaint-expected.checksum
@@ -1 +1 @@
-6194133843b692c446837c57f98b9406
\ No newline at end of file
+5b723fd7fe85e2c8e5f1f50afb96bc71
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/create-layer-repaint-expected.png b/LayoutTests/platform/mac/fast/repaint/create-layer-repaint-expected.png
index 38cf9a4..6c2f53d 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/create-layer-repaint-expected.png and b/LayoutTests/platform/mac/fast/repaint/create-layer-repaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/delete-into-nested-block-expected.checksum b/LayoutTests/platform/mac/fast/repaint/delete-into-nested-block-expected.checksum
index 8884b3e..c2f19a0 100644
--- a/LayoutTests/platform/mac/fast/repaint/delete-into-nested-block-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/delete-into-nested-block-expected.checksum
@@ -1 +1 @@
-2da6492b8de74e7d8f79684accad6aa7
\ No newline at end of file
+a7abc6526c7d5a4e55c354bee6a717ce
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/delete-into-nested-block-expected.png b/LayoutTests/platform/mac/fast/repaint/delete-into-nested-block-expected.png
index a92ff37..3147d60 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/delete-into-nested-block-expected.png and b/LayoutTests/platform/mac/fast/repaint/delete-into-nested-block-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.checksum b/LayoutTests/platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.checksum
index 182de4a..a168e81 100644
--- a/LayoutTests/platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.checksum
@@ -1 +1 @@
-df19844088ad92ba8f844abcc399bebd
\ No newline at end of file
+e0ac2604218caf56b2a9db22d397d490
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png b/LayoutTests/platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png
index cf6bbbc..bcc6268 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png and b/LayoutTests/platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/erase-overflow-expected.png b/LayoutTests/platform/mac/fast/repaint/erase-overflow-expected.png
index 92366c7..a36b940 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/erase-overflow-expected.png and b/LayoutTests/platform/mac/fast/repaint/erase-overflow-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/fixed-expected.checksum b/LayoutTests/platform/mac/fast/repaint/fixed-expected.checksum
index 827c3c1..d22cfa7 100644
--- a/LayoutTests/platform/mac/fast/repaint/fixed-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/fixed-expected.checksum
@@ -1 +1 @@
-dd5368da71f17078f55c3af969fa297d
\ No newline at end of file
+7a0677b367f48ad5fdb054f4d49dce43
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/fixed-expected.png b/LayoutTests/platform/mac/fast/repaint/fixed-expected.png
index ebf1cb9..439be91 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/fixed-expected.png and b/LayoutTests/platform/mac/fast/repaint/fixed-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-expected.checksum b/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-expected.checksum
index 11ca526..0cbfd17 100644
--- a/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-expected.checksum
@@ -1 +1 @@
-339ef49388d14b5656ce25cb940ccdb9
\ No newline at end of file
+efb7cc1386cc249ff0e76fcb2f71d896
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-expected.png b/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-expected.png
index 93f24e5..d44574a 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-expected.png and b/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.checksum b/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.checksum
index 5a0cd26..e42d3c3 100644
--- a/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.checksum
@@ -1 +1 @@
-3317ce3690b325c1ec24a9dabcd8967c
\ No newline at end of file
+04e6f33978e2c9b40f291d8ec26ac41d
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.png b/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.png
index e2b0d45..0c6cd94 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.png and b/LayoutTests/platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/float-in-new-block-with-layout-delta-expected.png b/LayoutTests/platform/mac/fast/repaint/float-in-new-block-with-layout-delta-expected.png
index 770a288..8f0b603 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/float-in-new-block-with-layout-delta-expected.png and b/LayoutTests/platform/mac/fast/repaint/float-in-new-block-with-layout-delta-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/float-move-during-layout-expected.checksum b/LayoutTests/platform/mac/fast/repaint/float-move-during-layout-expected.checksum
index f750a18..4643439 100644
--- a/LayoutTests/platform/mac/fast/repaint/float-move-during-layout-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/float-move-during-layout-expected.checksum
@@ -1 +1 @@
-3232cc5438f44bf126fe6022091e4513
\ No newline at end of file
+fbc058b8faf095567db46484414b4e34
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/float-move-during-layout-expected.png b/LayoutTests/platform/mac/fast/repaint/float-move-during-layout-expected.png
index ab6328f..30d0955 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/float-move-during-layout-expected.png and b/LayoutTests/platform/mac/fast/repaint/float-move-during-layout-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/float-new-in-block-expected.png b/LayoutTests/platform/mac/fast/repaint/float-new-in-block-expected.png
index 24173e3..bdef923 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/float-new-in-block-expected.png and b/LayoutTests/platform/mac/fast/repaint/float-new-in-block-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/float-overflow-expected.png b/LayoutTests/platform/mac/fast/repaint/float-overflow-expected.png
index cb505b8..afc4eac 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/float-overflow-expected.png and b/LayoutTests/platform/mac/fast/repaint/float-overflow-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/float-overflow-right-expected.png b/LayoutTests/platform/mac/fast/repaint/float-overflow-right-expected.png
index d6f0314..d500ff4 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/float-overflow-right-expected.png and b/LayoutTests/platform/mac/fast/repaint/float-overflow-right-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/focus-layers-expected.checksum b/LayoutTests/platform/mac/fast/repaint/focus-layers-expected.checksum
index d3a181e..c8f2829 100644
--- a/LayoutTests/platform/mac/fast/repaint/focus-layers-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/focus-layers-expected.checksum
@@ -1 +1 @@
-9e46b315e163124b416e8ee4cf6dccd0
\ No newline at end of file
+a49e9b65cb02ece6fa0da7ddea230821
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/focus-layers-expected.png b/LayoutTests/platform/mac/fast/repaint/focus-layers-expected.png
index 9616132..8d2b702 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/focus-layers-expected.png and b/LayoutTests/platform/mac/fast/repaint/focus-layers-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/focus-ring-expected.png b/LayoutTests/platform/mac/fast/repaint/focus-ring-expected.png
index 309cbd6..d4d7fe1 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/focus-ring-expected.png and b/LayoutTests/platform/mac/fast/repaint/focus-ring-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/inline-block-overflow-expected.checksum b/LayoutTests/platform/mac/fast/repaint/inline-block-overflow-expected.checksum
index 0292283..9450cc4 100644
--- a/LayoutTests/platform/mac/fast/repaint/inline-block-overflow-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/inline-block-overflow-expected.checksum
@@ -1 +1 @@
-19dc52f4b90077ccafefcefa60056f52
\ No newline at end of file
+02dbb193f98dbe41a19de759d922efc3
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/inline-block-overflow-expected.png b/LayoutTests/platform/mac/fast/repaint/inline-block-overflow-expected.png
index 2830e59..1615337 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/inline-block-overflow-expected.png and b/LayoutTests/platform/mac/fast/repaint/inline-block-overflow-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/inline-block-resize-expected.png b/LayoutTests/platform/mac/fast/repaint/inline-block-resize-expected.png
index 92366c7..a36b940 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/inline-block-resize-expected.png and b/LayoutTests/platform/mac/fast/repaint/inline-block-resize-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/inline-color-change-expected.checksum b/LayoutTests/platform/mac/fast/repaint/inline-color-change-expected.checksum
index 908e6cb..0d582d7 100644
--- a/LayoutTests/platform/mac/fast/repaint/inline-color-change-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/inline-color-change-expected.checksum
@@ -1 +1 @@
-4c4c0b898e458e74c03572db0f8e1019
\ No newline at end of file
+ce7934846be43f4a474bbea4b25b8660
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/inline-color-change-expected.png b/LayoutTests/platform/mac/fast/repaint/inline-color-change-expected.png
index 60ce48b..1a02691 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/inline-color-change-expected.png and b/LayoutTests/platform/mac/fast/repaint/inline-color-change-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/inline-outline-repaint-expected.checksum b/LayoutTests/platform/mac/fast/repaint/inline-outline-repaint-expected.checksum
index 599cced..ce35b2b 100644
--- a/LayoutTests/platform/mac/fast/repaint/inline-outline-repaint-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/inline-outline-repaint-expected.checksum
@@ -1 +1 @@
-519196cc2dfbef418b60e5d57e70418d
\ No newline at end of file
+2178713e9c1fc6658b38cf5224b2c8b9
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/inline-outline-repaint-expected.png b/LayoutTests/platform/mac/fast/repaint/inline-outline-repaint-expected.png
index 1c2b9a2..64ba661 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/inline-outline-repaint-expected.png and b/LayoutTests/platform/mac/fast/repaint/inline-outline-repaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/intermediate-layout-position-clip-expected.png b/LayoutTests/platform/mac/fast/repaint/intermediate-layout-position-clip-expected.png
index 459c931..3887f54 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/intermediate-layout-position-clip-expected.png and b/LayoutTests/platform/mac/fast/repaint/intermediate-layout-position-clip-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/intermediate-layout-position-expected.png b/LayoutTests/platform/mac/fast/repaint/intermediate-layout-position-expected.png
index b401aeb..da551e3 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/intermediate-layout-position-expected.png and b/LayoutTests/platform/mac/fast/repaint/intermediate-layout-position-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/invisible-objects-expected.png b/LayoutTests/platform/mac/fast/repaint/invisible-objects-expected.png
index 3ad3109..c3b7485 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/invisible-objects-expected.png and b/LayoutTests/platform/mac/fast/repaint/invisible-objects-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-clear-expected.checksum b/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-clear-expected.checksum
new file mode 100644
index 0000000..68cfc8d
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-clear-expected.checksum
@@ -0,0 +1 @@
+7c0fe855baf9972ec8b386f61c5ea5c3
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-clear-expected.png b/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-clear-expected.png
new file mode 100644
index 0000000..fe1efd4
Binary files /dev/null and b/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-clear-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-clear-expected.txt b/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-clear-expected.txt
new file mode 100644
index 0000000..90344ea
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-clear-expected.txt
@@ -0,0 +1,23 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (274,0) size 526x600
+  RenderBlock {HTML} at (0,0) size 526x600 [border: (10px solid #800000)]
+    RenderBody {BODY} at (18,18) size 490x564 [border: (5px solid #000000)]
+      RenderBlock {DIV} at (5,105) size 480x400
+        RenderText {#text} at (5,0) size 469x381
+          text run at (5,0) width 381: "\x{305B}\x{3063}\x{304B}\x{304F}\x{898B}\x{3064}\x{3051}\x{305F}\x{3059}\x{3070}\x{3089}\x{3057}\x{3044}\x{8A18}\x{4E8B}\x{304C}\x{3069}\x{3053}"
+          text run at (37,0) width 381: "\x{306B}\x{3042}\x{3063}\x{305F}\x{304B}\x{5FD8}\x{308C}\x{3066}\x{3057}\x{307E}\x{3063}\x{305F}\x{7D4C}\x{9A13}\x{306F}\x{3042}\x{308A}\x{307E}"
+          text run at (69,0) width 360: "\x{3059}\x{304B}\x{306A}\x{3089}\x{30BF}\x{30A4}\x{30C8}\x{30EB}\x{3068}\x{30A2}\x{30C9}\x{30EC}\x{30B9}\x{3060}\x{3051}\x{3067}\x{306A}"
+          text run at (101,0) width 381: "\x{304F}\x{3001}\x{8A2A}\x{554F}\x{3057}\x{305F}\x{30A6}\x{30A7}\x{30D6}\x{30DA}\x{30FC}\x{30B8}\x{306E}\x{30B3}\x{30F3}\x{30C6}\x{30F3}\x{30C4}"
+          text run at (133,0) width 381: "\x{304B}\x{3089}\x{3082}\x{691C}\x{7D22}\x{3059}\x{308B}\x{3053}\x{3068}\x{304C}\x{3067}\x{304D}\x{307E}\x{3059}\x{3002}\x{305B}\x{3063}\x{304B}"
+          text run at (165,0) width 381: "\x{304F}\x{898B}\x{3064}\x{3051}\x{305F}\x{3059}\x{3070}\x{3089}\x{3057}\x{3044}\x{8A18}\x{4E8B}\x{304C}\x{3069}\x{3053}\x{306B}\x{3042}\x{3063}"
+          text run at (197,0) width 360: "\x{305F}\x{304B}\x{5FD8}\x{308C}\x{3066}\x{3057}\x{307E}\x{3063}\x{305F}\x{7D4C}\x{9A13}\x{306F}\x{3042}\x{308A}\x{307E}\x{3059}\x{304B}"
+          text run at (229,0) width 381: "\x{306A}\x{3089}\x{30BF}\x{30A4}\x{30C8}\x{30EB}\x{3068}\x{30A2}\x{30C9}\x{30EC}\x{30B9}\x{3060}\x{3051}\x{3067}\x{306A}\x{304F}\x{3001}\x{8A2A}"
+          text run at (261,0) width 381: "\x{554F}\x{3057}\x{305F}\x{30A6}\x{30A7}\x{30D6}\x{30DA}\x{30FC}\x{30B8}\x{306E}\x{30B3}\x{30F3}\x{30C6}\x{30F3}\x{30C4}\x{304B}\x{3089}\x{3082}"
+          text run at (293,0) width 381: "\x{691C}\x{7D22}\x{3059}\x{308B}\x{3053}\x{3068}\x{304C}\x{3067}\x{304D}\x{307E}\x{3059}\x{3002}\x{8A2A}\x{554F}\x{3057}\x{305F}\x{30A6}\x{30A7}"
+          text run at (325,0) width 381: "\x{30D6}\x{30DA}\x{30FC}\x{30B8}\x{306E}\x{30B3}\x{30F3}\x{30C6}\x{30F3}\x{30C4}\x{304B}\x{3089}\x{3082}\x{691C}\x{7D22}\x{3059}\x{308B}\x{3053}"
+          text run at (357,0) width 381: "\x{3068}\x{304C}\x{3067}\x{304D}\x{307E}\x{3059}\x{3002}\x{305B}\x{3063}\x{304B}\x{304F}\x{898B}\x{3064}\x{3051}\x{305F}\x{3059}\x{3070}\x{3089}"
+          text run at (389,0) width 381: "\x{3057}\x{3044}\x{8A18}\x{4E8B}\x{304C}\x{3069}\x{3053}\x{306B}\x{3042}\x{3063}\x{305F}\x{304B}\x{5FD8}\x{308C}\x{3066}\x{3057}\x{307E}\x{3063}"
+          text run at (421,0) width 368: "\x{305F}\x{7D4C}\x{9A13}\x{306F}\x{3042}\x{308A}\x{307E}\x{3059}\x{304B} \x{306A}\x{3089}\x{30BF}\x{30A4}\x{30C8}\x{30EB}\x{3068}\x{30A2}"
+          text run at (453,0) width 233: "\x{30C9}\x{30EC}\x{30B9}\x{3060}\x{3051}\x{3067}\x{306A}\x{304F}\x{3001}\x{8A2A}\x{554F}"
+caret: position 263 of child 0 {#text} of child 1 {DIV} of body
diff --git a/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.checksum b/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.checksum
new file mode 100644
index 0000000..2cf385d
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.checksum
@@ -0,0 +1 @@
+cfa68dd70a443b0df2a91845b9287c7f
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.png b/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.png
new file mode 100644
index 0000000..a67f122
Binary files /dev/null and b/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.txt b/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.txt
new file mode 100644
index 0000000..fbed216
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.txt
@@ -0,0 +1,19 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (402,0) size 398x600
+  RenderBlock {HTML} at (0,0) size 398x600 [border: (10px solid #800000)]
+    RenderBody {BODY} at (18,18) size 362x564 [border: (5px solid #000000)]
+      RenderText {#text} at (10,5) size 341x529
+        text run at (10,5) width 529: "\x{305B}\x{3063}\x{304B}\x{304F}\x{898B}\x{3064}\x{3051}\x{305F}\x{3059}\x{3070}\x{3089}\x{3057}\x{3044}\x{8A18}\x{4E8B}\x{304C}\x{3069}\x{3053}\x{306B}\x{3042}\x{3063}\x{305F}\x{304B}\x{5FD8}\x{308C}"
+        text run at (42,5) width 529: "\x{3066}\x{3057}\x{307E}\x{3063}\x{305F}\x{7D4C}\x{9A13}\x{306F}\x{3042}\x{308A}\x{307E}\x{3059}\x{304B}\x{306A}\x{3089}\x{30BF}\x{30A4}\x{30C8}\x{30EB}\x{3068}\x{30A2}\x{30C9}\x{30EC}\x{30B9}\x{3060}"
+        text run at (74,5) width 529: "\x{3051}\x{3067}\x{306A}\x{304F}\x{3001}\x{8A2A}\x{554F}\x{3057}\x{305F}\x{30A6}\x{30A7}\x{30D6}\x{30DA}\x{30FC}\x{30B8}\x{306E}\x{30B3}\x{30F3}\x{30C6}\x{30F3}\x{30C4}\x{304B}\x{3089}\x{3082}\x{691C}"
+        text run at (106,5) width 529: "\x{7D22}\x{3059}\x{308B}\x{3053}\x{3068}\x{304C}\x{3067}\x{304D}\x{307E}\x{3059}\x{3002}\x{305B}\x{3063}\x{304B}\x{304F}\x{898B}\x{3064}\x{3051}\x{305F}\x{3059}\x{3070}\x{3089}\x{3057}\x{3044}\x{8A18}"
+        text run at (138,5) width 508: "\x{4E8B}\x{304C}\x{3069}\x{3053}\x{306B}\x{3042}\x{3063}\x{305F}\x{304B}\x{5FD8}\x{308C}\x{3066}\x{3057}\x{307E}\x{3063}\x{305F}\x{7D4C}\x{9A13}\x{306F}\x{3042}\x{308A}\x{307E}\x{3059}\x{304B}"
+        text run at (170,5) width 508: "\x{306A}\x{3089}\x{30BF}\x{30A4}\x{30C8}\x{30EB}\x{3068}\x{30A2}\x{30C9}\x{30EC}\x{30B9}\x{3060}\x{3051}\x{3067}\x{306A}\x{304F}\x{3001}\x{8A2A}\x{554F}\x{3057}\x{305F}\x{30A6}\x{30A7}\x{30D6}"
+        text run at (202,5) width 529: "\x{30DA}\x{30FC}\x{30B8}\x{306E}\x{30B3}\x{30F3}\x{30C6}\x{30F3}\x{30C4}\x{304B}\x{3089}\x{3082}\x{691C}\x{7D22}\x{3059}\x{308B}\x{3053}\x{3068}\x{304C}\x{3067}\x{304D}\x{307E}\x{3059}\x{3002}\x{8A2A}"
+        text run at (234,5) width 529: "\x{554F}\x{3057}\x{305F}\x{30A6}\x{30A7}\x{30D6}\x{30DA}\x{30FC}\x{30B8}\x{306E}\x{30B3}\x{30F3}\x{30C6}\x{30F3}\x{30C4}\x{304B}\x{3089}\x{3082}\x{691C}\x{7D22}\x{3059}\x{308B}\x{3053}\x{3068}\x{304C}"
+        text run at (266,5) width 508: "\x{3067}\x{304D}\x{307E}\x{3059}\x{3002}\x{305B}\x{3063}\x{304B}\x{304F}\x{898B}\x{3064}\x{3051}\x{305F}\x{3059}\x{3070}\x{3089}\x{3057}\x{3044}\x{8A18}\x{4E8B}\x{304C}\x{3069}\x{3053}\x{306B}"
+        text run at (298,5) width 515: "\x{3042}\x{3063}\x{305F}\x{304B}\x{5FD8}\x{308C}\x{3066}\x{3057}\x{307E}\x{3063}\x{305F}\x{7D4C}\x{9A13}\x{306F}\x{3042}\x{308A}\x{307E}\x{3059}\x{304B} \x{306A}\x{3089}\x{30BF}\x{30A4}\x{30C8}"
+        text run at (330,5) width 297: "\x{30EB}\x{3068}\x{30A2}\x{30C9}\x{30EC}\x{30B9}\x{3060}\x{3051}\x{3067}\x{306A}\x{304F}\x{3001}\x{8A2A}\x{554F}"
+selection start: position 9 of child 0 {#text} of body
+selection end:   position 263 of child 0 {#text} of body
diff --git a/LayoutTests/platform/mac/fast/repaint/layer-child-outline-expected.checksum b/LayoutTests/platform/mac/fast/repaint/layer-child-outline-expected.checksum
index a9fff6a..febcd21 100644
--- a/LayoutTests/platform/mac/fast/repaint/layer-child-outline-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/layer-child-outline-expected.checksum
@@ -1 +1 @@
-bd73f31538abcd2e27916eb204d462e8
\ No newline at end of file
+4614e0436de5b14a5324fe42489862bb
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/layer-child-outline-expected.png b/LayoutTests/platform/mac/fast/repaint/layer-child-outline-expected.png
index 719b5db..b852c5c 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/layer-child-outline-expected.png and b/LayoutTests/platform/mac/fast/repaint/layer-child-outline-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/layer-full-repaint-expected.png b/LayoutTests/platform/mac/fast/repaint/layer-full-repaint-expected.png
index 7da2447..6096a59 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/layer-full-repaint-expected.png and b/LayoutTests/platform/mac/fast/repaint/layer-full-repaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/layer-hide-when-needs-layout-expected.png b/LayoutTests/platform/mac/fast/repaint/layer-hide-when-needs-layout-expected.png
index 7da2447..6096a59 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/layer-hide-when-needs-layout-expected.png and b/LayoutTests/platform/mac/fast/repaint/layer-hide-when-needs-layout-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/layer-outline-expected.checksum b/LayoutTests/platform/mac/fast/repaint/layer-outline-expected.checksum
index 2d8fbd5..8181731 100644
--- a/LayoutTests/platform/mac/fast/repaint/layer-outline-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/layer-outline-expected.checksum
@@ -1 +1 @@
-fe78d3057271a36597a33dbedc533418
\ No newline at end of file
+be21c57319c2358c32c77074342cb346
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/layer-outline-expected.png b/LayoutTests/platform/mac/fast/repaint/layer-outline-expected.png
index c2d96a8..8047d88 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/layer-outline-expected.png and b/LayoutTests/platform/mac/fast/repaint/layer-outline-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/layer-outline-horizontal-expected.checksum b/LayoutTests/platform/mac/fast/repaint/layer-outline-horizontal-expected.checksum
index 9b4f744..e3d40fc 100644
--- a/LayoutTests/platform/mac/fast/repaint/layer-outline-horizontal-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/layer-outline-horizontal-expected.checksum
@@ -1 +1 @@
-a4fda71efa042390f924c25f545552f8
\ No newline at end of file
+33686e71db3a4b115b08556ae810dc9f
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/layer-outline-horizontal-expected.png b/LayoutTests/platform/mac/fast/repaint/layer-outline-horizontal-expected.png
index aab530c..c39ec24 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/layer-outline-horizontal-expected.png and b/LayoutTests/platform/mac/fast/repaint/layer-outline-horizontal-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/layer-visibility-expected.png b/LayoutTests/platform/mac/fast/repaint/layer-visibility-expected.png
index 55cc43f..56295f5 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/layer-visibility-expected.png and b/LayoutTests/platform/mac/fast/repaint/layer-visibility-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/layout-state-only-positioned-expected.png b/LayoutTests/platform/mac/fast/repaint/layout-state-only-positioned-expected.png
index b8b56d8..d301fbd 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/layout-state-only-positioned-expected.png and b/LayoutTests/platform/mac/fast/repaint/layout-state-only-positioned-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/layout-state-relative-expected.checksum b/LayoutTests/platform/mac/fast/repaint/layout-state-relative-expected.checksum
index 40b3ec5..2dbb6a4 100644
--- a/LayoutTests/platform/mac/fast/repaint/layout-state-relative-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/layout-state-relative-expected.checksum
@@ -1 +1 @@
-2e1bc1dfbdf6ced28e7c47c6f319ad77
\ No newline at end of file
+ce6407c7197fd71d46d086ae911d16e8
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/layout-state-relative-expected.png b/LayoutTests/platform/mac/fast/repaint/layout-state-relative-expected.png
index d6bde1e..78bbb46 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/layout-state-relative-expected.png and b/LayoutTests/platform/mac/fast/repaint/layout-state-relative-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset-expected.checksum b/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset-expected.checksum
index 7f14d8d..47f36bb 100644
--- a/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset-expected.checksum
@@ -1 +1 @@
-af8e530e3000df8925b01ee935e3e2bb
\ No newline at end of file
+63188198c8de631ce6a33a242f827d71
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset-expected.png b/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset-expected.png
index 5dd30fb..47a9d38 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset-expected.png and b/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset2-expected.checksum b/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset2-expected.checksum
index cd56e78..617d59a 100644
--- a/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset2-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset2-expected.checksum
@@ -1 +1 @@
-4ce3a936ed8d6099d90cbd09c5af90ca
\ No newline at end of file
+9cb8edf38191f064daa331516b9a85b4
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset2-expected.png b/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset2-expected.png
index 9c18c2c..fb2fba2 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset2-expected.png and b/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset2-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset3-expected.checksum b/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset3-expected.checksum
index 9e933cf..42c9f10 100644
--- a/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset3-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset3-expected.checksum
@@ -1 +1 @@
-f9bb7355632fdb3c9ee800492a5bdc62
\ No newline at end of file
+289a4a0bf2a6df5374554c4019cd11c6
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset3-expected.png b/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset3-expected.png
index 84d6975..d75feec 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset3-expected.png and b/LayoutTests/platform/mac/fast/repaint/layout-state-scrolloffset3-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/line-overflow-expected.checksum b/LayoutTests/platform/mac/fast/repaint/line-overflow-expected.checksum
index 0926fb6..badd9ea 100644
--- a/LayoutTests/platform/mac/fast/repaint/line-overflow-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/line-overflow-expected.checksum
@@ -1 +1 @@
-ca656ec6357744c8745e9a3b59fdcf90
\ No newline at end of file
+c2572af8692305b66d61ac4cb4f86a11
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/line-overflow-expected.png b/LayoutTests/platform/mac/fast/repaint/line-overflow-expected.png
index 180ef91..76b549b 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/line-overflow-expected.png and b/LayoutTests/platform/mac/fast/repaint/line-overflow-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum b/LayoutTests/platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum
index e9ddb68..379467c 100644
--- a/LayoutTests/platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum
@@ -1 +1 @@
-a4c2bb59c3b3820e4f5faca452b3a2a5
\ No newline at end of file
+20284fadd61ceabeafae1d523b53cb95
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/lines-with-layout-delta-expected.png b/LayoutTests/platform/mac/fast/repaint/lines-with-layout-delta-expected.png
index 9cc810e..c15d6fe 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/lines-with-layout-delta-expected.png and b/LayoutTests/platform/mac/fast/repaint/lines-with-layout-delta-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/list-marker-2-expected.checksum b/LayoutTests/platform/mac/fast/repaint/list-marker-2-expected.checksum
index 5043bc1..40a9270 100644
--- a/LayoutTests/platform/mac/fast/repaint/list-marker-2-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/list-marker-2-expected.checksum
@@ -1 +1 @@
-945dca34aaf349c7f8220b6758d212e3
\ No newline at end of file
+6e17a589c7750918f2ad0c34792ee6ea
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/list-marker-2-expected.png b/LayoutTests/platform/mac/fast/repaint/list-marker-2-expected.png
index 7ef82fa..3465ff9 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/list-marker-2-expected.png and b/LayoutTests/platform/mac/fast/repaint/list-marker-2-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/list-marker-expected.checksum b/LayoutTests/platform/mac/fast/repaint/list-marker-expected.checksum
index aa4e055..eb5d634 100644
--- a/LayoutTests/platform/mac/fast/repaint/list-marker-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/list-marker-expected.checksum
@@ -1 +1 @@
-d4cd04dd0e73614278b8ef3dc41e8c60
\ No newline at end of file
+0f14cc9722450e4e3579612434844c0f
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/list-marker-expected.png b/LayoutTests/platform/mac/fast/repaint/list-marker-expected.png
index 8f7b9b6..fa939d6 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/list-marker-expected.png and b/LayoutTests/platform/mac/fast/repaint/list-marker-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/make-children-non-inline-expected.checksum b/LayoutTests/platform/mac/fast/repaint/make-children-non-inline-expected.checksum
index 6323f1b..0b436df 100644
--- a/LayoutTests/platform/mac/fast/repaint/make-children-non-inline-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/make-children-non-inline-expected.checksum
@@ -1 +1 @@
-3631248241dde9cc1f39d8dffe770d66
\ No newline at end of file
+3f8d1b6dc7cc9e97f59e81f76ecb8409
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/make-children-non-inline-expected.png b/LayoutTests/platform/mac/fast/repaint/make-children-non-inline-expected.png
index 7e3ef21..6e7b759 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/make-children-non-inline-expected.png and b/LayoutTests/platform/mac/fast/repaint/make-children-non-inline-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum
index f01d137..ecf755d 100644
--- a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum
@@ -1 +1 @@
-d58d0e8cba7e60c0f519b95da130a7e3
\ No newline at end of file
+3675678f783836bbeac765a346d93dcf
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.png b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.png
index 3558802..1286e92 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.png and b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-container-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum
index 3b3515e..d97043f 100644
--- a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum
@@ -1 +1 @@
-3d148ca8ecc0067a2307da77ac8bf690
\ No newline at end of file
+58c2eb4fdcc065a6723f415e4abe4899
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.png b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.png
index fea921f..f8596ff 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.png and b/LayoutTests/platform/mac/fast/repaint/moving-shadow-on-path-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/multicol-repaint-expected.checksum b/LayoutTests/platform/mac/fast/repaint/multicol-repaint-expected.checksum
index 593b3ca..5b2b53e 100644
--- a/LayoutTests/platform/mac/fast/repaint/multicol-repaint-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/multicol-repaint-expected.checksum
@@ -1 +1 @@
-bdf1a811d8d5b2992a9f5e32046d667d
\ No newline at end of file
+30ed780101194efb2937cda72320447f
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/multicol-repaint-expected.png b/LayoutTests/platform/mac/fast/repaint/multicol-repaint-expected.png
index e02953a..c12bf0b 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/multicol-repaint-expected.png and b/LayoutTests/platform/mac/fast/repaint/multicol-repaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.checksum b/LayoutTests/platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.checksum
index 4cdb2ba..8e8aef8 100644
--- a/LayoutTests/platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.checksum
@@ -1 +1 @@
-064c062f9aa68f1a93823d4ba2221cde
\ No newline at end of file
+0e7d11ccc199497ad33321b0472138ca
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.png b/LayoutTests/platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.png
index 137aa3b..a5a82dd 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.png and b/LayoutTests/platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/outline-child-repaint-expected.checksum b/LayoutTests/platform/mac/fast/repaint/outline-child-repaint-expected.checksum
index 0777fe6..e83ae5e 100644
--- a/LayoutTests/platform/mac/fast/repaint/outline-child-repaint-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/outline-child-repaint-expected.checksum
@@ -1 +1 @@
-07e17337bbe91a7f47e36aa60878f766
\ No newline at end of file
+726e6436d5495a7587178e79ee0df919
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/outline-child-repaint-expected.png b/LayoutTests/platform/mac/fast/repaint/outline-child-repaint-expected.png
index fc4825f..7bee4ad 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/outline-child-repaint-expected.png and b/LayoutTests/platform/mac/fast/repaint/outline-child-repaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/outline-inset-expected.png b/LayoutTests/platform/mac/fast/repaint/outline-inset-expected.png
index 42ad03d..9909296 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/outline-inset-expected.png and b/LayoutTests/platform/mac/fast/repaint/outline-inset-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/outline-repaint-glitch-expected.checksum b/LayoutTests/platform/mac/fast/repaint/outline-repaint-glitch-expected.checksum
index 36f2692..eca9807 100644
--- a/LayoutTests/platform/mac/fast/repaint/outline-repaint-glitch-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/outline-repaint-glitch-expected.checksum
@@ -1 +1 @@
-fef1b08962a4f2edf1870cc77b8bdca4
\ No newline at end of file
+d8c2bd343ea4153a9ebdd337c3451558
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/outline-repaint-glitch-expected.png b/LayoutTests/platform/mac/fast/repaint/outline-repaint-glitch-expected.png
index 50a2727..442b8d9 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/outline-repaint-glitch-expected.png and b/LayoutTests/platform/mac/fast/repaint/outline-repaint-glitch-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/outline-shrinking-expected.checksum b/LayoutTests/platform/mac/fast/repaint/outline-shrinking-expected.checksum
index c7aab69..cbe9214 100644
--- a/LayoutTests/platform/mac/fast/repaint/outline-shrinking-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/outline-shrinking-expected.checksum
@@ -1 +1 @@
-c3576b95fb9daf26920db7a6e64991f2
\ No newline at end of file
+3a18a4c1c5ad015a192dc834cbed50ce
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/outline-shrinking-expected.png b/LayoutTests/platform/mac/fast/repaint/outline-shrinking-expected.png
index b528876..2c12d6e 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/outline-shrinking-expected.png and b/LayoutTests/platform/mac/fast/repaint/outline-shrinking-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/overflow-clip-subtree-layout-expected.png b/LayoutTests/platform/mac/fast/repaint/overflow-clip-subtree-layout-expected.png
index 1fa3540..dc7eaa7 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/overflow-clip-subtree-layout-expected.png and b/LayoutTests/platform/mac/fast/repaint/overflow-clip-subtree-layout-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/overflow-delete-line-expected.checksum b/LayoutTests/platform/mac/fast/repaint/overflow-delete-line-expected.checksum
index 8cc097a..89e4755 100644
--- a/LayoutTests/platform/mac/fast/repaint/overflow-delete-line-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/overflow-delete-line-expected.checksum
@@ -1 +1 @@
-35c74d7a30b6831cde658d80fd30ccc9
\ No newline at end of file
+75f5379cd0dd219173fbe4b3a6b0dcae
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/overflow-delete-line-expected.png b/LayoutTests/platform/mac/fast/repaint/overflow-delete-line-expected.png
index d366c24..463a831 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/overflow-delete-line-expected.png and b/LayoutTests/platform/mac/fast/repaint/overflow-delete-line-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/overflow-into-content-expected.png b/LayoutTests/platform/mac/fast/repaint/overflow-into-content-expected.png
index 4ba1d10..aeee5db 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/overflow-into-content-expected.png and b/LayoutTests/platform/mac/fast/repaint/overflow-into-content-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/overflow-outline-repaint-expected.checksum b/LayoutTests/platform/mac/fast/repaint/overflow-outline-repaint-expected.checksum
index f94b180..5821588 100644
--- a/LayoutTests/platform/mac/fast/repaint/overflow-outline-repaint-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/overflow-outline-repaint-expected.checksum
@@ -1 +1 @@
-e9b11cc4d3891d5a7bfd3871ecb65876
\ No newline at end of file
+bcfea3fabace629ae501011afad48e41
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/overflow-outline-repaint-expected.png b/LayoutTests/platform/mac/fast/repaint/overflow-outline-repaint-expected.png
index 00220b8..2ac9239 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/overflow-outline-repaint-expected.png and b/LayoutTests/platform/mac/fast/repaint/overflow-outline-repaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/overflow-scroll-body-appear-expected.checksum b/LayoutTests/platform/mac/fast/repaint/overflow-scroll-body-appear-expected.checksum
index 5f682ca..afdff53 100644
--- a/LayoutTests/platform/mac/fast/repaint/overflow-scroll-body-appear-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/overflow-scroll-body-appear-expected.checksum
@@ -1 +1 @@
-732f3aca5217335c67ce8f5a4da844e3
\ No newline at end of file
+c83d86f4a1b2039db6e4e1e35e5313bd
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/overflow-scroll-body-appear-expected.png b/LayoutTests/platform/mac/fast/repaint/overflow-scroll-body-appear-expected.png
index 4755cf1..16fcf16 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/overflow-scroll-body-appear-expected.png and b/LayoutTests/platform/mac/fast/repaint/overflow-scroll-body-appear-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/overflow-scroll-delete-expected.checksum b/LayoutTests/platform/mac/fast/repaint/overflow-scroll-delete-expected.checksum
index 1afe8d5..a0ef17c 100644
--- a/LayoutTests/platform/mac/fast/repaint/overflow-scroll-delete-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/overflow-scroll-delete-expected.checksum
@@ -1 +1 @@
-9e68d23e0fada3ce7456a10e52ff5ee8
\ No newline at end of file
+fdaf61f659510c1720594e293b64c8ab
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/overflow-scroll-delete-expected.png b/LayoutTests/platform/mac/fast/repaint/overflow-scroll-delete-expected.png
index c1242b9..2a11eae 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/overflow-scroll-delete-expected.png and b/LayoutTests/platform/mac/fast/repaint/overflow-scroll-delete-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.checksum b/LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.checksum
index 763b59d..2751f24 100644
--- a/LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.checksum
@@ -1 +1 @@
-d6bccbe81adb70c1bd4ebcce4fcc9cca
\ No newline at end of file
+b25099781f936269142619edcd2ff319
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.png b/LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.png
index 9990b31..5409242 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.png and b/LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/reflection-repaint-test-expected.png b/LayoutTests/platform/mac/fast/repaint/reflection-repaint-test-expected.png
index 7b52407..e0ac1e3 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/reflection-repaint-test-expected.png and b/LayoutTests/platform/mac/fast/repaint/reflection-repaint-test-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png b/LayoutTests/platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png
index 1c5d68e..5300d63 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png and b/LayoutTests/platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/repaint-resized-overflow-expected.checksum b/LayoutTests/platform/mac/fast/repaint/repaint-resized-overflow-expected.checksum
index d20a608..0a36776 100644
--- a/LayoutTests/platform/mac/fast/repaint/repaint-resized-overflow-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/repaint-resized-overflow-expected.checksum
@@ -1 +1 @@
-9570270c0d4d4d474993922c9a1ee12d
\ No newline at end of file
+b70c106622ea4d935c9c7a61afcece44
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/repaint-resized-overflow-expected.png b/LayoutTests/platform/mac/fast/repaint/repaint-resized-overflow-expected.png
index 9ed649d..25ea6d1 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/repaint-resized-overflow-expected.png and b/LayoutTests/platform/mac/fast/repaint/repaint-resized-overflow-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/search-field-cancel-expected.checksum b/LayoutTests/platform/mac/fast/repaint/search-field-cancel-expected.checksum
index 9b2e1d7..9d781ce 100644
--- a/LayoutTests/platform/mac/fast/repaint/search-field-cancel-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/search-field-cancel-expected.checksum
@@ -1 +1 @@
-f61c7023c3489087f3a03f7876d8abae
\ No newline at end of file
+8088960b8808d04a16d78eea5fa9052a
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/search-field-cancel-expected.png b/LayoutTests/platform/mac/fast/repaint/search-field-cancel-expected.png
index 40dc986..727c993 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/search-field-cancel-expected.png and b/LayoutTests/platform/mac/fast/repaint/search-field-cancel-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/selected-replaced-expected.checksum b/LayoutTests/platform/mac/fast/repaint/selected-replaced-expected.checksum
index 03edbb3..3250da3 100644
--- a/LayoutTests/platform/mac/fast/repaint/selected-replaced-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/selected-replaced-expected.checksum
@@ -1 +1 @@
-14d3cd0cfe16b67bcd8b85b8ecc00c27
\ No newline at end of file
+38ca94d15f211f787b33d4c96a6a690b
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/selected-replaced-expected.png b/LayoutTests/platform/mac/fast/repaint/selected-replaced-expected.png
index 526e6c4..1b30aa3 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/selected-replaced-expected.png and b/LayoutTests/platform/mac/fast/repaint/selected-replaced-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/selection-after-delete-expected.checksum b/LayoutTests/platform/mac/fast/repaint/selection-after-delete-expected.checksum
index 48e4c90..5a9fb2f 100644
--- a/LayoutTests/platform/mac/fast/repaint/selection-after-delete-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/selection-after-delete-expected.checksum
@@ -1 +1 @@
-119750dec05047db81b86dda5c947552
\ No newline at end of file
+d77cddb7072cc7a0ce642a6d5facadac
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/selection-after-delete-expected.png b/LayoutTests/platform/mac/fast/repaint/selection-after-delete-expected.png
index e53cc7d..9b060f8 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/selection-after-delete-expected.png and b/LayoutTests/platform/mac/fast/repaint/selection-after-delete-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/selection-after-remove-expected.checksum b/LayoutTests/platform/mac/fast/repaint/selection-after-remove-expected.checksum
index 5ee8aa2..9b9e587 100644
--- a/LayoutTests/platform/mac/fast/repaint/selection-after-remove-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/selection-after-remove-expected.checksum
@@ -1 +1 @@
-977ea703689f3a346d8a8946a244d3eb
\ No newline at end of file
+76b6a12ea375ba5ce825b7234f309728
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/selection-after-remove-expected.png b/LayoutTests/platform/mac/fast/repaint/selection-after-remove-expected.png
index 55f8f25..a8ac4db 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/selection-after-remove-expected.png and b/LayoutTests/platform/mac/fast/repaint/selection-after-remove-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/selection-clear-expected.checksum b/LayoutTests/platform/mac/fast/repaint/selection-clear-expected.checksum
index f972303..0c8e52c 100644
--- a/LayoutTests/platform/mac/fast/repaint/selection-clear-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/selection-clear-expected.checksum
@@ -1 +1 @@
-1c03f17e303470c81630cbaa31761bab
\ No newline at end of file
+9b4aad578aa413207070025bf8e8a1a8
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/selection-clear-expected.png b/LayoutTests/platform/mac/fast/repaint/selection-clear-expected.png
index 32b57d0..01f4e6c 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/selection-clear-expected.png and b/LayoutTests/platform/mac/fast/repaint/selection-clear-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.checksum b/LayoutTests/platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.checksum
index 75d9622..d00e80a 100644
--- a/LayoutTests/platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.checksum
@@ -1 +1 @@
-7b71f51819a08e1cd5b15c20d195a63f
\ No newline at end of file
+d52c3ba4468b727968d51eb96ec726b5
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.png b/LayoutTests/platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.png
index e931ef0..f641b17 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.png and b/LayoutTests/platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/selection-rl-expected.checksum b/LayoutTests/platform/mac/fast/repaint/selection-rl-expected.checksum
index f49c8d9..e9779e7 100644
--- a/LayoutTests/platform/mac/fast/repaint/selection-rl-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/selection-rl-expected.checksum
@@ -1 +1 @@
-3b62e931769e73b3d2d9431ae2c44036
\ No newline at end of file
+b0c3e790d578234d005c70e9ac7ad8cd
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/selection-rl-expected.png b/LayoutTests/platform/mac/fast/repaint/selection-rl-expected.png
index 632f86d..e01a266 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/selection-rl-expected.png and b/LayoutTests/platform/mac/fast/repaint/selection-rl-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png b/LayoutTests/platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png
index 195c1d1..7c85eff 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png and b/LayoutTests/platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum b/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum
index 884399c..fa2a570 100644
--- a/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum
@@ -1 +1 @@
-546bfe896b83a1e8d11348a965f4dfe7
\ No newline at end of file
+5bef70ebbf27224182d3ced6840a51d3
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png b/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png
index 9054169..7c85eff 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png and b/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum b/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum
index ac3de2b..5249657 100644
--- a/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum
@@ -1 +1 @@
-a7c86706df9a538f7cea894ce22f7b41
\ No newline at end of file
+0d68e506d6e464a086fdbfdd5a9d7eea
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png b/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png
index 4e14538..1ddf551 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png and b/LayoutTests/platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/shadow-multiple-vertical-expected.png b/LayoutTests/platform/mac/fast/repaint/shadow-multiple-vertical-expected.png
index 1e3671a..1ddf551 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/shadow-multiple-vertical-expected.png and b/LayoutTests/platform/mac/fast/repaint/shadow-multiple-vertical-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/stacked-diacritics-expected.checksum b/LayoutTests/platform/mac/fast/repaint/stacked-diacritics-expected.checksum
index c95698e..b1a0ad2 100644
--- a/LayoutTests/platform/mac/fast/repaint/stacked-diacritics-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/stacked-diacritics-expected.checksum
@@ -1 +1 @@
-61cab097914525fb7f7a07989330012e
\ No newline at end of file
+ce9be86cfb9433a64fc65f8710b02056
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/stacked-diacritics-expected.png b/LayoutTests/platform/mac/fast/repaint/stacked-diacritics-expected.png
index 0426bbc..04f9c0d 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/stacked-diacritics-expected.png and b/LayoutTests/platform/mac/fast/repaint/stacked-diacritics-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/static-to-positioned-expected.checksum b/LayoutTests/platform/mac/fast/repaint/static-to-positioned-expected.checksum
index f7173dd..8a68e2c 100644
--- a/LayoutTests/platform/mac/fast/repaint/static-to-positioned-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/static-to-positioned-expected.checksum
@@ -1 +1 @@
-8493e75a19aca0425b18a134ec785287
\ No newline at end of file
+69092b76cd31bdd404ccdc4efda1f255
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/static-to-positioned-expected.png b/LayoutTests/platform/mac/fast/repaint/static-to-positioned-expected.png
index bb67c11..f31633c 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/static-to-positioned-expected.png and b/LayoutTests/platform/mac/fast/repaint/static-to-positioned-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/subtree-root-clip-2-expected.png b/LayoutTests/platform/mac/fast/repaint/subtree-root-clip-2-expected.png
index 7da2447..6096a59 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/subtree-root-clip-2-expected.png and b/LayoutTests/platform/mac/fast/repaint/subtree-root-clip-2-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/subtree-root-clip-3-expected.png b/LayoutTests/platform/mac/fast/repaint/subtree-root-clip-3-expected.png
index f02f37c..500511f 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/subtree-root-clip-3-expected.png and b/LayoutTests/platform/mac/fast/repaint/subtree-root-clip-3-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/subtree-root-clip-expected.png b/LayoutTests/platform/mac/fast/repaint/subtree-root-clip-expected.png
index 7da2447..6096a59 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/subtree-root-clip-expected.png and b/LayoutTests/platform/mac/fast/repaint/subtree-root-clip-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/subtree-root-skipped-expected.checksum b/LayoutTests/platform/mac/fast/repaint/subtree-root-skipped-expected.checksum
index e1d6ce6..9d3e116 100644
--- a/LayoutTests/platform/mac/fast/repaint/subtree-root-skipped-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/subtree-root-skipped-expected.checksum
@@ -1 +1 @@
-c783ffd61a098ef46a84650c4fa83bbe
\ No newline at end of file
+81050ab4335ce197bbec0874ce2c7721
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/subtree-root-skipped-expected.png b/LayoutTests/platform/mac/fast/repaint/subtree-root-skipped-expected.png
index 2a01181..cbb872f 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/subtree-root-skipped-expected.png and b/LayoutTests/platform/mac/fast/repaint/subtree-root-skipped-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/table-cell-collapsed-border-expected.checksum b/LayoutTests/platform/mac/fast/repaint/table-cell-collapsed-border-expected.checksum
index 398e5ac..ff04f8d 100644
--- a/LayoutTests/platform/mac/fast/repaint/table-cell-collapsed-border-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/table-cell-collapsed-border-expected.checksum
@@ -1 +1 @@
-b4d3a6194eb6096beb0115644488cc22
\ No newline at end of file
+d1fab340920c60eed621af1e1ea90fae
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/table-cell-collapsed-border-expected.png b/LayoutTests/platform/mac/fast/repaint/table-cell-collapsed-border-expected.png
index f1cb6d5..bb461b7 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/table-cell-collapsed-border-expected.png and b/LayoutTests/platform/mac/fast/repaint/table-cell-collapsed-border-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/table-cell-move-expected.checksum b/LayoutTests/platform/mac/fast/repaint/table-cell-move-expected.checksum
index a5b1ceb..e508976 100644
--- a/LayoutTests/platform/mac/fast/repaint/table-cell-move-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/table-cell-move-expected.checksum
@@ -1 +1 @@
-c200d489de24706f69e036e44b379e23
\ No newline at end of file
+15ccfb7b9fcfe52e3ec04af7ae5ab2ba
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/table-cell-move-expected.png b/LayoutTests/platform/mac/fast/repaint/table-cell-move-expected.png
index 50faa72..c410951 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/table-cell-move-expected.png and b/LayoutTests/platform/mac/fast/repaint/table-cell-move-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/table-cell-vertical-overflow-expected.png b/LayoutTests/platform/mac/fast/repaint/table-cell-vertical-overflow-expected.png
index 3ad25b6..0b59081 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/table-cell-vertical-overflow-expected.png and b/LayoutTests/platform/mac/fast/repaint/table-cell-vertical-overflow-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/table-col-background-expected.png b/LayoutTests/platform/mac/fast/repaint/table-col-background-expected.png
index cc5b636..0f91153 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/table-col-background-expected.png and b/LayoutTests/platform/mac/fast/repaint/table-col-background-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/table-collapsed-border-expected.checksum b/LayoutTests/platform/mac/fast/repaint/table-collapsed-border-expected.checksum
index 373a72e..dabd700 100644
--- a/LayoutTests/platform/mac/fast/repaint/table-collapsed-border-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/table-collapsed-border-expected.checksum
@@ -1 +1 @@
-3cd61fc339eed01d2071cf9a584e7dbd
\ No newline at end of file
+478a5b50b69c9688dcfb06c0c9541f9a
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/table-collapsed-border-expected.png b/LayoutTests/platform/mac/fast/repaint/table-collapsed-border-expected.png
index a28da37..599f10c 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/table-collapsed-border-expected.png and b/LayoutTests/platform/mac/fast/repaint/table-collapsed-border-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/table-extra-bottom-grow-expected.checksum b/LayoutTests/platform/mac/fast/repaint/table-extra-bottom-grow-expected.checksum
index c8b25ed..7107440 100644
--- a/LayoutTests/platform/mac/fast/repaint/table-extra-bottom-grow-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/table-extra-bottom-grow-expected.checksum
@@ -1 +1 @@
-821ada3aa3faec0f5cc078fb4efbdf8f
\ No newline at end of file
+5b708792f88c50005680876c8c60ce2b
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/table-extra-bottom-grow-expected.png b/LayoutTests/platform/mac/fast/repaint/table-extra-bottom-grow-expected.png
index d5aa7bf..eb88031 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/table-extra-bottom-grow-expected.png and b/LayoutTests/platform/mac/fast/repaint/table-extra-bottom-grow-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/table-outer-border-expected.png b/LayoutTests/platform/mac/fast/repaint/table-outer-border-expected.png
index 13e335c..042888a 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/table-outer-border-expected.png and b/LayoutTests/platform/mac/fast/repaint/table-outer-border-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/table-row-expected.png b/LayoutTests/platform/mac/fast/repaint/table-row-expected.png
index e11a0cc..41da4ff 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/table-row-expected.png and b/LayoutTests/platform/mac/fast/repaint/table-row-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/table-section-overflow-expected.png b/LayoutTests/platform/mac/fast/repaint/table-section-overflow-expected.png
index fa54e3d..4954b62 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/table-section-overflow-expected.png and b/LayoutTests/platform/mac/fast/repaint/table-section-overflow-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/table-section-repaint-expected.png b/LayoutTests/platform/mac/fast/repaint/table-section-repaint-expected.png
index 311aa13..c0cf61b 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/table-section-repaint-expected.png and b/LayoutTests/platform/mac/fast/repaint/table-section-repaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.png b/LayoutTests/platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.png
index 2b60320..80d637c 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.png and b/LayoutTests/platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/text-append-dirty-lines-expected.checksum b/LayoutTests/platform/mac/fast/repaint/text-append-dirty-lines-expected.checksum
index 0da20b7..f76c8f1 100644
--- a/LayoutTests/platform/mac/fast/repaint/text-append-dirty-lines-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/text-append-dirty-lines-expected.checksum
@@ -1 +1 @@
-548b9e64b12c01940fd71b68966c0ce1
\ No newline at end of file
+64af3f1f56d1367bebe3c5a99ec0f386
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/text-append-dirty-lines-expected.png b/LayoutTests/platform/mac/fast/repaint/text-append-dirty-lines-expected.png
index 3021c55..b6f3645 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/text-append-dirty-lines-expected.png and b/LayoutTests/platform/mac/fast/repaint/text-append-dirty-lines-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.checksum b/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.checksum
index 8961fd7..51cfe98 100644
--- a/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.checksum
@@ -1 +1 @@
-ef89536158da9e274d078081012581e7
\ No newline at end of file
+8b2f06f938f38e544b96351dbca21603
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.png b/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.png
index 4a146fe..69fac02 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.png and b/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.checksum b/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.checksum
index ff69a19..32f5e67 100644
--- a/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.checksum
@@ -1 +1 @@
-e151eb733454caf7817dc534022fd18d
\ No newline at end of file
+87523e877e88561503b27100a6358d45
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.png b/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.png
index 9e41167..9f77f09 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.png and b/LayoutTests/platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/text-shadow-expected.checksum b/LayoutTests/platform/mac/fast/repaint/text-shadow-expected.checksum
index eae4430..d9dc24d 100644
--- a/LayoutTests/platform/mac/fast/repaint/text-shadow-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/text-shadow-expected.checksum
@@ -1 +1 @@
-723860746d9b74664614e29e4db94d4c
\ No newline at end of file
+e0e713e65540d558106af1704ee7c12c
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/text-shadow-expected.png b/LayoutTests/platform/mac/fast/repaint/text-shadow-expected.png
index c43f6c0..dc10e6b 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/text-shadow-expected.png and b/LayoutTests/platform/mac/fast/repaint/text-shadow-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/text-shadow-horizontal-expected.checksum b/LayoutTests/platform/mac/fast/repaint/text-shadow-horizontal-expected.checksum
index 0c289d9..7411dcc 100644
--- a/LayoutTests/platform/mac/fast/repaint/text-shadow-horizontal-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/text-shadow-horizontal-expected.checksum
@@ -1 +1 @@
-862229989a07eab67b7d0dea3bd47f8f
\ No newline at end of file
+87d082d29b5efd0f50eca47718d5afae
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/text-shadow-horizontal-expected.png b/LayoutTests/platform/mac/fast/repaint/text-shadow-horizontal-expected.png
index 35bff9b..ea4f542 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/text-shadow-horizontal-expected.png and b/LayoutTests/platform/mac/fast/repaint/text-shadow-horizontal-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/transform-absolute-child-expected.png b/LayoutTests/platform/mac/fast/repaint/transform-absolute-child-expected.png
index 46742b5..d4ba84a 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/transform-absolute-child-expected.png and b/LayoutTests/platform/mac/fast/repaint/transform-absolute-child-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.checksum b/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.checksum
index bd4484e..74ef884 100644
--- a/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.checksum
@@ -1 +1 @@
-47a6908fbd81423bd642a1fe099e4cec
\ No newline at end of file
+e07eca3ce4bee8951e38b202432674bb
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.png b/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.png
index 56e31d2..963dcef 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.png and b/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/transform-disable-layoutstate-expected.png b/LayoutTests/platform/mac/fast/repaint/transform-disable-layoutstate-expected.png
index b840cff..38e75d3 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/transform-disable-layoutstate-expected.png and b/LayoutTests/platform/mac/fast/repaint/transform-disable-layoutstate-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/transform-layout-repaint-expected.png b/LayoutTests/platform/mac/fast/repaint/transform-layout-repaint-expected.png
index 7e69bda..4ab6ea2 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/transform-layout-repaint-expected.png and b/LayoutTests/platform/mac/fast/repaint/transform-layout-repaint-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/transform-relative-position-expected.checksum b/LayoutTests/platform/mac/fast/repaint/transform-relative-position-expected.checksum
index 1febdbf..9d46fd6 100644
--- a/LayoutTests/platform/mac/fast/repaint/transform-relative-position-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/transform-relative-position-expected.checksum
@@ -1 +1 @@
-a6c331c35a45325313b33f725f60ac2a
\ No newline at end of file
+4efd3da44680c9b42717597850d2ed44
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/transform-relative-position-expected.png b/LayoutTests/platform/mac/fast/repaint/transform-relative-position-expected.png
index 6ba4200..2204cd1 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/transform-relative-position-expected.png and b/LayoutTests/platform/mac/fast/repaint/transform-relative-position-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/transform-repaint-descendants-expected.checksum b/LayoutTests/platform/mac/fast/repaint/transform-repaint-descendants-expected.checksum
index 1dbe0dd..5287fde 100644
--- a/LayoutTests/platform/mac/fast/repaint/transform-repaint-descendants-expected.checksum
+++ b/LayoutTests/platform/mac/fast/repaint/transform-repaint-descendants-expected.checksum
@@ -1 +1 @@
-1da641d1e9f7c98bfef7d87e251a51cd
\ No newline at end of file
+207dc547dceb1051f3478cf5cae2c9a4
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/repaint/transform-repaint-descendants-expected.png b/LayoutTests/platform/mac/fast/repaint/transform-repaint-descendants-expected.png
index 7ba1352..8edbe10 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/transform-repaint-descendants-expected.png and b/LayoutTests/platform/mac/fast/repaint/transform-repaint-descendants-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/transform-replaced-shadows-expected.png b/LayoutTests/platform/mac/fast/repaint/transform-replaced-shadows-expected.png
index 9acee5a..321ce8a 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/transform-replaced-shadows-expected.png and b/LayoutTests/platform/mac/fast/repaint/transform-replaced-shadows-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/repaint/transform-translate-expected.png b/LayoutTests/platform/mac/fast/repaint/transform-translate-expected.png
index 47069aa..ec96763 100644
Binary files a/LayoutTests/platform/mac/fast/repaint/transform-translate-expected.png and b/LayoutTests/platform/mac/fast/repaint/transform-translate-expected.png differ
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index a8635bf..6c4633e 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,71 @@
+2010-11-11  David Hyatt  <hyatt at apple.com>
+
+        Reviewed by Simon Fraser.
+
+        https://bugs.webkit.org/show_bug.cgi?id=48664
+        
+        Make repaint invalidation work with flipped blocks ("rl" and "bt" writing modes).
+        
+        This patch disables the layout state for flipped blocks, since the paint offset isn't right.
+        
+        Bugs in the overflow sides for lines have been fixed.  before/AfterSideVisible/LayoutOverflowForLine
+        now respect flipping (and don't incorrectly change sides).  This is a very confusing aspect of
+        the overflow stuff (and at some point we should consider renaming top/left/right/bottom since they
+        aren't physical).
+        
+        offsetFromContainer and mapLocalToContainer remain physical and refer to the top left offset.
+        This means at every step up you convert to the correct physical coordinate.  It also means these
+        functions will be unreliable during layout for flipped blocks.  At first glance, this seems to be
+        more or less ok.
+        
+        computeRectForRepaint now delays flipping conversions until you cross a writing-mode boundary.  This
+        allows for documents to be fully flipped and repaint during layout can still be reliable.  This is
+        critical for incremental line layout repainting.
+        
+        Added new tests in fast/repaint and also rebaselined the tests in that directory because I'm tired
+        of all the stale results and failures.
+
+        * editing/SelectionController.cpp:
+        (WebCore::SelectionController::absoluteBoundsForLocalRect):
+        (WebCore::SelectionController::paintCaret):
+        * rendering/InlineTextBox.cpp:
+        (WebCore::InlineTextBox::selectionRect):
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::layoutBlock):
+        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
+        (WebCore::RenderBlock::paintSelection):
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlock::beforeSideVisibleOverflowForLine):
+        (WebCore::RenderBlock::afterSideVisibleOverflowForLine):
+        (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
+        (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::layout):
+        (WebCore::RenderBox::mapLocalToContainer):
+        (WebCore::RenderBox::offsetFromContainer):
+        (WebCore::RenderBox::clippedOverflowRectForRepaint):
+        (WebCore::RenderBox::computeRectForRepaint):
+        (WebCore::RenderBox::flipForWritingMode):
+        (WebCore::RenderBox::locationOffsetIncludingFlipping):
+        * rendering/RenderBox.h:
+        * rendering/RenderFlexibleBox.cpp:
+        (WebCore::RenderFlexibleBox::layoutBlock):
+        * rendering/RenderInline.cpp:
+        (WebCore::RenderInline::clippedOverflowRectForRepaint):
+        * rendering/RenderSlider.cpp:
+        (WebCore::RenderSlider::layout):
+        * rendering/RenderTable.cpp:
+        (WebCore::RenderTable::layout):
+        * rendering/RenderTableRow.cpp:
+        (WebCore::RenderTableRow::layout):
+        * rendering/RenderTableSection.cpp:
+        (WebCore::RenderTableSection::layout):
+        (WebCore::RenderTableSection::layoutRows):
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::computeRectForRepaint):
+        * rendering/ShadowElement.cpp:
+        (WebCore::ShadowBlockElement::layoutAsPart):
+
 2010-11-11  Chris Marrin  <cmarrin at apple.com>
 
         Reviewed by Simon Fraser.
diff --git a/WebCore/editing/SelectionController.cpp b/WebCore/editing/SelectionController.cpp
index bb42662..1164c45 100644
--- a/WebCore/editing/SelectionController.cpp
+++ b/WebCore/editing/SelectionController.cpp
@@ -970,8 +970,11 @@ IntRect SelectionController::absoluteBoundsForLocalRect(const IntRect& rect) con
     RenderObject* caretPainter = caretRenderer();
     if (!caretPainter)
         return IntRect();
-        
-    return caretPainter->localToAbsoluteQuad(FloatRect(rect)).enclosingBoundingBox();
+    
+    IntRect localRect(rect);
+    if (caretPainter->isBox())
+        toRenderBox(caretPainter)->flipForWritingMode(localRect);
+    return caretPainter->localToAbsoluteQuad(FloatRect(localRect)).enclosingBoundingBox();
 }
 
 IntRect SelectionController::absoluteCaretBounds()
@@ -1085,6 +1088,8 @@ void SelectionController::paintCaret(GraphicsContext* context, int tx, int ty, c
         return;
 
     IntRect drawingRect = localCaretRectForPainting();
+    if (caretRenderer() && caretRenderer()->isBox())
+        toRenderBox(caretRenderer())->flipForWritingMode(drawingRect);
     drawingRect.move(tx, ty);
     IntRect caret = intersection(drawingRect, clipRect);
     if (caret.isEmpty())
diff --git a/WebCore/rendering/InlineTextBox.cpp b/WebCore/rendering/InlineTextBox.cpp
index 9c96cc6..bf865ad 100644
--- a/WebCore/rendering/InlineTextBox.cpp
+++ b/WebCore/rendering/InlineTextBox.cpp
@@ -171,9 +171,7 @@ IntRect InlineTextBox::selectionRect(int tx, int ty, int startPos, int endPos)
     int width = isHorizontal() ? logicalWidth : selHeight;
     int height = isHorizontal() ? selHeight : logicalWidth;
     
-    IntRect result = IntRect(topPoint, IntSize(width, height));
-    flipForWritingMode(result);
-    return result;
+    return IntRect(topPoint, IntSize(width, height));
 }
 
 void InlineTextBox::deleteLine(RenderArena* arena)
diff --git a/WebCore/rendering/RenderBlock.cpp b/WebCore/rendering/RenderBlock.cpp
index edecb69..902034c 100644
--- a/WebCore/rendering/RenderBlock.cpp
+++ b/WebCore/rendering/RenderBlock.cpp
@@ -1154,7 +1154,7 @@ void RenderBlock::layoutBlock(bool relayoutChildren, int pageHeight)
             colInfo->clearForcedBreaks();
     }
 
-    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()), hasColumns() || hasTransform() || hasReflection(), pageHeight, pageHeightChanged, colInfo);
+    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()), hasColumns() || hasTransform() || hasReflection() || style()->isFlippedBlocksWritingMode(), pageHeight, pageHeightChanged, colInfo);
 
     // We use four values, maxTopPos, maxTopNeg, maxBottomPos, and maxBottomNeg, to track
     // our current maximal positive and negative margins.  These values are used when we
@@ -1987,7 +1987,7 @@ bool RenderBlock::layoutOnlyPositionedObjects()
     if (!posChildNeedsLayout() || normalChildNeedsLayout() || selfNeedsLayout())
         return false;
 
-    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()), hasColumns() || hasTransform() || hasReflection());
+    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()), hasColumns() || hasTransform() || hasReflection() || style()->isFlippedBlocksWritingMode());
 
     if (needsPositionedMovementLayout()) {
         tryLayoutDoingPositionedMovementOnly();
@@ -2566,8 +2566,9 @@ void RenderBlock::paintSelection(PaintInfo& paintInfo, int tx, int ty)
             if (RenderLayer* layer = enclosingLayer()) {
                 gapRectsBounds.move(IntSize(-tx, -ty));
                 if (!hasLayer()) {
-                    FloatRect localBounds(gapRectsBounds);
-                    gapRectsBounds = localToContainerQuad(localBounds, layer->renderer()).enclosingBoundingBox();
+                    IntRect localBounds(gapRectsBounds);
+                    flipForWritingMode(localBounds);
+                    gapRectsBounds = localToContainerQuad(FloatRect(localBounds), layer->renderer()).enclosingBoundingBox();
                     gapRectsBounds.move(layer->scrolledContentOffset());
                 }
                 layer->addBlockSelectionGapsBounds(gapRectsBounds);
diff --git a/WebCore/rendering/RenderBlockLineLayout.cpp b/WebCore/rendering/RenderBlockLineLayout.cpp
index 191efe7..f6951ed 100644
--- a/WebCore/rendering/RenderBlockLineLayout.cpp
+++ b/WebCore/rendering/RenderBlockLineLayout.cpp
@@ -2027,66 +2027,38 @@ void RenderBlock::addOverflowFromInlineChildren()
 
 int RenderBlock::beforeSideVisibleOverflowForLine(RootInlineBox* line) const
 {
-    switch (style()->writingMode()) {
-    case TopToBottomWritingMode:
+    // Overflow is in the block's coordinate space, which means it isn't purely physical.  For flipped blocks (rl and bt),
+    // we continue to use top and left overflow even though physically it's bottom and right.
+    if (style()->isHorizontalWritingMode())
         return line->topVisibleOverflow();
-    case LeftToRightWritingMode:
-        return line->leftVisibleOverflow();
-    case RightToLeftWritingMode:
-        return line->rightVisibleOverflow();
-    case BottomToTopWritingMode:
-        return line->bottomVisibleOverflow();
-    }
-    ASSERT_NOT_REACHED();
-    return line->topVisibleOverflow();
+    return line->leftVisibleOverflow();
 }
 
 int RenderBlock::afterSideVisibleOverflowForLine(RootInlineBox* line) const
 {
-    switch (style()->writingMode()) {
-    case TopToBottomWritingMode:
+    // Overflow is in the block's coordinate space, which means it isn't purely physical.  For flipped blocks (rl and bt),
+    // we continue to use bottom and right overflow even though physically it's top and left.
+    if (style()->isHorizontalWritingMode())
         return line->bottomVisibleOverflow();
-    case LeftToRightWritingMode:
-        return line->rightVisibleOverflow();
-    case RightToLeftWritingMode:
-        return line->leftVisibleOverflow();
-    case BottomToTopWritingMode:
-        return line->topVisibleOverflow();
-    }
-    ASSERT_NOT_REACHED();
-    return line->bottomVisibleOverflow();
+    return line->rightVisibleOverflow();
 }
 
 int RenderBlock::beforeSideLayoutOverflowForLine(RootInlineBox* line) const
 {
-    switch (style()->writingMode()) {
-    case TopToBottomWritingMode:
+    // Overflow is in the block's coordinate space, which means it isn't purely physical.  For flipped blocks (rl and bt),
+    // we continue to use top and left overflow even though physically it's bottom and right.
+    if (style()->isHorizontalWritingMode())
         return line->topLayoutOverflow();
-    case LeftToRightWritingMode:
-        return line->leftLayoutOverflow();
-    case RightToLeftWritingMode:
-        return line->rightLayoutOverflow();
-    case BottomToTopWritingMode:
-        return line->bottomLayoutOverflow();
-    }
-    ASSERT_NOT_REACHED();
-    return line->topLayoutOverflow();
+    return line->leftLayoutOverflow();
 }
 
 int RenderBlock::afterSideLayoutOverflowForLine(RootInlineBox* line) const
 {
-    switch (style()->writingMode()) {
-    case TopToBottomWritingMode:
+    // Overflow is in the block's coordinate space, which means it isn't purely physical.  For flipped blocks (rl and bt),
+    // we continue to use bottom and right overflow even though physically it's top and left.
+    if (style()->isHorizontalWritingMode())
         return line->bottomLayoutOverflow();
-    case LeftToRightWritingMode:
-        return line->rightLayoutOverflow();
-    case RightToLeftWritingMode:
-        return line->leftLayoutOverflow();
-    case BottomToTopWritingMode:
-        return line->topLayoutOverflow();
-    }
-    ASSERT_NOT_REACHED();
-    return line->bottomLayoutOverflow();
+    return line->rightLayoutOverflow();
 }
 
 void RenderBlock::deleteEllipsisLineBoxes()
diff --git a/WebCore/rendering/RenderBox.cpp b/WebCore/rendering/RenderBox.cpp
index f4aaf0e..2286ca7 100644
--- a/WebCore/rendering/RenderBox.cpp
+++ b/WebCore/rendering/RenderBox.cpp
@@ -378,7 +378,7 @@ void RenderBox::layout()
         return;
     }
 
-    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()));
+    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()), style()->isFlippedBlocksWritingMode());
     while (child) {
         child->layoutIfNeeded();
         ASSERT(!child->needsLayout());
@@ -1174,7 +1174,7 @@ void RenderBox::mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool
         fixed |= isFixedPos;
     
     IntSize containerOffset = offsetFromContainer(o, roundedIntPoint(transformState.mappedPoint()));
-
+    
     bool preserve3D = useTransforms && (o->style()->preserves3D() || style()->preserves3D());
     if (useTransforms && shouldUseTransformFromContainer(o)) {
         TransformationMatrix t;
@@ -1234,9 +1234,11 @@ IntSize RenderBox::offsetFromContainer(RenderObject* o, const IntPoint& point) c
         offset += relativePositionOffset();
 
     if (!isInline() || isReplaced()) {
-        if (style()->position() != AbsolutePosition && style()->position() != FixedPosition)
+        if (style()->position() != AbsolutePosition && style()->position() != FixedPosition) {
             o->adjustForColumns(offset, IntPoint(point.x() + x(), point.y() + y()));
-        offset.expand(x(), y());
+            offset += locationOffsetIncludingFlipping();
+        } else
+            offset += locationOffset();
     }
 
     if (o->hasOverflowClip())
@@ -1329,12 +1331,21 @@ IntRect RenderBox::clippedOverflowRectForRepaint(RenderBoxModelObject* repaintCo
             r.inflate(v->maximalOutlineSize());
         }
     }
+    
     computeRectForRepaint(repaintContainer, r);
     return r;
 }
 
 void RenderBox::computeRectForRepaint(RenderBoxModelObject* repaintContainer, IntRect& rect, bool fixed)
 {
+    // The rect we compute at each step is shifted by our x/y offset in the parent container's coordinate space.
+    // Only when we cross a writing mode boundary will we have to possibly flipForWritingMode (to convert into a more appropriate
+    // offset corner for the enclosing container).  This allows for a fully RL or BT document to repaint
+    // properly even during layout, since the rect remains flipped all the way until the end.
+    //
+    // RenderView::computeRectForRepaint then converts the rect to physical coordinates.  We also convert to
+    // physical when we hit a repaintContainer boundary.  Therefore the final rect returned is always in the
+    // physical coordinate space of the repaintContainer.
     if (RenderView* v = view()) {
         // LayoutState is only valid for root-relative repainting
         if (v->layoutStateEnabled() && !repaintContainer) {
@@ -1357,8 +1368,11 @@ void RenderBox::computeRectForRepaint(RenderBoxModelObject* repaintContainer, In
     if (hasReflection())
         rect.unite(reflectedRect(rect));
 
-    if (repaintContainer == this)
+    if (repaintContainer == this) {
+        if (repaintContainer->style()->isFlippedBlocksWritingMode())
+            flipForWritingMode(rect);
         return;
+    }
 
     bool containerSkipped;
     RenderObject* o = container(repaintContainer, &containerSkipped);
@@ -1366,7 +1380,10 @@ void RenderBox::computeRectForRepaint(RenderBoxModelObject* repaintContainer, In
         return;
 
     IntPoint topLeft = rect.location();
-    topLeft.move(x(), y());
+    if (isWritingModeRoot() && !isPositioned())
+        topLeft.move(locationOffsetIncludingFlipping());
+    else
+        topLeft.move(x(), y());
 
     EPosition position = style()->position();
 
@@ -1376,7 +1393,10 @@ void RenderBox::computeRectForRepaint(RenderBoxModelObject* repaintContainer, In
         fixed = position == FixedPosition;
         rect = layer()->transform()->mapRect(rect);
         topLeft = rect.location();
-        topLeft.move(x(), y());
+        if (isWritingModeRoot() && !isPositioned())
+            topLeft.move(locationOffsetIncludingFlipping());
+        else
+            topLeft.move(x(), y());
     } else if (position == FixedPosition)
         fixed = true;
 
@@ -1424,10 +1444,7 @@ void RenderBox::computeRectForRepaint(RenderBoxModelObject* repaintContainer, In
         rect.move(-containerOffset);
         return;
     }
-    
-    if (o->isBox())
-        toRenderBox(o)->flipForWritingMode(rect);
-    
+
     o->computeRectForRepaint(repaintContainer, rect, fixed);
 }
 
@@ -3199,7 +3216,7 @@ void RenderBox::blockDirectionOverflow(bool isLineHorizontal, int& logicalTopLay
     } 
 }
 
-IntPoint RenderBox::flipForWritingMode(RenderBox* child, const IntPoint& point, FlippingAdjustment adjustment)
+IntPoint RenderBox::flipForWritingMode(const RenderBox* child, const IntPoint& point, FlippingAdjustment adjustment) const
 {
     if (!style()->isFlippedBlocksWritingMode())
         return point;
@@ -3211,7 +3228,7 @@ IntPoint RenderBox::flipForWritingMode(RenderBox* child, const IntPoint& point,
     return IntPoint(point.x() + width() - child->width() - child->x() - (adjustment == ParentToChildFlippingAdjustment ? child->x() : 0), point.y());
 }
 
-void RenderBox::flipForWritingMode(IntRect& rect)
+void RenderBox::flipForWritingMode(IntRect& rect) const
 {
     if (!style()->isFlippedBlocksWritingMode())
         return;
@@ -3222,35 +3239,35 @@ void RenderBox::flipForWritingMode(IntRect& rect)
         rect.setX(width() - rect.right());
 }
 
-int RenderBox::flipForWritingMode(int position)
+int RenderBox::flipForWritingMode(int position) const
 {
     if (!style()->isFlippedBlocksWritingMode())
         return position;
     return logicalHeight() - position;
 }
 
-IntPoint RenderBox::flipForWritingMode(const IntPoint& position)
+IntPoint RenderBox::flipForWritingMode(const IntPoint& position) const
 {
     if (!style()->isFlippedBlocksWritingMode())
         return position;
     return style()->isHorizontalWritingMode() ? IntPoint(position.x(), height() - position.y()) : IntPoint(width() - position.x(), position.y());
 }
 
-IntSize RenderBox::flipForWritingMode(const IntSize& offset)
+IntSize RenderBox::flipForWritingMode(const IntSize& offset) const
 {
     if (!style()->isFlippedBlocksWritingMode())
         return offset;
     return style()->isHorizontalWritingMode() ? IntSize(offset.width(), height() - offset.height()) : IntSize(width() - offset.width(), offset.height());
 }
 
-IntSize RenderBox::locationOffsetIncludingFlipping()
+IntSize RenderBox::locationOffsetIncludingFlipping() const
 {
     if (!parent() || !parent()->isBox())
         return locationOffset();
     
-    RenderBox* parent = parentBox();
-    IntPoint localPoint = parent->flipForWritingMode(this, location(), ChildToParentFlippingAdjustment);
-    return IntSize(localPoint.x(), localPoint.y());
+    IntRect rect(frameRect());
+    parentBox()->flipForWritingMode(rect);
+    return IntSize(rect.x(), rect.y());
 }
 
 } // namespace WebCore
diff --git a/WebCore/rendering/RenderBox.h b/WebCore/rendering/RenderBox.h
index 44d84ba..36fbede 100644
--- a/WebCore/rendering/RenderBox.h
+++ b/WebCore/rendering/RenderBox.h
@@ -381,12 +381,12 @@ public:
     virtual int baselinePosition(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
 
     enum FlippingAdjustment { ChildToParentFlippingAdjustment, ParentToChildFlippingAdjustment };
-    IntPoint flipForWritingMode(RenderBox* child, const IntPoint&, FlippingAdjustment);
-    int flipForWritingMode(int position);
-    IntPoint flipForWritingMode(const IntPoint&);
-    IntSize flipForWritingMode(const IntSize&);
-    void flipForWritingMode(IntRect&);
-    IntSize locationOffsetIncludingFlipping();
+    IntPoint flipForWritingMode(const RenderBox* child, const IntPoint&, FlippingAdjustment) const;
+    int flipForWritingMode(int position) const; // The offset is in the block direction (y for horizontal writing modes, x for vertical writing modes).
+    IntPoint flipForWritingMode(const IntPoint&) const;
+    IntSize flipForWritingMode(const IntSize&) const;
+    void flipForWritingMode(IntRect&) const;
+    IntSize locationOffsetIncludingFlipping() const;
 
 protected:
     virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle);
diff --git a/WebCore/rendering/RenderFlexibleBox.cpp b/WebCore/rendering/RenderFlexibleBox.cpp
index 63bada6..50b991c 100644
--- a/WebCore/rendering/RenderFlexibleBox.cpp
+++ b/WebCore/rendering/RenderFlexibleBox.cpp
@@ -209,7 +209,7 @@ void RenderFlexibleBox::layoutBlock(bool relayoutChildren, int /*pageHeight FIXM
         return;
 
     LayoutRepainter repainter(*this, checkForRepaintDuringLayout());
-    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()), hasTransform() || hasReflection());
+    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()), hasTransform() || hasReflection() || style()->isFlippedBlocksWritingMode());
 
     int previousWidth = width();
     int previousHeight = height();
diff --git a/WebCore/rendering/RenderInline.cpp b/WebCore/rendering/RenderInline.cpp
index 1a792e7..3093f56 100644
--- a/WebCore/rendering/RenderInline.cpp
+++ b/WebCore/rendering/RenderInline.cpp
@@ -628,7 +628,6 @@ IntRect RenderInline::clippedOverflowRectForRepaint(RenderBoxModelObject* repain
     }
 
     IntRect r(-ow + left, -ow + top, boundingBox.width() + ow * 2, boundingBox.height() + ow * 2);
-    cb->flipForWritingMode(r);
 
     if (cb->hasColumns())
         cb->adjustRectForColumns(r);
diff --git a/WebCore/rendering/RenderSlider.cpp b/WebCore/rendering/RenderSlider.cpp
index 240278d..a996ada 100644
--- a/WebCore/rendering/RenderSlider.cpp
+++ b/WebCore/rendering/RenderSlider.cpp
@@ -281,7 +281,7 @@ void RenderSlider::layout()
         if (oldSize != size())
             thumb->setChildNeedsLayout(true, false);
 
-        LayoutStateMaintainer statePusher(view(), this, size());
+        LayoutStateMaintainer statePusher(view(), this, size(), style()->isFlippedBlocksWritingMode());
 
         IntRect oldThumbRect = thumb->frameRect();
 
diff --git a/WebCore/rendering/RenderTable.cpp b/WebCore/rendering/RenderTable.cpp
index 749ced5..7115222 100644
--- a/WebCore/rendering/RenderTable.cpp
+++ b/WebCore/rendering/RenderTable.cpp
@@ -252,7 +252,7 @@ void RenderTable::layout()
     recalcSectionsIfNeeded();
         
     LayoutRepainter repainter(*this, checkForRepaintDuringLayout());
-    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()));
+    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()), style()->isFlippedBlocksWritingMode());
 
     setLogicalHeight(0);
     m_overflow.clear();
diff --git a/WebCore/rendering/RenderTableRow.cpp b/WebCore/rendering/RenderTableRow.cpp
index 5ccf8eb..98544a6 100644
--- a/WebCore/rendering/RenderTableRow.cpp
+++ b/WebCore/rendering/RenderTableRow.cpp
@@ -115,7 +115,7 @@ void RenderTableRow::layout()
     ASSERT(needsLayout());
 
     // Table rows do not add translation.
-    LayoutStateMaintainer statePusher(view(), this, IntSize());
+    LayoutStateMaintainer statePusher(view(), this, IntSize(), style()->isFlippedBlocksWritingMode());
 
     bool paginated = view()->layoutState()->isPaginated();
                 
diff --git a/WebCore/rendering/RenderTableSection.cpp b/WebCore/rendering/RenderTableSection.cpp
index e2726a6..f4051e7 100644
--- a/WebCore/rendering/RenderTableSection.cpp
+++ b/WebCore/rendering/RenderTableSection.cpp
@@ -393,7 +393,7 @@ void RenderTableSection::layout()
 {
     ASSERT(needsLayout());
 
-    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()));
+    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()), style()->isFlippedBlocksWritingMode());
     for (RenderObject* child = children()->firstChild(); child; child = child->nextSibling()) {
         if (child->isTableRow()) {
             child->layoutIfNeeded();
@@ -484,7 +484,7 @@ int RenderTableSection::layoutRows(int toAdd)
     int vspacing = table()->vBorderSpacing();
     int nEffCols = table()->numEffCols();
 
-    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()));
+    LayoutStateMaintainer statePusher(view(), this, IntSize(x(), y()), style()->isFlippedBlocksWritingMode());
 
     for (int r = 0; r < totalRows; r++) {
         // Set the row's x/y position and width/height.
diff --git a/WebCore/rendering/RenderView.cpp b/WebCore/rendering/RenderView.cpp
index 90a7089..6b4b65c 100644
--- a/WebCore/rendering/RenderView.cpp
+++ b/WebCore/rendering/RenderView.cpp
@@ -292,6 +292,15 @@ void RenderView::computeRectForRepaint(RenderBoxModelObject* repaintContainer, I
     if (printing())
         return;
 
+    if (style()->isFlippedBlocksWritingMode()) {
+        // We have to flip by hand since the view's logical height has not been determined.  We
+        // can use the viewport width and height.
+        if (style()->isHorizontalWritingMode())
+            rect.setY(viewHeight() - rect.bottom());
+        else
+            rect.setX(viewWidth() - rect.right());
+    }
+
     if (fixed && m_frameView)
         rect.move(m_frameView->scrollX(), m_frameView->scrollY());
         
diff --git a/WebCore/rendering/ShadowElement.cpp b/WebCore/rendering/ShadowElement.cpp
index c52ce17..cea3164 100644
--- a/WebCore/rendering/ShadowElement.cpp
+++ b/WebCore/rendering/ShadowElement.cpp
@@ -45,7 +45,7 @@ void ShadowBlockElement::layoutAsPart(const IntRect& partRect)
     RenderBox* selfRenderer = toRenderBox(renderer());
     IntRect oldRect = selfRenderer->frameRect();
 
-    LayoutStateMaintainer statePusher(parentRenderer->view(), parentRenderer, parentRenderer->size());
+    LayoutStateMaintainer statePusher(parentRenderer->view(), parentRenderer, parentRenderer->size(), parentRenderer->style()->isFlippedBlocksWritingMode());
 
     if (oldRect.size() != partRect.size())
         selfRenderer->setChildNeedsLayout(true, false);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list