<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[159347] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/159347">159347</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2013-11-15 11:21:23 -0800 (Fri, 15 Nov 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>Unreviewed, rolling out <a href="http://trac.webkit.org/projects/webkit/changeset/159337">r159337</a>.
http://trac.webkit.org/changeset/159337
https://bugs.webkit.org/show_bug.cgi?id=124423

broke a bunch of fast/regions tests on EFL/GTK (Requested by
philn on #webkit).

Source/WebCore:

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::setLayoutOverflow):
(WebCore::InlineFlowBox::setVisualOverflow):
* rendering/InlineFlowBox.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addOverflowFromChildren):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::estimateRegionRangeForBoxChild):
(WebCore::RenderBlock::updateRegionRangeForBoxChild):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::hasNextPage):
(WebCore::RenderBlockFlow::relayoutForPagination):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::positionNewFloatOnLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::isUnsplittableForPagination):
(WebCore::RenderBox::overflowRectForPaintRejection):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderBoxModelObject.h:
* rendering/RenderBoxRegionInfo.h:
(WebCore::RenderBoxRegionInfo::createOverflow):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::checkRegionsWithStyling):
(WebCore::RenderFlowThread::mapFromLocalToFlowThread):
(WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
* rendering/RenderFlowThread.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::repaintIncludingDescendants):
* rendering/RenderLayer.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::addOverflowFromChildren):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
(WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
* rendering/RenderMultiColumnSet.h:
* rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::createStyle):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderOverflow.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::flowThreadPortionOverflowRect):
(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::shouldPaintRegionContentsInPhase):
(WebCore::RenderRegion::paintObject):
(WebCore::RenderRegion::hitTestContents):
(WebCore::RenderRegion::computeOverflowFromFlowThread):
(WebCore::RenderRegion::repaintFlowThreadContent):
(WebCore::RenderRegion::repaintFlowThreadContentRectangle):
(WebCore::RenderRegion::insertedIntoTree):
(WebCore::RenderRegion::ensureOverflowForBox):
(WebCore::RenderRegion::rectFlowPortionForBox):
(WebCore::RenderRegion::addLayoutOverflowForBox):
(WebCore::RenderRegion::addVisualOverflowForBox):
(WebCore::RenderRegion::layoutOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
* rendering/RenderRegion.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::paint):

LayoutTests:

* fast/regions/bottom-overflow-out-of-first-region-expected.html:
* fast/regions/bottom-overflow-out-of-first-region.html:
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html:
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html:
* fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt:
* fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt:
* fast/regions/element-inflow-fixed-from-outflow-static-expected.txt:
* fast/regions/element-outflow-static-from-inflow-fixed-expected.txt:
* fast/regions/float-pushed-width-change-2-expected.html:
* fast/regions/float-pushed-width-change-2.html:
* fast/regions/float-pushed-width-change-expected.html:
* fast/regions/float-pushed-width-change.html:
* fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Removed.
* fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Removed.
* fast/regions/layers/regions-promoted-to-layers-expected.txt: Removed.
* fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Removed.
* fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Removed.
* fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Removed.
* fast/regions/outline-sides-in-region-expected.html:
* fast/regions/outline-sides-in-region.html:
* fast/regions/overflow-first-and-last-regions-expected.html: Removed.
* fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html: Removed.
* fast/regions/overflow-first-and-last-regions-in-container-hidden.html: Removed.
* fast/regions/overflow-first-and-last-regions.html: Removed.
* fast/regions/overflow-last-region-expected.html: Added.
* fast/regions/overflow-last-region.html: Added.
* fast/regions/overflow-nested-regions-expected.html: Removed.
* fast/regions/overflow-nested-regions.html: Removed.
* fast/regions/overflow-region-float-expected.html: Removed.
* fast/regions/overflow-region-float.html: Removed.
* fast/regions/overflow-region-inline-expected.html: Removed.
* fast/regions/overflow-region-inline.html: Removed.
* fast/regions/overflow-region-transform-expected.html: Removed.
* fast/regions/overflow-region-transform.html: Removed.
* fast/regions/overflow-scrollable-rotated-fragment-expected.html:
* fast/regions/overflow-scrollable-rotated-fragment.html:
* fast/regions/top-overflow-out-of-second-region-expected.html: Removed.
* fast/regions/top-overflow-out-of-second-region.html:
* fast/regions/webkit-flow-float-unable-to-push-expected.html:
* fast/regions/webkit-flow-float-unable-to-push.html:
* fast/repaint/increasing-region-content-height-expected.txt:
* fast/repaint/increasing-region-content-height.html:
* platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt: Added.
* platform/mac-wk2/TestExpectations:
* platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png: Added.
* platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastregionsbottomoverflowoutoffirstregionexpectedhtml">trunk/LayoutTests/fast/regions/bottom-overflow-out-of-first-region-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsbottomoverflowoutoffirstregionhtml">trunk/LayoutTests/fast/regions/bottom-overflow-out-of-first-region.html</a></li>
<li><a href="#trunkLayoutTestsfastregionscountersextractorderedlistsinregionsexplicitcounters005expectedhtml">trunk/LayoutTests/fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionscountersextractorderedlistsinregionsexplicitcounters005html">trunk/LayoutTests/fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html</a></li>
<li><a href="#trunkLayoutTestsfastregionselementinnamedflowabsolutefromfixedexpectedtxt">trunk/LayoutTests/fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastregionselementinnamedflowfixedfromabsoluteexpectedtxt">trunk/LayoutTests/fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastregionselementinflowfixedfromoutflowstaticexpectedtxt">trunk/LayoutTests/fast/regions/element-inflow-fixed-from-outflow-static-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastregionselementoutflowstaticfrominflowfixedexpectedtxt">trunk/LayoutTests/fast/regions/element-outflow-static-from-inflow-fixed-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastregionsfloatpushedwidthchange2expectedhtml">trunk/LayoutTests/fast/regions/float-pushed-width-change-2-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsfloatpushedwidthchange2html">trunk/LayoutTests/fast/regions/float-pushed-width-change-2.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsfloatpushedwidthchangeexpectedhtml">trunk/LayoutTests/fast/regions/float-pushed-width-change-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsfloatpushedwidthchangehtml">trunk/LayoutTests/fast/regions/float-pushed-width-change.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoutlinesidesinregionexpectedhtml">trunk/LayoutTests/fast/regions/outline-sides-in-region-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoutlinesidesinregionhtml">trunk/LayoutTests/fast/regions/outline-sides-in-region.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowscrollablerotatedfragmentexpectedhtml">trunk/LayoutTests/fast/regions/overflow-scrollable-rotated-fragment-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowscrollablerotatedfragmenthtml">trunk/LayoutTests/fast/regions/overflow-scrollable-rotated-fragment.html</a></li>
<li><a href="#trunkLayoutTestsfastregionstopoverflowoutofsecondregionhtml">trunk/LayoutTests/fast/regions/top-overflow-out-of-second-region.html</a></li>
<li><a href="#trunkLayoutTestsfastregionswebkitflowfloatunabletopushexpectedhtml">trunk/LayoutTests/fast/regions/webkit-flow-float-unable-to-push-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionswebkitflowfloatunabletopushhtml">trunk/LayoutTests/fast/regions/webkit-flow-float-unable-to-push.html</a></li>
<li><a href="#trunkLayoutTestsfastrepaintincreasingregioncontentheightexpectedtxt">trunk/LayoutTests/fast/repaint/increasing-region-content-height-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastrepaintincreasingregioncontentheighthtml">trunk/LayoutTests/fast/repaint/increasing-region-content-height.html</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk2TestExpectations">trunk/LayoutTests/platform/mac-wk2/TestExpectations</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorerenderingInlineFlowBoxcpp">trunk/Source/WebCore/rendering/InlineFlowBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingInlineFlowBoxh">trunk/Source/WebCore/rendering/InlineFlowBox.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockcpp">trunk/Source/WebCore/rendering/RenderBlock.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockFlowcpp">trunk/Source/WebCore/rendering/RenderBlockFlow.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockLineLayoutcpp">trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxcpp">trunk/Source/WebCore/rendering/RenderBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxh">trunk/Source/WebCore/rendering/RenderBox.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxModelObjectcpp">trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxModelObjecth">trunk/Source/WebCore/rendering/RenderBoxModelObject.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxRegionInfoh">trunk/Source/WebCore/rendering/RenderBoxRegionInfo.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderFlowThreadcpp">trunk/Source/WebCore/rendering/RenderFlowThread.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderFlowThreadh">trunk/Source/WebCore/rendering/RenderFlowThread.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayercpp">trunk/Source/WebCore/rendering/RenderLayer.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerh">trunk/Source/WebCore/rendering/RenderLayer.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerCompositorcpp">trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderListItemcpp">trunk/Source/WebCore/rendering/RenderListItem.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMultiColumnSetcpp">trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMultiColumnSeth">trunk/Source/WebCore/rendering/RenderMultiColumnSet.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderNamedFlowFragmentcpp">trunk/Source/WebCore/rendering/RenderNamedFlowFragment.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderNamedFlowFragmenth">trunk/Source/WebCore/rendering/RenderNamedFlowFragment.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderOverflowh">trunk/Source/WebCore/rendering/RenderOverflow.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderRegioncpp">trunk/Source/WebCore/rendering/RenderRegion.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderRegionh">trunk/Source/WebCore/rendering/RenderRegion.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderReplacedcpp">trunk/Source/WebCore/rendering/RenderReplaced.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRootInlineBoxcpp">trunk/Source/WebCore/rendering/RootInlineBox.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastregionsoverflowlastregionexpectedhtml">trunk/LayoutTests/fast/regions/overflow-last-region-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowlastregionhtml">trunk/LayoutTests/fast/regions/overflow-last-region.html</a></li>
<li>trunk/LayoutTests/platform/gtk/fast/regions/</li>
<li><a href="#trunkLayoutTestsplatformgtkfastregionstextregionsplitverticalrlexpectedtxt">trunk/LayoutTests/platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacfastregionstopoverflowoutofsecondregionexpectedpng">trunk/LayoutTests/platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmacfastregionstopoverflowoutofsecondregionexpectedtxt">trunk/LayoutTests/platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastregionslayersdynamiclayeraddedwithnolayoutexpectedtxt">trunk/LayoutTests/fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastregionslayersdynamiclayerremovedwithnolayoutexpectedtxt">trunk/LayoutTests/fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastregionslayersregionspromotedtolayersexpectedtxt">trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastregionslayersregionspromotedtolayershorizontalbtexpectedtxt">trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastregionslayersregionspromotedtolayersverticallrexpectedtxt">trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastregionslayersregionspromotedtolayersverticalrlexpectedtxt">trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowfirstandlastregionsexpectedhtml">trunk/LayoutTests/fast/regions/overflow-first-and-last-regions-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowfirstandlastregionsincontainerhiddenexpectedhtml">trunk/LayoutTests/fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowfirstandlastregionsincontainerhiddenhtml">trunk/LayoutTests/fast/regions/overflow-first-and-last-regions-in-container-hidden.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowfirstandlastregionshtml">trunk/LayoutTests/fast/regions/overflow-first-and-last-regions.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflownestedregionsexpectedhtml">trunk/LayoutTests/fast/regions/overflow-nested-regions-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflownestedregionshtml">trunk/LayoutTests/fast/regions/overflow-nested-regions.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowregionfloatexpectedhtml">trunk/LayoutTests/fast/regions/overflow-region-float-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowregionfloathtml">trunk/LayoutTests/fast/regions/overflow-region-float.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowregioninlineexpectedhtml">trunk/LayoutTests/fast/regions/overflow-region-inline-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowregioninlinehtml">trunk/LayoutTests/fast/regions/overflow-region-inline.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowregiontransformexpectedhtml">trunk/LayoutTests/fast/regions/overflow-region-transform-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastregionsoverflowregiontransformhtml">trunk/LayoutTests/fast/regions/overflow-region-transform.html</a></li>
<li><a href="#trunkLayoutTestsfastregionstopoverflowoutofsecondregionexpectedhtml">trunk/LayoutTests/fast/regions/top-overflow-out-of-second-region-expected.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/ChangeLog        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,3 +1,59 @@
</span><ins>+2013-11-15  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r159337.
+        http://trac.webkit.org/changeset/159337
+        https://bugs.webkit.org/show_bug.cgi?id=124423
+
+        broke a bunch of fast/regions tests on EFL/GTK (Requested by
+        philn on #webkit).
+
+        * fast/regions/bottom-overflow-out-of-first-region-expected.html:
+        * fast/regions/bottom-overflow-out-of-first-region.html:
+        * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html:
+        * fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html:
+        * fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt:
+        * fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt:
+        * fast/regions/element-inflow-fixed-from-outflow-static-expected.txt:
+        * fast/regions/element-outflow-static-from-inflow-fixed-expected.txt:
+        * fast/regions/float-pushed-width-change-2-expected.html:
+        * fast/regions/float-pushed-width-change-2.html:
+        * fast/regions/float-pushed-width-change-expected.html:
+        * fast/regions/float-pushed-width-change.html:
+        * fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Removed.
+        * fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Removed.
+        * fast/regions/layers/regions-promoted-to-layers-expected.txt: Removed.
+        * fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Removed.
+        * fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Removed.
+        * fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Removed.
+        * fast/regions/outline-sides-in-region-expected.html:
+        * fast/regions/outline-sides-in-region.html:
+        * fast/regions/overflow-first-and-last-regions-expected.html: Removed.
+        * fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html: Removed.
+        * fast/regions/overflow-first-and-last-regions-in-container-hidden.html: Removed.
+        * fast/regions/overflow-first-and-last-regions.html: Removed.
+        * fast/regions/overflow-last-region-expected.html: Added.
+        * fast/regions/overflow-last-region.html: Added.
+        * fast/regions/overflow-nested-regions-expected.html: Removed.
+        * fast/regions/overflow-nested-regions.html: Removed.
+        * fast/regions/overflow-region-float-expected.html: Removed.
+        * fast/regions/overflow-region-float.html: Removed.
+        * fast/regions/overflow-region-inline-expected.html: Removed.
+        * fast/regions/overflow-region-inline.html: Removed.
+        * fast/regions/overflow-region-transform-expected.html: Removed.
+        * fast/regions/overflow-region-transform.html: Removed.
+        * fast/regions/overflow-scrollable-rotated-fragment-expected.html:
+        * fast/regions/overflow-scrollable-rotated-fragment.html:
+        * fast/regions/top-overflow-out-of-second-region-expected.html: Removed.
+        * fast/regions/top-overflow-out-of-second-region.html:
+        * fast/regions/webkit-flow-float-unable-to-push-expected.html:
+        * fast/regions/webkit-flow-float-unable-to-push.html:
+        * fast/repaint/increasing-region-content-height-expected.txt:
+        * fast/repaint/increasing-region-content-height.html:
+        * platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt: Added.
+        * platform/mac-wk2/TestExpectations:
+        * platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png: Added.
+        * platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt: Added.
+
</ins><span class="cx"> 2013-11-15  Antti Koivisto  &lt;antti@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Hovering over text using simple line path should not cause switch to line boxes
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionsbottomoverflowoutoffirstregionexpectedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/bottom-overflow-out-of-first-region-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/bottom-overflow-out-of-first-region-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/bottom-overflow-out-of-first-region-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -4,19 +4,16 @@
</span><span class="cx">         &lt;style&gt;
</span><span class="cx">             body { font: 16px/1.25 monospace; }
</span><span class="cx"> 
</span><del>-            #region1, #region2 { border: 1px solid red; }
</del><ins>+            #region1, #region2 { border: 1px solid black; }
</ins><span class="cx"> 
</span><span class="cx">             #region1 {
</span><span class="cx">                 width: 412px;
</span><del>-                height: 140px;
</del><ins>+                height: 210px;
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             #region2 {
</span><span class="cx">                 width: 300px;
</span><span class="cx">                 height: 150px;
</span><del>-                position: relative;
-                left: 100px;
-                top: 50px;
</del><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             #content {
</span><span class="lines">@@ -25,22 +22,31 @@
</span><span class="cx"> 
</span><span class="cx">             #first-box {
</span><span class="cx">                 border: 1px solid blue;
</span><del>-                height:125px;
</del><ins>+                height:200px;
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             #second-box {
</span><span class="cx">                 margin: auto;
</span><span class="cx">                 border: 1px solid green;
</span><ins>+                border-bottom: 0px;
</ins><span class="cx">                 width: 75%;
</span><ins>+                height: 203px;
</ins><span class="cx">             }
</span><span class="cx"> 
</span><del>-            #p1, #p2 {
</del><ins>+            #second-box-2 {
+                border: 1px solid green;
+                border-top: 0px;
+                width: 300px;
+                margin-left: 55px;
+            }
+
+            #p1, #p2, #p3 {
</ins><span class="cx">                 margin: 0;
</span><span class="cx">             }
</span><span class="cx">         &lt;/style&gt;
</span><span class="cx">     &lt;/head&gt;
</span><span class="cx">     &lt;body&gt;
</span><del>-        &lt;p&gt;In the test case below, the green block should not be fragmented into the second region. It is overflowing downwards out of the first region because its parent (the blue block) is only flowed inside the first region.&lt;/p&gt;
</del><ins>+        &lt;p&gt;In the test case below, the green block's width should not vary and should use the first region to determine its width. It is overflowing downwards out of the blue block, and so the portion that overflows should continue to use the blue block's containing block width. The blue block does not exist in region two, so using some hypothetical made-up width is incorrect. The overflow should be spilling out of the top of region one and be painted in region two.&lt;/p&gt;
</ins><span class="cx">         &lt;div id=&quot;region1&quot;&gt;
</span><span class="cx">             &lt;div id=&quot;content&quot;&gt;
</span><span class="cx">                 &lt;div id=&quot;first-box&quot;&gt;
</span><span class="lines">@@ -52,6 +58,9 @@
</span><span class="cx">             &lt;/div&gt;
</span><span class="cx">         &lt;/div&gt;
</span><span class="cx">         &lt;div id=&quot;region2&quot;&gt;
</span><ins>+            &lt;div id=&quot;second-box-2&quot;&gt;
+                &lt;p id=&quot;p3&quot;&gt;These lines should all fit to the width of the block in the first region and spill out of the bottom of the first region.&lt;/p&gt;
+            &lt;/div&gt;
</ins><span class="cx">         &lt;/div&gt;
</span><span class="cx">     &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionsbottomoverflowoutoffirstregionhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/bottom-overflow-out-of-first-region.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/bottom-overflow-out-of-first-region.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/bottom-overflow-out-of-first-region.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -11,7 +11,7 @@
</span><span class="cx"> 
</span><span class="cx">             #first-box {
</span><span class="cx">                 border: 1px solid blue;
</span><del>-                height:125px;
</del><ins>+                height:200px;
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             #second-box {
</span><span class="lines">@@ -21,34 +21,32 @@
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             #region1, #region2 {
</span><del>-                border: 1px solid red;
</del><ins>+                border: 1px solid black;
</ins><span class="cx">                 -webkit-flow-from: flow1;
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             #region1 {
</span><span class="cx">                 width: 412px;
</span><del>-                height: 140px;
</del><ins>+                height: 210px;
</ins><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             #region2 {
</span><span class="cx">                 width: 300px;
</span><span class="cx">                 height: 150px;
</span><del>-                position: relative;
-                left: 100px;
-                top: 50px;
</del><span class="cx">             }
</span><del>-            #p1, #p2 {
</del><ins>+            #p1, #p2, #p3 {
</ins><span class="cx">                 margin: 0;
</span><span class="cx">             }
</span><span class="cx">         &lt;/style&gt;
</span><span class="cx">     &lt;/head&gt;
</span><span class="cx">     &lt;body&gt;
</span><del>-        &lt;p&gt;In the test case below, the green block should not be fragmented into the second region. It is overflowing downwards out of the first region because its parent (the blue block) is only flowed inside the first region.&lt;/p&gt;
</del><ins>+        &lt;p&gt;In the test case below, the green block's width should not vary and should use the first region to determine its width. It is overflowing downwards out of the blue block, and so the portion that overflows should continue to use the blue block's containing block width. The blue block does not exist in region two, so using some hypothetical made-up width is incorrect. The overflow should be spilling out of the top of region one and be painted in region two.&lt;/p&gt;
</ins><span class="cx">         &lt;div id=&quot;content&quot;&gt;
</span><span class="cx">             &lt;div id=&quot;first-box&quot;&gt;
</span><span class="cx">                 &lt;div id=&quot;second-box&quot;&gt;
</span><span class="cx">                     &lt;p id=&quot;p1&quot;&gt;These lines should all fit to the width of the block in the first region and spill out of the bottom of the first region.&lt;/p&gt;
</span><span class="cx">                     &lt;p id=&quot;p2&quot;&gt;These lines should all fit to the width of the block in the first region and spill out of the bottom of the first region.&lt;/p&gt;
</span><ins>+                    &lt;p id=&quot;p3&quot;&gt;These lines should all fit to the width of the block in the first region and spill out of the bottom of the first region.&lt;/p&gt;
</ins><span class="cx">                 &lt;/div&gt;
</span><span class="cx">             &lt;/div&gt;
</span><span class="cx">         &lt;/div&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionscountersextractorderedlistsinregionsexplicitcounters005expectedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx">         }
</span><span class="cx">         &lt;/style&gt;
</span><span class="cx">     &lt;/head&gt;
</span><del>-    &lt;body style=&quot;-webkit-font-smoothing: none;&quot;&gt;
</del><ins>+    &lt;body&gt;
</ins><span class="cx">         &lt;p&gt;This test passes if you see two gray rectangles, as described below. All numbering should be aligned to the right margin of the rectangles.&lt;/p&gt;
</span><span class="cx">         &lt;p&gt;The first rectangle contains two numbered lists. The &lt;strong&gt;first list&lt;/strong&gt; has three items and is numbered using bold roman numerals, starting at 1 (I). After the first item there's a numbered sublist; it is indented and has four items, numbered using decimal numbers preceded by an ellipsis (&amp;hellip;), starting at 1. After the last item in this sublist there's a single item numbered list; the numbering is blue and uses three levels of numbering: roman, decimal and with latin letters, respectively; numbering starts with I.4-a. The &lt;strong&gt;second list&lt;/strong&gt; has two items and uses the same blue, three-level numbering, that starts at I.3-a this time.&lt;/p&gt;
</span><span class="cx">         &lt;p&gt;The second rectangle contains a two-items numbered list, numbered using decimal numbers preceded by an ellipsis. After the first item there's a sublist. The sublist is indented and has blue, three level-numbering: roman, decimal and with latin letters, respectively. Numbering starts with &lt;em&gt;III.1-a&lt;/em&gt;.&lt;/p&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionscountersextractorderedlistsinregionsexplicitcounters005html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx">         }
</span><span class="cx">         &lt;/style&gt;
</span><span class="cx">     &lt;/head&gt;
</span><del>-    &lt;body style=&quot;-webkit-font-smoothing: none;&quot;&gt;
</del><ins>+    &lt;body&gt;
</ins><span class="cx">         &lt;p&gt;This test passes if you see two gray rectangles, as described below. All numbering should be aligned to the right margin of the rectangles.&lt;/p&gt;
</span><span class="cx">         &lt;p&gt;The first rectangle contains two numbered lists. The &lt;strong&gt;first list&lt;/strong&gt; has three items and is numbered using bold roman numerals, starting at 1 (I). After the first item there's a numbered sublist; it is indented and has four items, numbered using decimal numbers preceded by an ellipsis (&amp;hellip;), starting at 1. After the last item in this sublist there's a single item numbered list; the numbering is blue and uses three levels of numbering: roman, decimal and with latin letters, respectively; numbering starts with I.4-a. The &lt;strong&gt;second list&lt;/strong&gt; has two items and uses the same blue, three-level numbering, that starts at I.3-a this time.&lt;/p&gt;
</span><span class="cx">         &lt;p&gt;The second rectangle contains a two-items numbered list, numbered using decimal numbers preceded by an ellipsis. After the first item there's a sublist. The sublist is indented and has blue, three level-numbering: roman, decimal and with latin letters, respectively. Numbering starts with &lt;em&gt;III.1-a&lt;/em&gt;.&lt;/p&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionselementinnamedflowabsolutefromfixedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,7 +1,5 @@
</span><span class="cx"> (repaint rects
</span><span class="cx">   (rect 50 100 50 50)
</span><del>-  (rect 100 100 200 200)
</del><span class="cx">   (rect 150 200 50 50)
</span><del>-  (rect 150 200 50 50)
</del><span class="cx"> )
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionselementinnamedflowfixedfromabsoluteexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,7 +1,5 @@
</span><span class="cx"> (repaint rects
</span><span class="cx">   (rect 150 200 50 50)
</span><del>-  (rect 100 100 200 200)
</del><span class="cx">   (rect 50 100 50 50)
</span><del>-  (rect 50 100 50 50)
</del><span class="cx"> )
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionselementinflowfixedfromoutflowstaticexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/element-inflow-fixed-from-outflow-static-expected.txt (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/element-inflow-fixed-from-outflow-static-expected.txt        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/element-inflow-fixed-from-outflow-static-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,7 +1,5 @@
</span><span class="cx"> (repaint rects
</span><span class="cx">   (rect 300 300 50 50)
</span><del>-  (rect 100 100 200 200)
</del><span class="cx">   (rect 50 100 50 50)
</span><del>-  (rect 50 100 50 50)
</del><span class="cx"> )
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionselementoutflowstaticfrominflowfixedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/element-outflow-static-from-inflow-fixed-expected.txt (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/element-outflow-static-from-inflow-fixed-expected.txt        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/element-outflow-static-from-inflow-fixed-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,6 +1,5 @@
</span><span class="cx"> (repaint rects
</span><span class="cx">   (rect 50 100 50 50)
</span><span class="cx">   (rect 300 300 50 50)
</span><del>-  (rect 100 100 200 200)
</del><span class="cx"> )
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionsfloatpushedwidthchange2expectedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/float-pushed-width-change-2-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/float-pushed-width-change-2-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/float-pushed-width-change-2-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -6,8 +6,9 @@
</span><span class="cx">         float: left;
</span><span class="cx">         position:absolute;
</span><span class="cx">         width: 150px;
</span><del>-        height: 100px;
</del><ins>+        height: 102px;
</ins><span class="cx">         background-color:green;
</span><ins>+        z-index:-1;
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #float2 {
</span><span class="lines">@@ -33,18 +34,14 @@
</span><span class="cx">         padding-top:1px;
</span><span class="cx">         padding-left:5px;
</span><span class="cx">         padding-right:5px;
</span><del>-        margin-left: 100px;
-        margin-top: 50px;
</del><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #region3 {
</span><del>-        width: 390px;
-        height: 85px;
</del><ins>+        width: 385px;
+        height: 80px;
</ins><span class="cx">         padding-left:5px;
</span><del>-        padding-right:5px;
-        padding-bottom:5px;
-        margin-left: 50px;
-        margin-top: 50px;
</del><ins>+        padding-right:10px;
+        padding-bottom:10px;
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     p.flow1 {
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionsfloatpushedwidthchange2html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/float-pushed-width-change-2.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/float-pushed-width-change-2.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/float-pushed-width-change-2.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -34,15 +34,11 @@
</span><span class="cx">     #region2 {
</span><span class="cx">         width: 400px;
</span><span class="cx">         height: 90px;
</span><del>-        margin-left: 100px;
-        margin-top: 50px;
</del><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #region3 {
</span><span class="cx">         width: 400px;
</span><span class="cx">         height: 90px;
</span><del>-        margin-left: 50px;
-        margin-top: 50px;
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     #floatcontainer {
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionsfloatpushedwidthchangeexpectedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/float-pushed-width-change-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/float-pushed-width-change-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/float-pushed-width-change-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,21 +1,20 @@
</span><span class="cx"> &lt;!doctype html&gt;
</span><span class="cx"> 
</span><span class="cx">  &lt;style&gt;
</span><del>-
-    #content {
-        padding: 5px;
-        border: 1px solid red;
-    }
</del><span class="cx">    
</span><span class="cx">     #float1 {
</span><span class="cx">         float: left;
</span><ins>+        position:absolute;
</ins><span class="cx">         width: 150px;
</span><del>-        height: 100px;
</del><ins>+        height: 102px;
</ins><span class="cx">         background-color:green;
</span><ins>+        z-index:-1;
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #float2 {
</span><del>-        float:right;
</del><ins>+        margin-top: 30px;
+        margin-left: -30px;
+        float:left;
</ins><span class="cx">         width:200px;
</span><span class="cx">         height:30px;
</span><span class="cx">         background-color:orange
</span><span class="lines">@@ -23,21 +22,30 @@
</span><span class="cx"> 
</span><span class="cx">     #region1, #region2, #region3 {
</span><span class="cx">         border: 1px solid black;
</span><del>-        margin: 10px;
</del><span class="cx">     }
</span><span class="cx">  
</span><span class="cx">     #region1 {
</span><del>-        margin-left: 30px;
-        width: 180px;
-        height: 90px;
</del><ins>+        width: 170px;
+        height: 80px;
+        padding: 5px;
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #region2 {
</span><del>-        margin-top: 80px;
-        width: 400px;
-        height: 90px;
</del><ins>+        width: 390px;
+        height: 89px;
+        padding-top:1px;
+        padding-left:5px;
+        padding-right:5px;
</ins><span class="cx">     }
</span><del>-
</del><ins>+    
+    #region3 {
+        width: 385px;
+        height: 80px;
+        padding-left:5px;
+        padding-right:10px;
+        padding-bottom:10px;
+    }
+        
</ins><span class="cx">            p.flow1 {
</span><span class="cx">                 clear:both;
</span><span class="cx">                 margin-bottom: 0px;
</span><span class="lines">@@ -49,14 +57,18 @@
</span><span class="cx">         
</span><span class="cx"> &lt;/style&gt;
</span><span class="cx"> 
</span><del>-&lt;p&gt;In the example below, the green float should be at the top of the first region and on the left. It should overflow the first region.
-The orange float should be right aligned under the green float and should overflow the first region because their containing block (red border) is flowed only in the first region.&lt;/p&gt;
-&lt;p&gt;No content should be displayed in the second region.&lt;/p&gt;
</del><ins>+&lt;p&gt;In the example below, the green float should be at the top of the first region and on the left. It should spill into region two.
+The orange float should be right aligned under the green float because their containing block is flown only in the first region&lt;/p&gt;
</ins><span class="cx"> 
</span><span class="cx"> &lt;div id=&quot;region1&quot;&gt;
</span><del>-    &lt;div id=&quot;content&quot;&gt;
-        &lt;img id=&quot;float1&quot;&gt;&lt;img id=&quot;float2&quot;&gt;
-    &lt;/div&gt;
</del><ins>+     &lt;p&gt;&lt;img id=&quot;float1&quot;&gt;&lt;/p&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><del>-&lt;div id=&quot;region2&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div id=&quot;region2&quot;&gt;
+    &lt;img id=&quot;float2&quot;&gt;
+    &lt;p class=&quot;flow1&quot;&gt;This line of text should not get out of the region.&lt;/p&gt;
+&lt;/div&gt;
+&lt;div id=&quot;region3&quot;&gt;
+&lt;p class=&quot;flow2&quot;&gt;This line of text should not get out of the region. This line of text should not get out of the region.&lt;/p&gt;
+&lt;p&gt;This line of text should not get out of the region.&lt;/p&gt;
+&lt;/div&gt;
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionsfloatpushedwidthchangehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/float-pushed-width-change.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/float-pushed-width-change.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/float-pushed-width-change.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -5,7 +5,6 @@
</span><span class="cx">     #content {
</span><span class="cx">         -webkit-flow-into: flow1;
</span><span class="cx">         padding: 5px;
</span><del>-        border: 1px solid red;
</del><span class="cx">     }
</span><span class="cx">   
</span><span class="cx">     #float1 {
</span><span class="lines">@@ -19,36 +18,41 @@
</span><span class="cx">         float:right;
</span><span class="cx">         width:200px;
</span><span class="cx">         height:30px;
</span><del>-        background-color:orange;
</del><ins>+        background-color:orange
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     #region1, #region2, #region3 {
</span><del>-        margin: 10px;
</del><span class="cx">         border: 1px solid black;
</span><span class="cx">         -webkit-flow-from: flow1;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     #region1 {
</span><del>-        margin-left: 30px;
</del><span class="cx">         width: 180px;
</span><span class="cx">         height: 90px;
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #region2 {
</span><del>-        margin-top: 80px;
</del><span class="cx">         width: 400px;
</span><span class="cx">         height: 90px;
</span><span class="cx">     }
</span><ins>+    
+    #region3 {
+        width: 400px;
+        height: 90px;
+    }
</ins><span class="cx"> &lt;/style&gt;
</span><span class="cx"> 
</span><del>-&lt;p&gt;In the example below, the green float should be at the top of the first region and on the left. It should overflow the first region.
-The orange float should be right aligned under the green float and should overflow the first region because their containing block (red border) is flowed only in the first region.&lt;/p&gt;
-&lt;p&gt;No content should be displayed in the second region.&lt;/p&gt;
</del><ins>+&lt;p&gt;In the example below, the green float should be at the top of the first region and on the left. It should spill into region two.
+The orange float should be right aligned under the green float because their containing block is flown only in the first region&lt;/p&gt;
</ins><span class="cx"> 
</span><span class="cx"> &lt;div id=&quot;content&quot;&gt;
</span><span class="cx">     &lt;div id=&quot;first-box&quot;&gt;
</span><span class="cx">         &lt;div id=&quot;second-box&quot;&gt;
</span><del>-            &lt;img id=&quot;float1&quot;&gt;&lt;img id=&quot;float2&quot;&gt;
</del><ins>+            &lt;p&gt;&lt;img id=&quot;float1&quot;&gt;&lt;img id=&quot;float2&quot;&gt;&lt;p/&gt;
+            &lt;p&gt;This line of text should not get out of the region.&lt;/p&gt;
+            &lt;p&gt;This line of text should not get out of the region. This line of text should not get out of the region.&lt;/p&gt;
+            &lt;p&gt;This line of text should not get out of the region.&lt;/p&gt;
+            
</ins><span class="cx">         &lt;/div&gt;
</span><span class="cx">     &lt;/div&gt;
</span><span class="cx"> &lt;/div&gt;
</span><span class="lines">@@ -56,4 +60,5 @@
</span><span class="cx"> &lt;div id=&quot;container&quot;&gt;
</span><span class="cx">     &lt;div id=&quot;region1&quot;&gt;&lt;/div&gt;
</span><span class="cx">     &lt;div id=&quot;region2&quot;&gt;&lt;/div&gt;
</span><ins>+    &lt;div id=&quot;region3&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionslayersdynamiclayeraddedwithnolayoutexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,24 +0,0 @@
</span><del>-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x60
-  RenderBlock {HTML} at (0,0) size 800x60
-    RenderBody {BODY} at (8,8) size 784x0
-layer at (8,8) size 52x52
-  RenderRegion {DIV} at (0,0) size 52x52 [border: (1px solid #000000)]
-layer at (60,8) size 52x52
-  RenderRegion {DIV} at (52,0) size 52x52 [border: (1px solid #000000)]
-layer at (112,8) size 52x52
-  RenderRegion {DIV} at (104,0) size 52x52 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'article'
-    layer at (0,0) size 50x150
-      RenderNamedFlowThread at (0,0) size 50x150
-        RenderBlock {DIV} at (0,0) size 50x150
-          RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#008000]
-          RenderBlock {DIV} at (0,100) size 50x50 [bgcolor=#FFA500]
-    layer at (0,50) size 50x50
-      RenderBlock {DIV} at (0,50) size 50x50 [bgcolor=#0000FF]
-  Regions for flow 'article'
-    RenderRegion {DIV} hasLayer
-    RenderRegion {DIV} #should-have-layer hasLayer
-    RenderRegion {DIV} hasLayer
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionslayersdynamiclayerremovedwithnolayoutexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,24 +0,0 @@
</span><del>-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x60
-  RenderBlock {HTML} at (0,0) size 800x60
-    RenderBody {BODY} at (8,8) size 784x0
-layer at (8,8) size 52x52
-  RenderRegion {DIV} at (0,0) size 52x52 [border: (1px solid #000000)]
-layer at (60,8) size 52x52
-  RenderRegion {DIV} at (52,0) size 52x52 [border: (1px solid #000000)]
-layer at (112,8) size 52x52
-  RenderRegion {DIV} at (104,0) size 52x52 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'article'
-    layer at (0,0) size 50x150
-      RenderNamedFlowThread at (0,0) size 50x150
-        RenderBlock {DIV} at (0,0) size 50x150
-          RenderBlock {DIV} at (0,50) size 50x50 [bgcolor=#0000FF]
-          RenderBlock {DIV} at (0,100) size 50x50 [bgcolor=#FFA500]
-    layer at (0,0) size 50x50
-      RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#008000]
-  Regions for flow 'article'
-    RenderRegion {DIV} #should-have-layer hasLayer
-    RenderRegion {DIV} hasLayer
-    RenderRegion {DIV} hasLayer
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionslayersregionspromotedtolayersexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-expected.txt (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-expected.txt        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,24 +0,0 @@
</span><del>-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x60
-  RenderBlock {HTML} at (0,0) size 800x60
-    RenderBody {BODY} at (8,8) size 784x0
-layer at (8,8) size 52x52
-  RenderRegion {DIV} at (0,0) size 52x52 [border: (1px solid #000000)]
-layer at (60,8) size 52x52
-  RenderRegion {DIV} at (52,0) size 52x52 [border: (1px solid #000000)]
-layer at (112,8) size 52x52
-  RenderRegion {DIV} at (104,0) size 52x52 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'article'
-    layer at (0,0) size 50x150
-      RenderNamedFlowThread at (0,0) size 50x150
-        RenderBlock {DIV} at (0,0) size 50x150
-          RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#008000]
-          RenderBlock {DIV} at (0,100) size 50x50 [bgcolor=#FFA500]
-    layer at (0,50) size 50x50
-      RenderBlock (relative positioned) {DIV} at (0,50) size 50x50 [bgcolor=#0000FF]
-  Regions for flow 'article'
-    RenderRegion {DIV} hasLayer
-    RenderRegion {DIV} #should-have-layer hasLayer
-    RenderRegion {DIV} hasLayer
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionslayersregionspromotedtolayershorizontalbtexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,24 +0,0 @@
</span><del>-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,540) size 800x60
-  RenderBlock {HTML} at (0,0) size 800x60
-    RenderBody {BODY} at (8,8) size 784x0
-layer at (8,540) size 52x52
-  RenderRegion {DIV} at (0,0) size 52x52 [border: (1px solid #000000)]
-layer at (60,540) size 52x52
-  RenderRegion {DIV} at (52,0) size 52x52 [border: (1px solid #000000)]
-layer at (112,540) size 52x52
-  RenderRegion {DIV} at (104,0) size 52x52 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'article'
-    layer at (0,450) size 50x150
-      RenderNamedFlowThread at (0,0) size 50x150
-        RenderBlock {DIV} at (0,0) size 50x150
-          RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#008000]
-          RenderBlock {DIV} at (0,100) size 50x50 [bgcolor=#FFA500]
-    layer at (0,500) size 50x50
-      RenderBlock (relative positioned) {DIV} at (0,50) size 50x50 [bgcolor=#0000FF]
-  Regions for flow 'article'
-    RenderRegion {DIV} hasLayer
-    RenderRegion {DIV} #should-have-layer hasLayer
-    RenderRegion {DIV} hasLayer
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionslayersregionspromotedtolayersverticallrexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,24 +0,0 @@
</span><del>-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 60x600
-  RenderBlock {HTML} at (0,0) size 60x600
-    RenderBody {BODY} at (8,8) size 0x584
-layer at (8,8) size 52x52
-  RenderRegion {DIV} at (0,0) size 52x52 [border: (1px solid #000000)]
-layer at (8,60) size 52x52
-  RenderRegion {DIV} at (0,52) size 52x52 [border: (1px solid #000000)]
-layer at (8,112) size 52x52
-  RenderRegion {DIV} at (0,104) size 52x52 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'article'
-    layer at (0,0) size 150x50
-      RenderNamedFlowThread at (0,0) size 150x50
-        RenderBlock {DIV} at (0,0) size 150x50
-          RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#008000]
-          RenderBlock {DIV} at (100,0) size 50x50 [bgcolor=#FFA500]
-    layer at (50,0) size 50x50
-      RenderBlock (relative positioned) {DIV} at (50,0) size 50x50 [bgcolor=#0000FF]
-  Regions for flow 'article'
-    RenderRegion {DIV} hasLayer
-    RenderRegion {DIV} #should-have-layer hasLayer
-    RenderRegion {DIV} hasLayer
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionslayersregionspromotedtolayersverticalrlexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,24 +0,0 @@
</span><del>-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (740,0) size 60x600
-  RenderBlock {HTML} at (0,0) size 60x600
-    RenderBody {BODY} at (8,8) size 0x584
-layer at (740,8) size 52x52
-  RenderRegion {DIV} at (0,0) size 52x52 [border: (1px solid #000000)]
-layer at (740,60) size 52x52
-  RenderRegion {DIV} at (0,52) size 52x52 [border: (1px solid #000000)]
-layer at (740,112) size 52x52
-  RenderRegion {DIV} at (0,104) size 52x52 [border: (1px solid #000000)]
-Flow Threads
-  Thread with flow-name 'article'
-    layer at (650,0) size 150x50
-      RenderNamedFlowThread at (0,0) size 150x50
-        RenderBlock {DIV} at (0,0) size 150x50
-          RenderBlock {DIV} at (0,0) size 50x50 [bgcolor=#008000]
-          RenderBlock {DIV} at (100,0) size 50x50 [bgcolor=#FFA500]
-    layer at (700,0) size 50x50
-      RenderBlock (relative positioned) {DIV} at (50,0) size 50x50 [bgcolor=#0000FF]
-  Regions for flow 'article'
-    RenderRegion {DIV} hasLayer
-    RenderRegion {DIV} #should-have-layer hasLayer
-    RenderRegion {DIV} hasLayer
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoutlinesidesinregionexpectedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/outline-sides-in-region-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/outline-sides-in-region-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/outline-sides-in-region-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,28 +1,21 @@
</span><span class="cx"> &lt;!-- this test should display two identical yellow squares --&gt;
</span><span class="cx"> &lt;style type=&quot;text/css&quot;&gt;
</span><span class="cx">         
</span><del>-        h1 {
</del><ins>+        h1{
</ins><span class="cx">                 outline: 5px solid yellow;
</span><del>-                margin-top: 0px;
</del><span class="cx">         }
</span><span class="cx">         
</span><del>-        div {
</del><ins>+        div{
</ins><span class="cx">                 width:200px;
</span><del>-                height:100px;
-                margin-bottom: 20px;
</del><ins>+                height:200px;                        
</ins><span class="cx">         }
</span><span class="cx"> &lt;/style&gt;
</span><span class="cx"> &lt;body&gt;
</span><del>-        &lt;div style=&quot;border: 1px solid red&quot;&gt;
</del><ins>+        &lt;div&gt;
</ins><span class="cx">                 &lt;div&gt;
</span><span class="cx">                         &lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
</span><span class="cx">                 &lt;/div&gt;
</span><span class="cx">         &lt;/div&gt;
</span><del>-        &lt;div style=&quot;border: 1px solid red; overflow: hidden;&quot;&gt;
-                &lt;div&gt;
-                        &lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
-                &lt;/div&gt;
-        &lt;/div&gt;
</del><span class="cx">         &lt;div&gt;
</span><span class="cx">                 &lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
</span><span class="cx">         &lt;/div&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionsoutlinesidesinregionhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/outline-sides-in-region.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/outline-sides-in-region.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/outline-sides-in-region.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,47 +1,32 @@
</span><span class="cx"> &lt;!-- this test should display two identical yellow squares --&gt;
</span><span class="cx"> &lt;style type=&quot;text/css&quot;&gt;
</span><span class="cx">         
</span><del>-        h1 {
</del><ins>+        h1{
</ins><span class="cx">                 outline: 5px solid yellow;
</span><ins>+        }
+        
+        #source &gt; h1 {
</ins><span class="cx">                 margin-top: 0;
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="cx">         #source{
</span><span class="cx">                 -webkit-flow-into: body;
</span><span class="cx">         }
</span><del>-
-        #source_clipped {
-                -webkit-flow-into: body_clipped;
-        }
</del><span class="cx">         
</span><span class="cx">         #region{
</span><span class="cx">                 -webkit-flow-from: body;
</span><del>-                border: 1px solid red;
</del><span class="cx">         }
</span><del>-
-        #region_clipped {
-                -webkit-flow-from: body_clipped;
-                border: 1px solid red;
-                overflow: hidden;
-        }
-        div {
</del><ins>+        div{
</ins><span class="cx">                 width:200px;
</span><del>-                height:100px;
-                margin-bottom: 20px;
</del><ins>+                height:200px;                        
</ins><span class="cx">         }
</span><span class="cx"> &lt;/style&gt;
</span><span class="cx"> &lt;body&gt;
</span><del>-        &lt;div id=&quot;source&quot; class=&quot;source&quot;&gt;
</del><ins>+        &lt;div id=&quot;source&quot;&gt;
</ins><span class="cx">                 &lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
</span><span class="cx">         &lt;/div&gt;
</span><del>-
-        &lt;div id=&quot;source_clipped&quot; class=&quot;source&quot;&gt;
-                &lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
-        &lt;/div&gt;
</del><span class="cx">         
</span><span class="cx">         &lt;div id=&quot;region&quot;&gt;&lt;/div&gt;
</span><del>-        &lt;div id=&quot;region_clipped&quot;&gt;&lt;/div&gt;
-
</del><span class="cx">         &lt;div&gt;
</span><span class="cx">                 &lt;h1&gt;&amp;nbsp;&lt;/h1&gt;
</span><span class="cx">         &lt;/div&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowfirstandlastregionsexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/overflow-first-and-last-regions-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-first-and-last-regions-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-first-and-last-regions-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,40 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html style=&quot;font: 16px/1.25 monospace;&quot;&gt;
-    &lt;head&gt;
-        &lt;style&gt;
-            .overflow { color: orange; position: absolute; }
-
-            .region { width: 100px; height: 40px; position: absolute; border-style: solid; border-width: 5px; }
-            #region1 { top: 360px; left: 100px; border-color: green;}
-            #region2 { top: 415px; left: 100px; border-color: blue;}
-            #overflow1_1 { top: 305px; left: 105px; }
-            #overflow1_2 { top: 325px; left: 105px; }
-            #overflow2_1 { top: 480px; left: 105px; }
-            #overflow2_2 { top: 500px; left: 105px; }
-            .result { color: green; font-weight: bold; }
-        &lt;/style&gt;
-    &lt;/head&gt;
-    &lt;body&gt;
-        &lt;p&gt;Test that overflow content for the first and last regions in the chain is correctly displayed in different situations.&lt;/p&gt;
-        &lt;p&gt;On success, the following should be true:&lt;/p&gt;
-        &lt;ul&gt;
-            &lt;li&gt;Four &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be visible above and below the &lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;blue&lt;/b&gt;&lt;/span&gt; region (the 4th line overflows into a different tile)&lt;/li&gt;
-            &lt;li&gt;All &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be selectable&lt;/li&gt;
-        &lt;/ul&gt;
-        &lt;div class=&quot;result&quot;&gt;1st automated selection test: PASS&lt;/div&gt;
-        &lt;div class=&quot;result&quot;&gt;2nd automated selection test: PASS&lt;/div&gt;
-
-        &lt;div id=&quot;overflow1_1&quot; class=&quot;overflow&quot;&gt;Overflow1_1&lt;/div&gt;
-        &lt;div id=&quot;overflow1_2&quot; class=&quot;overflow&quot;&gt;Overflow1_2&lt;/div&gt;
-        &lt;div class=&quot;region&quot; id=&quot;region1&quot;&gt;
-            &lt;div&gt;flow1_1&lt;/div&gt;
-            &lt;div&gt;flow1_2&lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div class=&quot;region&quot; id=&quot;region2&quot;&gt;
-            &lt;div&gt;flow1_3&lt;/div&gt;
-            &lt;div&gt;flow1_4&lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;overflow2_1&quot; class=&quot;overflow&quot;&gt;Overflow2_1&lt;/div&gt;
-        &lt;div id=&quot;overflow2_2&quot; class=&quot;overflow&quot;&gt;Overflow2_2&lt;/div&gt;
-    &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowfirstandlastregionsincontainerhiddenexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,159 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html style=&quot;font: 14px/1.25 monospace;&quot;&gt;
-    &lt;head&gt;
-        &lt;style&gt;
-            p {
-                margin: 5px;
-            }
-            .overflowText {
-                color: red;
-                font-weight: bold;
-            }
-            .overflowHidden {
-                overflow: hidden;
-                border: 2px solid orange;
-            }
-            .overflowVisible {
-                overflow: visible;
-                border: 2px solid blue;
-            }
-            .content {
-                margin-top: -69px;
-            }
-            .region {
-                width: 80px;
-                height: 40px;
-            }
-            .regionRelative {
-                position: relative;
-                top: 12px;
-                left: 5px;
-                border: 3px dotted green;
-            }
-            .regionStatic {
-                position: static;
-                margin-top: 12px;
-                margin-left: 5px;
-                border: 3px solid green;
-            }
-            .outerContainer {
-                position: absolute;
-                width: 135px;
-                height: 97px;
-                padding: 10px;
-            }
-            .firstRow {
-                top: 200px;
-            }
-            .secondRow {
-                top: 375px;
-            }
-            .innerContainer {
-                width: 100px;
-                height: 63px;
-                padding: 10px;
-                margin-top: 5px;
-            }
-            .left1 {
-                left: 10px;
-            }
-            .left2 {
-                left: 185px;
-            }
-            .left3 {
-                left: 360px;
-            }
-            .left4 {
-                left: 535px;
-            }
-        &lt;/style&gt;
-    &lt;/head&gt;
-    &lt;body&gt;
-        &lt;p&gt;Tests that content overflowing the region respects the overflow style of the region's container.&lt;/p&gt;
-        &lt;p&gt;All &lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;red&lt;/b&gt;&lt;/span&gt; overflow lines should be &lt;b&gt;selectable&lt;/b&gt;.&lt;/p&gt;
-        &lt;p&gt;&lt;b&gt;Legend:&lt;/b&gt;&lt;/p&gt;
-        &lt;ul style=&quot;margin-top: 0px;&quot;&gt;
-            &lt;li&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;b&gt;Regions:&lt;/b&gt;&lt;/span&gt;
-                &lt;ul style=&quot;color: green;&quot;&gt;
-                    &lt;li&gt;&lt;b&gt;Solid&lt;/b&gt; border means &quot;position: &lt;b&gt;static&lt;/b&gt;&quot;&lt;/li&gt;
-                    &lt;li&gt;&lt;b&gt;Dotted&lt;/b&gt; border means &quot;position: &lt;b&gt;relative&lt;/b&gt;&quot;&lt;/li&gt;
-                &lt;/ul&gt;
-            &lt;/li&gt;
-            &lt;li&gt;&lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;Orange&lt;/b&gt; containers have &quot;overflow: &lt;b&gt;hidden&lt;/b&gt;&quot;&lt;/span&gt;&lt;/li&gt;
-            &lt;li&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;Blue&lt;/b&gt; containers have &quot;overflow: &lt;b&gt;visible&lt;/b&gt;&quot;&lt;/span&gt;&lt;/li&gt;
-        &lt;/ul&gt;
-
-        &lt;div id=&quot;container1_outer&quot; class=&quot;left1 outerContainer firstRow overflowHidden&quot;&gt;
-            &lt;div id=&quot;container1_inner&quot; class=&quot;innerContainer overflowHidden&quot;&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: -54px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-                &lt;div id=&quot;region1&quot; class=&quot;region regionRelative&quot; style=&quot;margin-top: 3px;&quot;&gt;
-                    &lt;div style=&quot;position: relative; top: -1px;&quot;&gt;flow1_1&lt;br/&gt;flow1_2&lt;/div&gt;
-                &lt;/div&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: 19px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container2_outer&quot; class=&quot;left2 outerContainer firstRow overflowVisible&quot;&gt;
-            &lt;div id=&quot;container2_inner&quot; class=&quot;innerContainer overflowHidden&quot;&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: -54px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-                &lt;div id=&quot;region2&quot; class=&quot;region regionRelative&quot; style=&quot;margin-top: 3px;&quot;&gt;
-                    &lt;div style=&quot;position: relative; top: -1px;&quot;&gt;flow2_1&lt;br/&gt;flow2_2&lt;/div&gt;
-                &lt;/div&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: 19px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container3_outer&quot; class=&quot;left3 outerContainer firstRow overflowHidden&quot;&gt;
-            &lt;div id=&quot;container3_inner&quot; class=&quot;innerContainer overflowVisible&quot;&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: -54px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-                &lt;div id=&quot;region3&quot; class=&quot;region regionRelative&quot; style=&quot;margin-top: 3px;&quot;&gt;
-                    &lt;div style=&quot;position: relative; top: -1px;&quot;&gt;flow3_1&lt;br/&gt;flow3_2&lt;/div&gt;
-                &lt;/div&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: 19px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container4_outer&quot; class=&quot;left4 outerContainer firstRow overflowVisible&quot;&gt;
-            &lt;div id=&quot;container4_inner&quot; class=&quot;innerContainer overflowVisible&quot;&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: -54px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-                &lt;div id=&quot;region4&quot; class=&quot;region regionRelative&quot; style=&quot;margin-top: 3px;&quot;&gt;
-                    &lt;div style=&quot;position: relative; top: -1px;&quot;&gt;flow4_1&lt;br/&gt;flow4_2&lt;/div&gt;
-                &lt;/div&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: 19px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container5_outer&quot; class=&quot;left1 outerContainer secondRow overflowHidden&quot;&gt;
-            &lt;div id=&quot;container5_inner&quot; class=&quot;innerContainer overflowHidden&quot;&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: -54px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-                &lt;div id=&quot;region5&quot; class=&quot;region regionStatic&quot; style=&quot;margin-top: 15px;&quot;&gt;
-                    &lt;div style=&quot;position: relative; top: -1px;&quot;&gt;flow5_1&lt;br/&gt;flow5_2&lt;/div&gt;
-                &lt;/div&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: 7px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container6_outer&quot; class=&quot;left2 outerContainer secondRow overflowVisible&quot;&gt;
-            &lt;div id=&quot;container6_inner&quot; class=&quot;innerContainer overflowHidden&quot;&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: -54px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-                &lt;div id=&quot;region6&quot; class=&quot;region regionStatic&quot; style=&quot;margin-top: 15px;&quot;&gt;
-                    &lt;div style=&quot;position: relative; top: -1px;&quot;&gt;flow6_1&lt;br/&gt;flow6_2&lt;/div&gt;
-                &lt;/div&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: 7px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container7_outer&quot; class=&quot;left3 outerContainer secondRow overflowHidden&quot;&gt;
-            &lt;div id=&quot;container7_inner&quot; class=&quot;innerContainer overflowVisible&quot;&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: -54px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-                &lt;div id=&quot;region7&quot; class=&quot;region regionStatic&quot; style=&quot;margin-top: 15px;&quot;&gt;
-                    &lt;div style=&quot;position: relative; top: -1px;&quot;&gt;flow7_1&lt;br/&gt;flow7_2&lt;/div&gt;
-                &lt;/div&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: 7px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container8_outer&quot; class=&quot;left4 outerContainer secondRow overflowVisible&quot;&gt;
-            &lt;div id=&quot;container8_inner&quot; class=&quot;innerContainer overflowVisible&quot;&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: -54px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-                &lt;div id=&quot;region8&quot; class=&quot;region regionStatic&quot; style=&quot;margin-top: 15px;&quot;&gt;
-                    &lt;div style=&quot;position: relative; top: -1px;&quot;&gt;flow8_1&lt;br/&gt;flow8_2&lt;/div&gt;
-                &lt;/div&gt;
-                &lt;div class=&quot;overflowText&quot; style=&quot;margin-top: 7px; margin-left: 8px;&quot;&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;br/&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-    &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowfirstandlastregionsincontainerhiddenhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/overflow-first-and-last-regions-in-container-hidden.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-first-and-last-regions-in-container-hidden.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-first-and-last-regions-in-container-hidden.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,279 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html style=&quot;font: 14px/1.25 monospace;&quot;&gt;
-    &lt;head&gt;
-        &lt;style&gt;
-            p {
-                margin: 5px;
-            }
-            .overflowText {
-                color: red;
-                font-weight: bold;
-            }
-            .overflowHidden {
-                overflow: hidden;
-                border: 2px solid orange;
-            }
-            .overflowVisible {
-                overflow: visible;
-                border: 2px solid blue;
-            }
-            .content {
-                margin-top: -69px;
-            }
-            .region {
-                width: 80px;
-                height: 40px;
-            }
-            .regionRelative {
-                position: relative;
-                top: 12px;
-                left: 5px;
-                border: 3px dotted green;
-            }
-            .regionStatic {
-                position: static;
-                margin-top: 12px;
-                margin-left: 5px;
-                border: 3px solid green;
-            }
-            .outerContainer {
-                position: absolute;
-                width: 135px;
-                height: 97px;
-                padding: 10px;
-            }
-            .firstRow {
-                top: 200px;
-            }
-            .secondRow {
-                top: 375px;
-            }
-            .outerContainer:hover {
-                -webkit-transform: translateX(15px);
-            }
-            .innerContainer {
-                width: 100px;
-                height: 63px;
-                padding: 10px;
-                margin-top: 5px;
-            }
-            .innerContainer:hover {
-                -webkit-transform: translateX(15px);
-            }
-            .left1 {
-                left: 10px;
-            }
-            .left2 {
-                left: 185px;
-            }
-            .left3 {
-                left: 360px;
-            }
-            .left4 {
-                left: 535px;
-            }
-
-            #content1 {
-                -webkit-flow-into: flow1;
-            }
-            #content2 {
-                -webkit-flow-into: flow2;
-            }
-            #content3 {
-                -webkit-flow-into: flow3;
-            }
-            #content4 {
-                -webkit-flow-into: flow4;
-            }
-            #content5 {
-                -webkit-flow-into: flow5;
-            }
-            #content6 {
-                -webkit-flow-into: flow6;
-            }
-            #content7 {
-                -webkit-flow-into: flow7;
-            }
-            #content8 {
-                -webkit-flow-into: flow8;
-            }
-            #region1 {
-                -webkit-flow-from: flow1;
-            }
-            #region2 {
-                -webkit-flow-from: flow2;
-            }
-            #region3 {
-                -webkit-flow-from: flow3;
-            }
-            #region4 {
-                -webkit-flow-from: flow4;
-            }
-            #region5 {
-                -webkit-flow-from: flow5;
-            }
-            #region6 {
-                -webkit-flow-from: flow6;
-            }
-            #region7 {
-                -webkit-flow-from: flow7;
-            }
-            #region8 {
-                -webkit-flow-from: flow8;
-            }
-        &lt;/style&gt;
-    &lt;/head&gt;
-    &lt;body&gt;
-        &lt;p&gt;Tests that content overflowing the region respects the overflow style of the region's container.&lt;/p&gt;
-        &lt;p&gt;All &lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;red&lt;/b&gt;&lt;/span&gt; overflow lines should be &lt;b&gt;selectable&lt;/b&gt;.&lt;/p&gt;
-        &lt;p&gt;&lt;b&gt;Legend:&lt;/b&gt;&lt;/p&gt;
-        &lt;ul style=&quot;margin-top: 0px;&quot;&gt;
-            &lt;li&gt;&lt;span style=&quot;color: green;&quot;&gt;&lt;b&gt;Regions:&lt;/b&gt;&lt;/span&gt;
-                &lt;ul style=&quot;color: green;&quot;&gt;
-                    &lt;li&gt;&lt;b&gt;Solid&lt;/b&gt; border means &quot;position: &lt;b&gt;static&lt;/b&gt;&quot;&lt;/li&gt;
-                    &lt;li&gt;&lt;b&gt;Dotted&lt;/b&gt; border means &quot;position: &lt;b&gt;relative&lt;/b&gt;&quot;&lt;/li&gt;
-                &lt;/ul&gt;
-            &lt;/li&gt;
-            &lt;li&gt;&lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;Orange&lt;/b&gt; containers have &quot;overflow: &lt;b&gt;hidden&lt;/b&gt;&quot;&lt;/span&gt;&lt;/li&gt;
-            &lt;li&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;Blue&lt;/b&gt; containers have &quot;overflow: &lt;b&gt;visible&lt;/b&gt;&quot;&lt;/span&gt;&lt;/li&gt;
-        &lt;/ul&gt;
-
-        &lt;div id=&quot;content1&quot; class=&quot;content&quot;&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div&gt;flow1_1&lt;/div&gt;
-            &lt;div&gt;flow1_2&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;content2&quot; class=&quot;content&quot;&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div&gt;flow2_1&lt;/div&gt;
-            &lt;div&gt;flow2_2&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;content3&quot; class=&quot;content&quot;&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div&gt;flow3_1&lt;/div&gt;
-            &lt;div&gt;flow3_2&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;content4&quot; class=&quot;content&quot;&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div&gt;flow4_1&lt;/div&gt;
-            &lt;div&gt;flow4_2&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;content5&quot; class=&quot;content&quot;&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div&gt;flow5_1&lt;/div&gt;
-            &lt;div&gt;flow5_2&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;content6&quot; class=&quot;content&quot;&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div&gt;flow6_1&lt;/div&gt;
-            &lt;div&gt;flow6_2&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;content7&quot; class=&quot;content&quot;&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div&gt;flow7_1&lt;/div&gt;
-            &lt;div&gt;flow7_2&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;content8&quot; class=&quot;content&quot;&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div&gt;flow8_1&lt;/div&gt;
-            &lt;div&gt;flow8_2&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-            &lt;div class=&quot;overflowText&quot;&gt;Overflowlonglonglongtext&lt;/div&gt;
-        &lt;/div&gt;
-
-        &lt;div id=&quot;container1_outer&quot; class=&quot;left1 outerContainer firstRow overflowHidden&quot;&gt;
-            &lt;div id=&quot;container1_inner&quot; class=&quot;innerContainer overflowHidden&quot;&gt;
-                &lt;div id=&quot;region1&quot; class=&quot;region regionRelative&quot;&gt;&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container2_outer&quot; class=&quot;left2 outerContainer firstRow overflowVisible&quot;&gt;
-            &lt;div id=&quot;container2_inner&quot; class=&quot;innerContainer overflowHidden&quot;&gt;
-                &lt;div id=&quot;region2&quot; class=&quot;region regionRelative&quot;&gt;&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container3_outer&quot; class=&quot;left3 outerContainer firstRow overflowHidden&quot;&gt;
-            &lt;div id=&quot;container3_inner&quot; class=&quot;innerContainer overflowVisible&quot;&gt;
-                &lt;div id=&quot;region3&quot; class=&quot;region regionRelative&quot;&gt;&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container4_outer&quot; class=&quot;left4 outerContainer firstRow overflowVisible&quot;&gt;
-            &lt;div id=&quot;container4_inner&quot; class=&quot;innerContainer overflowVisible&quot;&gt;
-                &lt;div id=&quot;region4&quot; class=&quot;region regionRelative&quot;&gt;&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container5_outer&quot; class=&quot;left1 outerContainer secondRow overflowHidden&quot;&gt;
-            &lt;div id=&quot;container5_inner&quot; class=&quot;innerContainer overflowHidden&quot;&gt;
-                &lt;div id=&quot;region5&quot; class=&quot;region regionStatic&quot;&gt;&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container6_outer&quot; class=&quot;left2 outerContainer secondRow overflowVisible&quot;&gt;
-            &lt;div id=&quot;container6_inner&quot; class=&quot;innerContainer overflowHidden&quot;&gt;
-                &lt;div id=&quot;region6&quot; class=&quot;region regionStatic&quot;&gt;&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container7_outer&quot; class=&quot;left3 outerContainer secondRow overflowHidden&quot;&gt;
-            &lt;div id=&quot;container7_inner&quot; class=&quot;innerContainer overflowVisible&quot;&gt;
-                &lt;div id=&quot;region7&quot; class=&quot;region regionStatic&quot;&gt;&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;container8_outer&quot; class=&quot;left4 outerContainer secondRow overflowVisible&quot;&gt;
-            &lt;div id=&quot;container8_inner&quot; class=&quot;innerContainer overflowVisible&quot;&gt;
-                &lt;div id=&quot;region8&quot; class=&quot;region regionStatic&quot;&gt;&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-    &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowfirstandlastregionshtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/overflow-first-and-last-regions.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-first-and-last-regions.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-first-and-last-regions.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,120 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html style=&quot;font: 16px/1.25 monospace;&quot;&gt;
-    &lt;script type=&quot;text/javascript&quot;&gt;
-        function onBodyLoad() {
-            if (window.testRunner) {
-                var selection = window.getSelection();
-
-                // Test selection on the overflow below the last region.
-                var region = document.getElementById(&quot;region2&quot;);
-                var startPositionX = region.offsetLeft + 20;
-                var startPositionY = region.offsetTop + 40 + 35;
-                var endPositionX = startPositionX + 60;
-                var endPositionY = startPositionY + 20;
-
-                eventSender.mouseMoveTo(startPositionX, startPositionY);
-                eventSender.mouseDown();
-                eventSender.mouseMoveTo(endPositionX, endPositionY);
-                eventSender.mouseUp();
-
-                var elemResult = document.getElementById(&quot;result1&quot;);
-                var result = &quot;FAIL&quot;;
-                if (selection.toString() == &quot;verflow2_1\nOverflo&quot;)
-                    result = &quot;PASS&quot;;
-
-                elemResult.className = result;
-                elemResult.innerHTML = &quot;1st automated selection test: &quot; + result;
-
-                // Test selection on the overflow above the first region.
-                region = document.getElementById(&quot;region1&quot;);
-                startPositionX = region.offsetLeft + 20;
-                startPositionY = region.offsetTop - 45;
-                endPositionX = startPositionX + 60;
-                endPositionY = startPositionY + 20;
-
-                eventSender.mouseMoveTo(startPositionX, startPositionY);
-                eventSender.mouseDown();
-                eventSender.mouseMoveTo(endPositionX, endPositionY);
-                eventSender.mouseUp();
-
-                elemResult = document.getElementById(&quot;result2&quot;);
-                result = &quot;FAIL&quot;;
-                if (selection.toString() == &quot;verflow1_1\nOverflo&quot;)
-                    result = &quot;PASS&quot;;
-
-                elemResult.className = result;
-                elemResult.innerHTML = &quot;2nd automated selection test: &quot; + result;
-
-                eventSender.mouseMoveTo(startPositionX + 200, startPositionY);
-                eventSender.mouseDown();
-                eventSender.mouseUp();
-            }
-        }
-    &lt;/script&gt;
-    &lt;head&gt;
-        &lt;style&gt;
-            #content {
-                -webkit-flow-into: flow;
-                margin-top: -60px;
-            }
-            .overflow {
-                color: orange;
-            }
-            .region {
-                -webkit-flow-from: flow;
-                width: 100px;
-                height: 40px;
-                border-width: 5px;
-                border-style: solid;
-                position: absolute;
-            }
-            #region1 { 
-                top: 360px;
-                left: 100px;
-                border-color: green;
-            }
-            #region2 { 
-                top: 415px;
-                left: 100px;
-                border-color: blue;
-            }
-            .PASS {
-                color: green;
-                font-weight: bold;
-            }
-            .FAIL {
-                color: red;
-                font-weight: bold;
-            }
-            .notrun {
-                color: red;
-                font-weight: bold;
-            }
-        &lt;/style&gt;
-    &lt;/head&gt;
-    &lt;body onload=&quot;onBodyLoad();&quot;&gt;
-        &lt;p&gt;Test that overflow content for the first and last regions in the chain is correctly displayed in different situations.&lt;/p&gt;
-        &lt;p&gt;On success, the following should be true:&lt;/p&gt;
-        &lt;ul&gt;
-            &lt;li&gt;Four &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be visible above and below the &lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;blue&lt;/b&gt;&lt;/span&gt; region (the 4th line overflows into a different tile)&lt;/li&gt;
-            &lt;li&gt;All &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be selectable&lt;/li&gt;
-        &lt;/ul&gt;
-        &lt;div id=&quot;content&quot;&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow1_1&lt;/div&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow1_2&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div&gt;flow1_1&lt;/div&gt;
-            &lt;div&gt;flow1_2&lt;/div&gt;
-            &lt;div&gt;flow1_3&lt;/div&gt;
-            &lt;div&gt;flow1_4&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow2_1&lt;/div&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow2_2&lt;/div&gt;
-        &lt;/div&gt;
-
-        &lt;div class=&quot;region&quot; id=&quot;region1&quot;&gt;&lt;/div&gt;
-        &lt;div class=&quot;region&quot; id=&quot;region2&quot;&gt;&lt;/div&gt;
-        &lt;div id=&quot;result1&quot; class=&quot;notrun&quot;&gt;1st automated selection test: NOT RUN&lt;/div&gt;
-        &lt;div id=&quot;result2&quot; class=&quot;notrun&quot;&gt;2nd automated selection test: NOT RUN&lt;/div&gt;
-    &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowlastregionexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/regions/overflow-last-region-expected.html (0 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-last-region-expected.html                                (rev 0)
+++ trunk/LayoutTests/fast/regions/overflow-last-region-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html style=&quot;font: 16px/1.25 monospace;&quot;&gt;
+    &lt;head&gt;
+        &lt;style&gt;
+            .overflow { color: orange; margin: 0; }
+            div &gt; p { margin: 0; }
+
+            #region1, #region2 { width: 100px; height: 100px; }
+            #region1 { position: absolute; top: 200px; left: 100px; border: 5px solid green;}
+            #region2 { position: absolute; top: 350px; left: 100px; border: 5px solid blue;}
+            #p1 { position: absolute; top: 475px; left: 105px; }
+            #p2 { position: absolute; top: 495px; left: 105px; }
+        &lt;/style&gt;
+    &lt;/head&gt;
+    &lt;body&gt;
+        &lt;p&gt;Test that overflow content for the last region in chain is correctly displayed in different writing modes.&lt;/p&gt;
+        &lt;p&gt;On success, the orange lines of text should be visible above the blue border rectangle.&lt;/p&gt;
+        &lt;div id=&quot;region1&quot;&gt;
+            &lt;p&gt;Linetext1&lt;/p&gt;
+            &lt;p&gt;Linetext2&lt;/p&gt;
+            &lt;p&gt;Linetext3&lt;/p&gt;
+            &lt;p&gt;Linetext4&lt;/p&gt;
+            &lt;p&gt;Linetext5&lt;/p&gt;
+        &lt;/div&gt;
+        &lt;div id=&quot;region2&quot;&gt;
+            &lt;p&gt;Linetext6&lt;/p&gt;
+            &lt;p&gt;Linetext7&lt;/p&gt;
+            &lt;p&gt;Linetext8&lt;/p&gt;
+            &lt;p&gt;Linetext9&lt;/p&gt;
+            &lt;p&gt;Linetext10&lt;/p&gt;
+        &lt;/div&gt;
+        &lt;p id=&quot;p1&quot; class=&quot;overflow&quot;&gt;Overflow11&lt;/p&gt;
+        &lt;p id=&quot;p2&quot; class=&quot;overflow&quot;&gt;Overflow12&lt;/p&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowlastregionhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/regions/overflow-last-region.html (0 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-last-region.html                                (rev 0)
+++ trunk/LayoutTests/fast/regions/overflow-last-region.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+&lt;!doctype html&gt;
+&lt;html style=&quot;font: 16px/1.25 monospace;&quot;&gt;
+    &lt;head&gt;
+        &lt;style&gt;
+            #content {
+                -webkit-flow-into: flow;
+            }
+            .overflow { color: orange; }
+            #content &gt; p { margin: 0; }
+
+            #region1, #region2 { -webkit-flow-from: flow; width: 100px; height: 100px; }
+            #region1 { position: absolute; top: 200px; left: 100px; border: 5px solid green;}
+            #region2 { position: absolute; top: 350px; left: 100px; border: 5px solid blue;}
+        &lt;/style&gt;
+    &lt;/head&gt;
+    &lt;body&gt;
+        &lt;p&gt;Test that overflow content for the last region in chain is correctly displayed in different writing modes.&lt;/p&gt;
+        &lt;p&gt;On success, the orange lines of text should be visible above the blue border rectangle.&lt;/p&gt;
+        &lt;div id=&quot;content&quot;&gt;
+            &lt;p&gt;Linetext1&lt;/p&gt;
+            &lt;p&gt;Linetext2&lt;/p&gt;
+            &lt;p&gt;Linetext3&lt;/p&gt;
+            &lt;p&gt;Linetext4&lt;/p&gt;
+            &lt;p&gt;Linetext5&lt;/p&gt;
+            &lt;p&gt;Linetext6&lt;/p&gt;
+            &lt;p&gt;Linetext7&lt;/p&gt;
+            &lt;p&gt;Linetext8&lt;/p&gt;
+            &lt;p&gt;Linetext9&lt;/p&gt;
+            &lt;p&gt;Linetext10&lt;/p&gt;
+            &lt;br/&gt;
+            &lt;p class=&quot;overflow&quot;&gt;Overflow11&lt;/p&gt;
+            &lt;p class=&quot;overflow&quot;&gt;Overflow12&lt;/p&gt;
+        &lt;/div&gt;
+        &lt;div id=&quot;region1&quot;&gt;&lt;/div&gt;
+        &lt;div id=&quot;region2&quot;&gt;&lt;/div&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflownestedregionsexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/overflow-nested-regions-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-nested-regions-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-nested-regions-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,53 +0,0 @@
</span><del>-&lt;html&gt;
-&lt;head&gt;
-    &lt;style&gt;
-        #contentBlue {
-            color: blue;
-        }
-
-        #contentRed {
-            color: red;
-        }
-
-        #regionBlue {
-            border: thick solid blue;
-            width: 400px;
-            height: 213px;
-        }
-
-        #regionRed {
-            width: 300px;
-            border: thick solid red;
-            max-height: 50px;
-            padding: 5px;
-        }
-
-        .region_container {
-            border: thin solid black;
-            overflow: visible;
-            padding: 10px;
-            height: 260px;
-        }
-
-        #result {
-            margin-top: 70px;
-            color: green;
-            font-weight: bold;
-        }
-    &lt;/style&gt;
-&lt;/head&gt;
-&lt;body&gt;
-    &lt;p&gt;Test that overflow content is correctly computed in nested regions.&lt;/p&gt;
-    &lt;div class=&quot;region_container&quot;&gt;
-        &lt;div class=&quot;regionBlue&quot; id=&quot;regionBlue&quot;&gt;
-            &lt;div class=&quot;content&quot; id=&quot;contentBlue&quot;&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean urna orci, consequat sed lobortis in, convallis et velit. Ut elementum lacus ac dui vestibulum eu condimentum mi luctus. Fusce pharetra turpis id erat congue nec aliquam leo venenatis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
-                &lt;div class=&quot;regionRed&quot; id=&quot;regionRed&quot;&gt;
-                    &lt;div class=&quot;content&quot; id=&quot;contentRed&quot;&gt;Ut at tortor ligula. Cras tempor sem sed tellus convallis tincidunt eget eget dolor. In facilisis ante at turpis semper semper. Curabitur vulputate aliquet tincidunt. Quisque sit amet massa justo, in bibendum leo. Aliquam lacinia pharetra justo. Suspendisse rhoncus justo nec diam cursus ullamcorper. Nam porttitor porttitor libero, convallis sollicitudin nunc euismod at. Proin tempus auctor turpis ut congue. Nullam ornare interdum eros sed suscipit.&lt;/div&gt;
-                &lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-    &lt;/div&gt;
-
-    &lt;div id=&quot;result&quot;&gt;Automated selection test: PASS&lt;/div&gt;
-&lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflownestedregionshtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/overflow-nested-regions.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-nested-regions.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-nested-regions.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,102 +0,0 @@
</span><del>-&lt;html&gt;
-&lt;head&gt;
-    &lt;script type=&quot;text/javascript&quot;&gt;
-        function onBodyLoad() {
-            if (window.testRunner) {
-                
-
-                // Test selection on the overflow below the last region.
-                var region = document.getElementById(&quot;regionRed&quot;);
-                var startPositionX = region.offsetLeft + 70;
-                var startPositionY = region.offsetTop + 15;
-                var endPositionX = startPositionX + 100;
-                var endPositionY = startPositionY + 150;
-
-                eventSender.mouseMoveTo(startPositionX, startPositionY);
-                eventSender.mouseDown();
-                eventSender.mouseMoveTo(endPositionX, endPositionY);
-                eventSender.mouseUp();
-
-                var elemResult = document.getElementById(&quot;result&quot;);
-                var result = &quot;FAIL&quot;;
-                var selection = window.getSelection();
-                if (selection.toString() == &quot;or ligula. Cras tempor sem sed tellus convallis tincidunt eget eget dolor. In facilisis ante at turpis semper semper. Curabitur vulputate aliquet tincidunt. Quisque sit amet massa justo, in bibendum leo. Aliquam lacinia pharetra justo. Suspendisse rhoncus justo nec diam cursus ullamcorper. Nam porttitor porttitor libero, convallis sollicitudin nunc euismod at. Proin tempus&quot;)
-                    result = &quot;PASS&quot;;
-
-                elemResult.className = result;
-                elemResult.innerHTML = &quot;Automated selection test: &quot; + result;
-
-                // Clear selection.
-                eventSender.mouseMoveTo(startPositionX, startPositionY);
-                eventSender.mouseDown();
-                eventSender.mouseUp();
-            }
-        }
-    &lt;/script&gt;
-
-    &lt;style&gt;
-        #contentBlue {
-            -webkit-flow-into: flowBlue;
-            color: blue;
-        }
-
-        #contentRed {
-            -webkit-flow-into: flowRed;
-            color: red;
-        }
-
-        #regionBlue {
-            border: thick solid blue;
-            -webkit-flow-from: flowBlue;
-            width: 400px;
-            height: 213px;
-        }
-
-        #regionRed {
-            width: 300px;
-            border: thick solid red;
-            -webkit-flow-from: flowRed;
-            max-height: 50px;
-            padding: 5px;
-        }
-
-        .region_container {
-            border: thin solid black;
-            overflow: visible;
-            padding: 10px;
-            height: 260px;
-        }
-
-        .PASS {
-            color: green;
-            font-weight: bold;
-        }
-
-        .FAIL {
-            color: red;
-            font-weight: bold;
-        }
-
-        .notrun {
-            color: red;
-            font-weight: bold;
-        }
-
-        #result {
-            margin-top: 70px;
-        }
-    &lt;/style&gt;
-&lt;/head&gt;
-&lt;body onload=&quot;onBodyLoad();&quot;&gt;
-    &lt;p&gt;Test that overflow content is correctly computed in nested regions.&lt;/p&gt;
-    &lt;div class=&quot;content&quot; id=&quot;contentBlue&quot;&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean urna orci, consequat sed lobortis in, convallis et velit. Ut elementum lacus ac dui vestibulum eu condimentum mi luctus. Fusce pharetra turpis id erat congue nec aliquam leo venenatis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
-        &lt;div class=&quot;regionRed&quot; id=&quot;regionRed&quot;&gt;&lt;/div&gt;
-    &lt;/div&gt;
-    &lt;div class=&quot;content&quot; id=&quot;contentRed&quot;&gt;Ut at tortor ligula. Cras tempor sem sed tellus convallis tincidunt eget eget dolor. In facilisis ante at turpis semper semper. Curabitur vulputate aliquet tincidunt. Quisque sit amet massa justo, in bibendum leo. Aliquam lacinia pharetra justo. Suspendisse rhoncus justo nec diam cursus ullamcorper. Nam porttitor porttitor libero, convallis sollicitudin nunc euismod at. Proin tempus auctor turpis ut congue. Nullam ornare interdum eros sed suscipit.&lt;/div&gt;
-    &lt;div class=&quot;region_container&quot;&gt;
-        &lt;div class=&quot;regionBlue&quot; id=&quot;regionBlue&quot;&gt;&lt;/div&gt;
-    &lt;/div&gt;
-
-    &lt;div id=&quot;result&quot; class=&quot;notrun&quot;&gt;Automated selection test: NOT RUN&lt;/div&gt;
-&lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowregionfloatexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/overflow-region-float-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-region-float-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-region-float-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,50 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html style=&quot;font: 16px/1.25 monospace;&quot;&gt;
-    &lt;head&gt;
-        &lt;style&gt;
-            #content {
-                border: 1px dotted black;
-            }
-            .overflow {
-                color: orange;
-            }
-            #region {
-                width: 300px;
-                height: 100px;
-                border: 10px solid blue;
-                padding: 5px;
-                float: right;
-            }
-            #regionContainer {
-                border: 2px solid black;
-                position: absolute;
-                top: 160px;
-                padding: 10px;
-                width: 95%;
-            }
-        &lt;/style&gt;
-    &lt;/head&gt;
-    &lt;body&gt;
-        &lt;p&gt;Test that overflow content is correctly computed when the region is floating.&lt;/p&gt;
-        &lt;p&gt;On success, the following should be true:&lt;/p&gt;
-        &lt;ul&gt;
-            &lt;li&gt;Three &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be visible below the &lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;blue&lt;/b&gt;&lt;/span&gt; region.&lt;/li&gt;
-            &lt;li&gt;All &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be selectable&lt;/li&gt;
-        &lt;/ul&gt;
-        &lt;div id=&quot;regionContainer&quot;&gt;
-            &lt;div id=&quot;region&quot;&gt;
-                &lt;div id=&quot;content&quot;&gt;
-                    &lt;div&gt;flow1_1&lt;/div&gt;
-                    &lt;div&gt;flow1_2&lt;/div&gt;
-                    &lt;div&gt;flow1_3&lt;/div&gt;
-                    &lt;div&gt;flow1_4&lt;/div&gt;
-                    &lt;div&gt;flow1_5&lt;/div&gt;
-                    &lt;br/&gt;&lt;br/&gt;
-                    &lt;div class=&quot;overflow&quot;&gt;Overflow2_1&lt;/div&gt;
-                    &lt;div class=&quot;overflow&quot;&gt;Overflow2_2&lt;/div&gt;
-                    &lt;div class=&quot;overflow&quot;&gt;Overflow2_3&lt;/div&gt;
-                &lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-    &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowregionfloathtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/overflow-region-float.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-region-float.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-region-float.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,51 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html style=&quot;font: 16px/1.25 monospace;&quot;&gt;
-    &lt;head&gt;
-        &lt;style&gt;
-            #content {
-                -webkit-flow-into: flow;
-                border: 1px dotted black;
-            }
-            .overflow {
-                color: orange;
-            }
-            #region {
-                -webkit-flow-from: flow;
-                width: 300px;
-                height: 100px;
-                border: 10px solid blue;
-                padding: 5px;
-                float: right;
-            }
-            #regionContainer {
-                border: 2px solid black;
-                position: absolute;
-                top: 160px;
-                padding: 10px;
-                width: 95%;
-            }
-        &lt;/style&gt;
-    &lt;/head&gt;
-    &lt;body&gt;
-        &lt;p&gt;Test that overflow content is correctly computed when the region is floating.&lt;/p&gt;
-        &lt;p&gt;On success, the following should be true:&lt;/p&gt;
-        &lt;ul&gt;
-            &lt;li&gt;Three &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be visible below the &lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;blue&lt;/b&gt;&lt;/span&gt; region.&lt;/li&gt;
-            &lt;li&gt;All &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be selectable&lt;/li&gt;
-        &lt;/ul&gt;
-        &lt;div id=&quot;content&quot;&gt;
-            &lt;div&gt;flow1_1&lt;/div&gt;
-            &lt;div&gt;flow1_2&lt;/div&gt;
-            &lt;div&gt;flow1_3&lt;/div&gt;
-            &lt;div&gt;flow1_4&lt;/div&gt;
-            &lt;div&gt;flow1_5&lt;/div&gt;
-            &lt;br/&gt;&lt;br/&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow2_1&lt;/div&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow2_2&lt;/div&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow2_3&lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;regionContainer&quot;&gt;
-            &lt;div id=&quot;region&quot;&gt;&lt;/div&gt;
-        &lt;/div&gt;
-    &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowregioninlineexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/overflow-region-inline-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-region-inline-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-region-inline-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,79 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html style=&quot;font: 16px/1.25 monospace;&quot;&gt;
-    &lt;head&gt;
-        &lt;style&gt;
-            #content {
-                border: 1px dotted black;
-            }
-            #content2 {
-                -webkit-flow-into: flow2;
-                border: 1px dotted black;
-            }
-            .overflow {
-                color: orange;
-            }
-            .opacity {
-                opacity: 0.5;
-            }
-            #region {
-                width: 270px;
-                height: 100px;
-                border: 10px solid blue;
-                padding: 5px;
-                display: inline-block;
-            }
-            #regionInSpan {
-                -webkit-flow-from: flow2;
-                width: 270px;
-                height: 100px;
-                border: 10px solid blue;
-                padding: 5px;
-                display: inline-block;
-                float: right;
-            }
-            #regionContainer {
-                border: 2px solid black;
-                position: absolute;
-                top: 160px;
-                padding: 10px;
-                width: 700px;
-            }
-            .keyword {
-                color: red;
-                font-style: italic;
-            }
-        &lt;/style&gt;
-    &lt;/head&gt;
-    &lt;body&gt;
-        &lt;p&gt;Test that overflow content is correctly computed when the region is inside one or more inline elements or is inline itself.&lt;/p&gt;
-        &lt;p&gt;On success, the following should be true:&lt;/p&gt;
-        &lt;ul&gt;
-            &lt;li&gt;Three &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be visible below each &lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;blue&lt;/b&gt;&lt;/span&gt; region.&lt;/li&gt;
-            &lt;li&gt;All &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be selectable&lt;/li&gt;
-        &lt;/ul&gt;
-        &lt;div id=&quot;regionContainer&quot;&gt;
-            &lt;span class=&quot;opacity&quot;&gt;
-                &lt;b&gt;y&lt;i&gt;x &lt;div id=&quot;region&quot;&gt;&lt;/i&gt;&lt;/b&gt;
-                    &lt;div id=&quot;content&quot;&gt;
-                        &lt;div&gt;This region has&lt;br/&gt;&lt;span class=&quot;keyword&quot;&gt;display: inline-block&lt;/span&gt; and is sitting inside an &lt;span class=&quot;keyword&quot;&gt;i&lt;/span&gt;, inside a &lt;span class=&quot;keyword&quot;&gt;b&lt;/span&gt; with 0.5 opacity and inside a &lt;span class=&quot;keyword&quot;&gt;span&lt;/span&gt;,&lt;/div&gt;
-                        &lt;br/&gt;&lt;br/&gt;
-                        &lt;div class=&quot;overflow&quot;&gt;causing it to be part of a complex tree of line elements.&lt;/div&gt;
-                        &lt;div class=&quot;overflow&quot;&gt;Overflow2_1_Overflow2_1_Overflow2_1&lt;/div&gt;
-                    &lt;/div&gt;
-                &lt;/div&gt;  &lt;b&gt;&lt;i&gt;x&lt;/i&gt;y&lt;/b&gt;
-            &lt;/span&gt;
-            &lt;div id=&quot;regionInSpan&quot;&gt;
-                &lt;div id=&quot;content2&quot;&gt;
-                    &lt;div&gt;This region is &lt;span class=&quot;keyword&quot;&gt;float:right&lt;/span&gt; and is inside a &lt;span class=&quot;keyword&quot;&gt;span&lt;/span&gt;&lt;/div&gt;
-                    &lt;div&gt;Some&lt;/div&gt;
-                    &lt;div&gt;more&lt;/div&gt;
-                    &lt;div&gt;text&lt;/div&gt;
-                    &lt;br/&gt;&lt;br/&gt;
-                    &lt;div class=&quot;overflow&quot;&gt;Overflow2_1_Overflow2_1_Overflow2_1&lt;/div&gt;
-                    &lt;div class=&quot;overflow&quot;&gt;Overflow2_2&lt;/div&gt;
-                    &lt;div class=&quot;overflow&quot;&gt;Overflow2_3&lt;/div&gt;
-                &lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-    &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowregioninlinehtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/overflow-region-inline.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-region-inline.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-region-inline.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,80 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html style=&quot;font: 16px/1.25 monospace;&quot;&gt;
-    &lt;head&gt;
-        &lt;style&gt;
-            #content {
-                -webkit-flow-into: flow;
-                border: 1px dotted black;
-            }
-            #content2 {
-                -webkit-flow-into: flow2;
-                border: 1px dotted black;
-            }
-            .overflow {
-                color: orange;
-            }
-            #region {
-                -webkit-flow-from: flow;
-                width: 270px;
-                height: 100px;
-                border: 10px solid blue;
-                padding: 5px;
-                display: inline-block;
-            }
-            #regionInSpan {
-                -webkit-flow-from: flow2;
-                width: 270px;
-                height: 100px;
-                border: 10px solid blue;
-                padding: 5px;
-                display: inline-block;
-                float: right;
-            }
-            #regionContainer {
-                border: 2px solid black;
-                position: absolute;
-                top: 160px;
-                padding: 10px;
-                width: 700px;
-            }
-            #b {
-                opacity: 0.5;
-            }
-            .keyword {
-                color: red;
-                font-style: italic;
-            }
-        &lt;/style&gt;
-    &lt;/head&gt;
-    &lt;body&gt;
-        &lt;p&gt;Test that overflow content is correctly computed when the region is inside one or more inline elements or is inline itself.&lt;/p&gt;
-        &lt;p&gt;On success, the following should be true:&lt;/p&gt;
-        &lt;ul&gt;
-            &lt;li&gt;Three &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be visible below each &lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;blue&lt;/b&gt;&lt;/span&gt; region.&lt;/li&gt;
-            &lt;li&gt;All &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be selectable&lt;/li&gt;
-        &lt;/ul&gt;
-        &lt;div id=&quot;regionContainer&quot;&gt;
-            &lt;span&gt;&lt;b id=&quot;b&quot;&gt;y&lt;i&gt;x &lt;div id=&quot;region&quot;&gt;&lt;/div&gt; x&lt;/i&gt;y&lt;/b&gt;
-                &lt;span&gt;
-                    &lt;div id=&quot;regionInSpan&quot;&gt;&lt;/div&gt;
-                &lt;/span&gt;
-            &lt;/span&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;content&quot;&gt;
-            &lt;div&gt;This region has&lt;br/&gt;&lt;span class=&quot;keyword&quot;&gt;display: inline-block&lt;/span&gt; and is sitting inside an &lt;span class=&quot;keyword&quot;&gt;i&lt;/span&gt;, inside a &lt;span class=&quot;keyword&quot;&gt;b&lt;/span&gt; with 0.5 opacity and inside a &lt;span class=&quot;keyword&quot;&gt;span&lt;/span&gt;,&lt;/div&gt;
-            &lt;br/&gt;&lt;br/&gt;
-            &lt;div class=&quot;overflow&quot;&gt;causing it to be part of a complex tree of line elements.&lt;/div&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow2_1_Overflow2_1_Overflow2_1&lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;content2&quot;&gt;
-            &lt;div&gt;This region is &lt;span class=&quot;keyword&quot;&gt;float:right&lt;/span&gt; and is inside a &lt;span class=&quot;keyword&quot;&gt;span&lt;/span&gt;&lt;/div&gt;
-            &lt;div&gt;Some&lt;/div&gt;
-            &lt;div&gt;more&lt;/div&gt;
-            &lt;div&gt;text&lt;/div&gt;
-            &lt;br/&gt;&lt;br/&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow2_1_Overflow2_1_Overflow2_1&lt;/div&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow2_2&lt;/div&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow2_3&lt;/div&gt;
-        &lt;/div&gt;
-    &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowregiontransformexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/overflow-region-transform-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-region-transform-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-region-transform-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,49 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html style=&quot;font: 16px/1.25 monospace;&quot;&gt;
-    &lt;head&gt;
-        &lt;style&gt;
-            #content {
-                width: 150px;
-                margin-left: 50px;
-            }
-            .overflow {
-                color: orange;
-            }
-            #region {
-                width: 300px;
-                height: 100px;
-                border: 10px solid blue;
-                position: absolute;
-                top: 300px;
-                left: 100px;
-                padding: 5px;
-                -webkit-transform: rotate(45deg);
-            }
-            .PASS {
-                color: green;
-                font-weight: bold;
-            }
-        &lt;/style&gt;
-    &lt;/head&gt;
-    &lt;body&gt;
-        &lt;p&gt;Test that overflow content is correctly computed when a transform is applied to the region.&lt;/p&gt;
-        &lt;p&gt;On success, the following should be true:&lt;/p&gt;
-        &lt;ul&gt;
-            &lt;li&gt;Two &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be visible below the &lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;blue&lt;/b&gt;&lt;/span&gt; region.&lt;/li&gt;
-            &lt;li&gt;All &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be selectable&lt;/li&gt;
-        &lt;/ul&gt;
-        &lt;div id=&quot;region&quot;&gt;
-            &lt;div id=&quot;content&quot;&gt;
-                &lt;div&gt;flow1_1&lt;/div&gt;
-                &lt;div&gt;flow1_2&lt;/div&gt;
-                &lt;div&gt;flow1_3&lt;/div&gt;
-                &lt;div&gt;flow1_4&lt;/div&gt;
-                &lt;div&gt;flow1_5&lt;/div&gt;
-                &lt;br/&gt;
-                &lt;div class=&quot;overflow&quot;&gt;Overflow2_1&lt;/div&gt;
-                &lt;div class=&quot;overflow&quot;&gt;Overflow2_2&lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-        &lt;div id=&quot;result&quot; class=&quot;PASS&quot;&gt;Automated selection test: PASS&lt;/div&gt;
-    &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowregiontransformhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/overflow-region-transform.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-region-transform.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-region-transform.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,90 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-&lt;html style=&quot;font: 16px/1.25 monospace;&quot;&gt;
-    &lt;script type=&quot;text/javascript&quot;&gt;
-        function onBodyLoad() {
-            if (window.testRunner) {
-                var selection = window.getSelection();
-
-                // Test selection on the overflow below the region.
-                var region = document.getElementById(&quot;region&quot;);
-                var startPositionX = region.offsetLeft + 65;
-                var startPositionY = region.offsetTop + 90;
-                var endPositionX = startPositionX + 10;
-                var endPositionY = startPositionY + 30;
-
-                eventSender.mouseMoveTo(startPositionX, startPositionY);
-                eventSender.mouseDown();
-                eventSender.mouseMoveTo(endPositionX, endPositionY);
-                eventSender.mouseUp();
-
-                var elemResult = document.getElementById(&quot;result&quot;);
-                var result = &quot;FAIL&quot;;
-                if (selection.toString() == &quot;low2_1\nOverflo&quot;)
-                    result = &quot;PASS&quot;;
-
-                elemResult.className = result;
-                elemResult.innerHTML = &quot;Automated selection test: &quot; + result;
-
-                eventSender.mouseMoveTo(startPositionX + 200, startPositionY);
-                eventSender.mouseDown();
-                eventSender.mouseUp();
-            }
-        }
-    &lt;/script&gt;
-    &lt;head&gt;
-        &lt;style&gt;
-            #content {
-                -webkit-flow-into: flow;
-                width: 150px;
-                margin-left: 50px;
-            }
-            .overflow {
-                color: orange;
-            }
-            #region {
-                -webkit-flow-from: flow;
-                width: 300px;
-                height: 100px;
-                border: 10px solid blue;
-                position: absolute;
-                top: 300px;
-                left: 100px;
-                padding: 5px;
-                -webkit-transform: rotate(45deg);
-            }
-            .PASS {
-                color: green;
-                font-weight: bold;
-            }
-            .FAIL {
-                color: red;
-                font-weight: bold;
-            }
-            .notrun {
-                color: red;
-                font-weight: bold;
-            }
-        &lt;/style&gt;
-    &lt;/head&gt;
-    &lt;body onload=&quot;onBodyLoad();&quot;&gt;
-        &lt;p&gt;Test that overflow content is correctly computed when a transform is applied to the region.&lt;/p&gt;
-        &lt;p&gt;On success, the following should be true:&lt;/p&gt;
-        &lt;ul&gt;
-            &lt;li&gt;Two &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be visible below the &lt;span style=&quot;color: blue;&quot;&gt;&lt;b&gt;blue&lt;/b&gt;&lt;/span&gt; region.&lt;/li&gt;
-            &lt;li&gt;All &lt;span style=&quot;color: orange;&quot;&gt;&lt;b&gt;orange&lt;/b&gt;&lt;/span&gt; overflow lines should be selectable&lt;/li&gt;
-        &lt;/ul&gt;
-        &lt;div id=&quot;content&quot;&gt;
-            &lt;div&gt;flow1_1&lt;/div&gt;
-            &lt;div&gt;flow1_2&lt;/div&gt;
-            &lt;div&gt;flow1_3&lt;/div&gt;
-            &lt;div&gt;flow1_4&lt;/div&gt;
-            &lt;div&gt;flow1_5&lt;/div&gt;
-            &lt;br/&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow2_1&lt;/div&gt;
-            &lt;div class=&quot;overflow&quot;&gt;Overflow2_2&lt;/div&gt;
-        &lt;/div&gt;
-
-        &lt;div id=&quot;region&quot;&gt;&lt;/div&gt;
-        &lt;div id=&quot;result&quot; class=&quot;notrun&quot;&gt;Automated selection test: NOT RUN&lt;/div&gt;
-    &lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowscrollablerotatedfragmentexpectedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/overflow-scrollable-rotated-fragment-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-scrollable-rotated-fragment-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-scrollable-rotated-fragment-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -2,7 +2,7 @@
</span><span class="cx"> &lt;html style=&quot;font: 16px/1.25 monospace;&quot;&gt;
</span><span class="cx">     &lt;head&gt;
</span><span class="cx">         &lt;style&gt;
</span><del>-            .no_overflow { margin: 2px; -webkit-transform: rotate(-90deg);}
</del><ins>+            .no_overflow { margin: 2px; -webkit-transform: rotate(-25deg);}
</ins><span class="cx"> 
</span><span class="cx">             #region1, #region2 { height: 100px; }
</span><span class="cx">             #region1 { border: 5px solid green; width: 150px; }
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionsoverflowscrollablerotatedfragmenthtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/overflow-scrollable-rotated-fragment.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/overflow-scrollable-rotated-fragment.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/overflow-scrollable-rotated-fragment.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -6,7 +6,7 @@
</span><span class="cx">                 -webkit-flow-into: flow;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            .no_overflow { margin: 2px; -webkit-transform: rotate(-90deg); }
</del><ins>+            .no_overflow { margin: 2px; -webkit-transform: rotate(-25deg);}
</ins><span class="cx"> 
</span><span class="cx">             #region1, #region2 { -webkit-flow-from: flow; height: 100px; }
</span><span class="cx">             #region1 { border: 5px solid green; width: 150px; }
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionstopoverflowoutofsecondregionexpectedhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/regions/top-overflow-out-of-second-region-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/top-overflow-out-of-second-region-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/top-overflow-out-of-second-region-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,61 +0,0 @@
</span><del>-&lt;!doctype html&gt;
-
- &lt;style&gt;
-    #content {
-        text-align: justify;
-        padding: 5px;
-        margin-top: -105px;
-    }
-    
-    #first-box {
-        border: 1px solid blue;
-        margin-top:100px;
-    }
-    
-    #second-box {
-        margin:-100px auto 0 auto;
-        border: 1px solid green;
-        width:75%
-    }
-    
-    #region1, #region2 {
-        border: 1px solid red;
-    }
-
-    #region1 {
-        width: 300px;
-        height: 100px;
-    }
-    
-    #region2 {
-        width: 400px;
-        height: 200px;
-        margin-left: 300px;
-        margin-top: 50px;
-    }
-&lt;/style&gt;
-
-&lt;body&gt;
-
-&lt;p&gt;In the test case below, the green block's width should not vary and should use the second region to determine its width.
-It is overflowing upwards out of the blue block, and so the portion that overflows should continue to use the blue block's
-containing block width. The blue block does not exist in region one, so using some hypothetical made-up width is incorrect.
-The overflow should be spilling out of the top of region two and be painted in region one. 
-
-
-
-&lt;div id=&quot;container&quot;&gt;
-    &lt;div id=&quot;region1&quot;&gt;&lt;/div&gt;
-    &lt;div id=&quot;region2&quot;&gt;
-        &lt;div id=&quot;content&quot;&gt;
-            &lt;div id=&quot;first-box&quot;&gt;
-                &lt;div id=&quot;second-box&quot;&gt;
-                    &lt;p&gt;These lines should all fit to the width of the block in the second region and spill out of the top of the second
-                    region.&lt;/P&gt;
-                     &lt;p&gt;These lines should all fit to the width of the block in the second region and spill out of the top of the second
-                    region.&lt;/P&gt;
-                &lt;/div&gt;
-            &lt;/div&gt;
-        &lt;/div&gt;
-    &lt;/div&gt;
-&lt;/div&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsfastregionstopoverflowoutofsecondregionhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/top-overflow-out-of-second-region.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/top-overflow-out-of-second-region.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/top-overflow-out-of-second-region.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -18,8 +18,8 @@
</span><span class="cx">         width:75%
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    #region1, #region2 {
-        border: 1px solid red;
</del><ins>+    #region1, #region2, #region3 {
+        border: 1px solid black;
</ins><span class="cx">         -webkit-flow-from: flow1;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -31,8 +31,6 @@
</span><span class="cx">     #region2 {
</span><span class="cx">         width: 400px;
</span><span class="cx">         height: 200px;
</span><del>-        margin-left: 300px;
-        margin-top: 50px;
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     #region3 {
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionswebkitflowfloatunabletopushexpectedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/webkit-flow-float-unable-to-push-expected.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/webkit-flow-float-unable-to-push-expected.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/webkit-flow-float-unable-to-push-expected.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -12,51 +12,29 @@
</span><span class="cx"> 
</span><span class="cx">     /* Created to justify the last line of text in the div */
</span><span class="cx">     #paragraph1:after {
</span><del>-        content: &quot; ________&quot;;
</del><ins>+        content: &quot; ____&quot;;
</ins><span class="cx">         line-height: 0;
</span><span class="cx">         visibility: hidden;
</span><span class="cx">     }
</span><del>-
-    .region {
-        border: 3px solid black;
-        border-left: 10px solid black;
-    }
-
-    .content {
-        border: 2px solid red;
-        padding: 5px;
-    }
-
-    .first-box {
-        border: 3px solid blue;
-        background-color: #ffff00;
-    }
-
-    .second-box {
-        border: 6px solid green;
-        background-color: #ffffaa;
-    }
</del><span class="cx">     
</span><span class="cx">     #region1 {
</span><del>-        width: 400px;
-        height: 90px;
-        margin-left: 50px;
</del><ins>+        border: 1px solid black;
+        width: 390px;
+        height: 80px;
+        padding: 5px;
</ins><span class="cx">     }
</span><del>-
-    #content1 {
-        border-bottom: none;
-        height: 78px;
-    }
</del><span class="cx">     
</span><span class="cx">     #first-box1 {
</span><ins>+        border: 1px solid blue;
</ins><span class="cx">         border-bottom: none;
</span><del>-        height: 80px;
</del><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #second-box1 {
</span><span class="cx">         margin:10px;
</span><ins>+        border: 1px solid green;
</ins><span class="cx">         border-bottom: none;
</span><del>-        height: 64px;
</del><ins>+        width: 366px;
+        height: 73px;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     #first-paragraph2 {
</span><span class="lines">@@ -65,34 +43,32 @@
</span><span class="cx">     
</span><span class="cx">     /* Created to justify the last line of text in the div */
</span><span class="cx">     #second-paragraph2:after {
</span><del>-        content: &quot; ________&quot;;
</del><ins>+        content: &quot; ____&quot;;
</ins><span class="cx">         line-height: 0;
</span><span class="cx">         visibility: hidden;
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #region2 {
</span><del>-        width: 300px;
-        height: 90px;
-        margin-top: 70px;
</del><ins>+        border: 1px solid black;
+        width: 290px;
+        height: 80px;
+        padding: 5px;
</ins><span class="cx">     }
</span><del>-
-    #content2 {
-        border-bottom: none;
-        border-top: none;
-        height: 85px;
-        padding-top: 0px;
-    }
</del><span class="cx">     
</span><span class="cx">     #first-box2 {
</span><ins>+        border: 1px solid blue;
</ins><span class="cx">         border-top: none;
</span><span class="cx">         border-bottom: none;
</span><del>-        padding-left: 10px;
-        padding-right: 10px;
</del><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #second-box2 {
</span><ins>+        margin-left:10px;
+        margin-top: -5px;
+        padding: 0px;
+        border: 1px solid green;
</ins><span class="cx">         border-top: none;
</span><span class="cx">         border-bottom: none;
</span><ins>+        width: 266px;
</ins><span class="cx">         height: 90px;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -101,74 +77,75 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     #region3 {
</span><del>-        width: 400px;
-        height: 120px;
-        margin-top: 50px;
-        margin-left: 20px;
</del><ins>+        border: 1px solid black;
+        width: 390px;
+        height: 80px;
+        padding: 5px;
</ins><span class="cx">     }
</span><del>-
-    #content3 {
-        border-top: none;
-        aheight: 109px;
-        padding-top: 0px;
-    }
</del><span class="cx">     
</span><span class="cx">     #first-box3 {
</span><ins>+        border: 1px solid blue;
</ins><span class="cx">         border-top: none;
</span><del>-        padding-left: 10px;
-        padding-right: 10px;
-        padding-bottom: 10px;
</del><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #second-box3 {
</span><ins>+        margin:10px;
+        margin-top: -5px;
+        border: 1px solid green;
</ins><span class="cx">         border-top: none;
</span><ins>+        width: 366px;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    #float1 {
</del><ins>+    .imgFloat {
</ins><span class="cx">         float: right;
</span><span class="cx">         background-color:green;
</span><del>-        border: 2px solid red;
</del><ins>+    }
+
+    #float1 {
</ins><span class="cx">         width: 130px;
</span><del>-        height: 100px;
</del><ins>+        height: 63px;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     #float2 {
</span><del>-        float: right;
-        width: 34px;
-        height: 70px;
-        visibility: hidden;
</del><ins>+        width: 30px;
+        height: 37px;
</ins><span class="cx">     }
</span><ins>+
+    #imgAbsolute {
+        position: absolute;
+        background-color: green;
+        width: 100px;
+        height: 37px;
+        left: 292px;
+        top: 101px;
+    }
</ins><span class="cx"> &lt;/style&gt;
</span><span class="cx"> 
</span><del>-&lt;div&gt;
-    &lt;div class=&quot;region&quot; id=&quot;region1&quot;&gt;
-        &lt;div class=&quot;content&quot; id=&quot;content1&quot;&gt;
-            &lt;div class=&quot;first-box&quot; id=&quot;first-box1&quot;&gt;
-                &lt;div class=&quot;second-box&quot; id=&quot;second-box1&quot;&gt;
-                    &lt;div class=&quot;test_paragraph&quot; id=&quot;paragraph1&quot;&gt;This &lt;img id=&quot;float1&quot; src=&quot;resources/transparent.png&quot;&gt;line of text should not get out of the region. This line of text should not get out of the&lt;/div&gt;
-                &lt;/div&gt;
</del><ins>+&lt;div id=&quot;content&quot;&gt;
+    &lt;div id=&quot;region1&quot;&gt;
+        &lt;div id=&quot;first-box1&quot;&gt;
+            &lt;div id=&quot;second-box1&quot;&gt;
+                &lt;div class=&quot;test_paragraph&quot; id=&quot;paragraph1&quot;&gt;This &lt;img class=&quot;imgFloat&quot; id=&quot;float1&quot; src=&quot;resources/transparent.png&quot;&gt;line of text should not get out of the region. This line of text should not get out of the region. This line of text should not&lt;/div&gt;
</ins><span class="cx">             &lt;/div&gt;
</span><span class="cx">         &lt;/div&gt;
</span><span class="cx">     &lt;/div&gt;
</span><span class="cx">     
</span><del>-    &lt;div class=&quot;region&quot; id=&quot;region2&quot;&gt;
-        &lt;div class=&quot;content&quot; id=&quot;content2&quot;&gt;
-            &lt;div class=&quot;first-box&quot; id=&quot;first-box2&quot;&gt;
-                &lt;div class=&quot;second-box&quot; id=&quot;second-box2&quot;&gt;
-                    &lt;div class=&quot;test_paragraph&quot; id=&quot;first-paragraph2&quot;&gt;region. &lt;img id=&quot;float2&quot; src=&quot;resources/transparent.png&quot;&gt;This line of text should not get out of the region. This line of text should not get out of the region.&lt;/div&gt;
-                    &lt;div class=&quot;test_paragraph&quot; id=&quot;second-paragraph2&quot;&gt;This line of text should not get out of the&lt;/div&gt;
-                &lt;/div&gt;
</del><ins>+    &lt;div id=&quot;region2&quot;&gt;
+        &lt;div id=&quot;first-box2&quot;&gt;
+            &lt;div id=&quot;second-box2&quot;&gt;
+                &lt;div class=&quot;test_paragraph&quot; id=&quot;first-paragraph2&quot;&gt;get&lt;img class=&quot;imgFloat&quot; id=&quot;float2&quot; src=&quot;resources/transparent.png&quot;&gt; out of the region. This line of text should not get out of the region.&lt;/div&gt;
+                &lt;div class=&quot;test_paragraph&quot; id=&quot;second-paragraph2&quot;&gt;This line of text should not get out of the region. This line of text should not get out of the region.&lt;/div&gt;
</ins><span class="cx">             &lt;/div&gt;
</span><span class="cx">         &lt;/div&gt;
</span><span class="cx">     &lt;/div&gt;
</span><span class="cx"> 
</span><del>-    &lt;div class=&quot;region&quot; id=&quot;region3&quot;&gt;
-        &lt;div class=&quot;content&quot; id=&quot;content3&quot;&gt;
-            &lt;div class=&quot;first-box&quot; id=&quot;first-box3&quot;&gt;
-                &lt;div class=&quot;second-box&quot; id=&quot;second-box3&quot;&gt;
-                    &lt;div class=&quot;test_paragraph&quot; id=&quot;first-paragraph3&quot;&gt;region. This line of text should not get out of the region. This line of text should not get out of the region. This line of text should not get out of the region.&lt;/div&gt;
-                    &lt;div class=&quot;test_paragraph&quot; id=&quot;second-paragraph3&quot;&gt;This line of text should not get out of the region.&lt;/div&gt;
-                &lt;/div&gt;
</del><ins>+    &lt;img id=&quot;imgAbsolute&quot; src=&quot;resources/transparent.png&quot;&gt;
+    
+    &lt;div id=&quot;region3&quot;&gt;
+        &lt;div id=&quot;first-box3&quot;&gt;
+            &lt;div id=&quot;second-box3&quot;&gt;
+                &lt;div class=&quot;test_paragraph&quot; id=&quot;first-paragraph3&quot;&gt;This line of text should not get out of the region. This line of text should not get out of the region.&lt;/div&gt;
+                &lt;div class=&quot;test_paragraph&quot; id=&quot;second-paragraph3&quot;&gt;This line of text should not get out of the region.&lt;/div&gt;
</ins><span class="cx">             &lt;/div&gt;
</span><span class="cx">         &lt;/div&gt;
</span><span class="cx">     &lt;/div&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastregionswebkitflowfloatunabletopushhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/regions/webkit-flow-float-unable-to-push.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/regions/webkit-flow-float-unable-to-push.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/regions/webkit-flow-float-unable-to-push.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -8,18 +8,15 @@
</span><span class="cx">         font-size: 10px;
</span><span class="cx">         font-family: Ahem;
</span><span class="cx">         -webkit-font-smoothing: none;
</span><del>-        border: 2px solid red;
</del><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #first-box {
</span><del>-        border: 3px solid blue;
-        background-color: #ffff00;
</del><ins>+        border: 1px solid blue;
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #second-box {
</span><span class="cx">         margin:10px;
</span><del>-        border: 6px solid green;
-        background-color: #ffffaa;
</del><ins>+        border: 1px solid green;
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #float1 {
</span><span class="lines">@@ -27,32 +24,26 @@
</span><span class="cx">         width: 130px;
</span><span class="cx">         height: 100px;
</span><span class="cx">         background-color:green;
</span><del>-        border: 2px solid red;
</del><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #region1, #region2, #region3 {
</span><del>-        border: 3px solid black;
-        border-left: 10px solid black;
</del><ins>+        border: 1px solid black;
</ins><span class="cx">         -webkit-flow-from: flow1;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     #region1 {
</span><span class="cx">         width: 400px;
</span><span class="cx">         height: 90px;
</span><del>-        margin-left: 50px;
</del><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #region2 {
</span><span class="cx">         width: 300px;
</span><span class="cx">         height: 90px;
</span><del>-        margin-top: 70px;
</del><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     #region3 {
</span><span class="cx">         width: 400px;
</span><del>-        height: 120px;
-        margin-top: 50px;
-        margin-left: 20px;
</del><ins>+        height: 90px;
</ins><span class="cx">     }
</span><span class="cx"> &lt;/style&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastrepaintincreasingregioncontentheightexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/repaint/increasing-region-content-height-expected.txt (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/repaint/increasing-region-content-height-expected.txt        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/repaint/increasing-region-content-height-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,10 +1,10 @@
</span><ins>+On success, the text inside the region should not be clipped
</ins><span class="cx"> This text should not get clipped
</span><span class="cx"> (repaint rects
</span><del>-  (rect 0 0 800 50)
-  (rect 0 200 800 50)
-  (rect 0 200 800 50)
-  (rect 0 0 400 200)
-  (rect 0 50 400 200)
-  (rect 0 50 400 200)
</del><ins>+  (rect 0 18 800 50)
+  (rect 0 218 800 50)
+  (rect 0 218 800 50)
+  (rect 0 18 400 200)
+  (rect 0 68 400 200)
</ins><span class="cx"> )
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastrepaintincreasingregioncontentheighthtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/repaint/increasing-region-content-height.html (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/repaint/increasing-region-content-height.html        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/fast/repaint/increasing-region-content-height.html        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -20,6 +20,7 @@
</span><span class="cx">                 &lt;/style&gt;
</span><span class="cx">         &lt;/head&gt;
</span><span class="cx">         &lt;body onload=&quot;runRepaintTest();&quot;&gt;
</span><ins>+                &lt;p&gt;On success, the text inside the region should not be clipped&lt;/p&gt;
</ins><span class="cx">                 &lt;div id=&quot;box&quot;&gt;&lt;/div&gt;
</span><span class="cx">                 &lt;div class=&quot;content&quot;&gt;
</span><span class="cx">                         &lt;p&gt;This text should not get clipped&lt;/p&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkfastregionstextregionsplitverticalrlexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt (0 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt                                (rev 0)
+++ trunk/LayoutTests/platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+Text in region 1. This paragraph has &quot;-webkit-region-break-after: always&quot;. There should be nothing in this region after this line.
+
+First element in the region 3. Some text inside a flow. Some text inside a flow. Some text inside a flow. Text in region 4.
+
+Simple line in region 4.
+First line in region 5. This paragraph displays in region 5 because it has a margin-top, which is too high to fit in the previous region.
+First line in region 6. This paragraph uses &quot;-webkit-region-break-before: always&quot;.
+FAIL(check region5) outside bounding rect was: [8, 82, 208, 192, 110, 200], and inside was: [8, 196, 85, 213, 17, 77]
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacfastregionstopoverflowoutofsecondregionexpectedpng"></a>
<div class="binary"><h4>Added: trunk/LayoutTests/platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<span class="cx">Property changes on: trunk/LayoutTests/platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png
</span><span class="cx">___________________________________________________________________
</span><a id="svnmimetype"></a>
<div class="addfile"><h4>Added: svn:mime-type</h4></div>
<a id="trunkLayoutTestsplatformmacfastregionstopoverflowoutofsecondregionexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt (0 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt                                (rev 0)
+++ trunk/LayoutTests/platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -0,0 +1,44 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x418
+  RenderBlock {HTML} at (0,0) size 800x418
+    RenderBody {BODY} at (8,16) size 784x394
+      RenderBlock {P} at (0,0) size 784x72
+        RenderText {#text} at (0,0) size 779x72
+          text run at (0,0) width 775: &quot;In the test case below, the green block's width should not vary and should use the second region to determine its width. It is&quot;
+          text run at (0,18) width 731: &quot;overflowing upwards out of the blue block, and so the portion that overflows should continue to use the blue block's&quot;
+          text run at (0,36) width 779: &quot;containing block width. The blue block does not exist in region one, so using some hypothetical made-up width is incorrect.&quot;
+          text run at (0,54) width 565: &quot;The overflow should be spilling out of the top of region two and be painted in region one.&quot;
+      RenderBlock {DIV} at (0,88) size 784x306
+layer at (8,104) size 302x102
+  RenderBlock {DIV} at (0,0) size 302x102 [border: (1px solid #000000)]
+    RenderNamedFlowFragment at (1,1) size 300x100
+layer at (8,206) size 402x202
+  RenderBlock {DIV} at (0,102) size 402x202 [border: (1px solid #000000)]
+    RenderNamedFlowFragment at (1,1) size 400x200
+layer at (8,408) size 2x2
+  RenderBlock {DIV} at (0,304) size 2x2 [border: (1px solid #000000)]
+    RenderNamedFlowFragment at (1,1) size 0x0
+Named flows
+  Named flow 'flow1'
+    layer at (0,0) size 400x300
+      RenderNamedFlowThread at (0,0) size 400x300
+        RenderBlock {DIV} at (0,0) size 400x177
+          RenderBlock {DIV} at (5,100) size 390x72 [border: (1px solid #0000FF)]
+            RenderBlock {DIV} at (48,-99) size 293x170 [border: (1px solid #008000)]
+              RenderBlock {P} at (1,17) size 291x54
+                RenderText {#text} at (0,0) size 291x54
+                  text run at (0,0) width 291: &quot;These lines should all fit to the width of the&quot;
+                  text run at (0,18) width 291: &quot;block in the second region and spill out of the&quot;
+                  text run at (0,36) width 112: &quot;top of the second &quot;
+                  text run at (112,36) width 44: &quot;region.&quot;
+              RenderBlock {P} at (1,99) size 291x54
+                RenderText {#text} at (0,0) size 291x54
+                  text run at (0,0) width 291: &quot;These lines should all fit to the width of the&quot;
+                  text run at (0,18) width 291: &quot;block in the second region and spill out of the&quot;
+                  text run at (0,36) width 112: &quot;top of the second &quot;
+                  text run at (112,36) width 44: &quot;region.&quot;
+    Regions for named flow 'flow1'
+      RenderNamedFlowFragment (anonymous child of {DIV} #region1)
+      RenderNamedFlowFragment (anonymous child of {DIV} #region2)
+      RenderNamedFlowFragment (anonymous child of {DIV} #region3)
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk2TestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk2/TestExpectations        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -337,6 +337,13 @@
</span><span class="cx"> webkit.org/b/107018 svg/animations/animate-linear-discrete-additive-c.svg  [ ImageOnlyFailure Pass ]
</span><span class="cx"> webkit.org/b/107018 svg/animations/mozilla/animateMotion-mpath-pathLength-1.svg [ ImageOnlyFailure Pass ]
</span><span class="cx"> 
</span><ins>+# Region overflow doesn't quite work with tiled drawing.
+webkit.org/b/122233 fast/regions/percentage-margins-mixed-ltr-dominant-regions.html [ ImageOnlyFailure ]
+webkit.org/b/122233 fast/regions/percentage-margins-mixed-rtl-dominant-regions.html [ ImageOnlyFailure ]
+webkit.org/b/122233 fast/regions/percentage-margins-rtl-variable-width-regions.html [ ImageOnlyFailure ]
+webkit.org/b/122233 fast/regions/percentage-margins-variable-width-regions.html [ ImageOnlyFailure ]
+webkit.org/b/122233 fast/regions/frame-view-overflow-scroll.html [ ImageOnlyFailure ]
+
</ins><span class="cx"> # Color space issues from switching to tiled drawing.
</span><span class="cx"> webkit.org/b/122234 fast/css/computed-image-width-with-percent-height.html [ ImageOnlyFailure ]
</span><span class="cx"> webkit.org/b/122234 svg/filters/color-space-conversion.svg  [ ImageOnlyFailure ]
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/ChangeLog        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1,3 +1,99 @@
</span><ins>+2013-11-15  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r159337.
+        http://trac.webkit.org/changeset/159337
+        https://bugs.webkit.org/show_bug.cgi?id=124423
+
+        broke a bunch of fast/regions tests on EFL/GTK (Requested by
+        philn on #webkit).
+
+        * rendering/InlineFlowBox.cpp:
+        (WebCore::InlineFlowBox::setLayoutOverflow):
+        (WebCore::InlineFlowBox::setVisualOverflow):
+        * rendering/InlineFlowBox.h:
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::addOverflowFromChildren):
+        (WebCore::RenderBlock::paint):
+        (WebCore::RenderBlock::paintObject):
+        (WebCore::RenderBlock::estimateRegionRangeForBoxChild):
+        (WebCore::RenderBlock::updateRegionRangeForBoxChild):
+        * rendering/RenderBlockFlow.cpp:
+        (WebCore::RenderBlockFlow::hasNextPage):
+        (WebCore::RenderBlockFlow::relayoutForPagination):
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlockFlow::positionNewFloatOnLine):
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::borderBoxRectInRegion):
+        (WebCore::RenderBox::computeRectForRepaint):
+        (WebCore::RenderBox::addLayoutOverflow):
+        (WebCore::RenderBox::addVisualOverflow):
+        (WebCore::RenderBox::isUnsplittableForPagination):
+        (WebCore::RenderBox::overflowRectForPaintRejection):
+        * rendering/RenderBox.h:
+        * rendering/RenderBoxModelObject.cpp:
+        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+        * rendering/RenderBoxModelObject.h:
+        * rendering/RenderBoxRegionInfo.h:
+        (WebCore::RenderBoxRegionInfo::createOverflow):
+        * rendering/RenderFlowThread.cpp:
+        (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
+        (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
+        (WebCore::RenderFlowThread::checkRegionsWithStyling):
+        (WebCore::RenderFlowThread::mapFromLocalToFlowThread):
+        (WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
+        (WebCore::RenderFlowThread::addRegionsOverflowFromChild):
+        (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
+        * rendering/RenderFlowThread.h:
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::updateLayerPositions):
+        (WebCore::expandClipRectForDescendantsAndReflection):
+        (WebCore::RenderLayer::paintLayer):
+        (WebCore::RenderLayer::paintLayerContents):
+        (WebCore::RenderLayer::updatePaintingInfoForFragments):
+        (WebCore::RenderLayer::paintForegroundForFragments):
+        (WebCore::RenderLayer::hitTest):
+        (WebCore::RenderLayer::hitTestLayer):
+        (WebCore::RenderLayer::calculateClipRects):
+        (WebCore::RenderLayer::parentClipRects):
+        (WebCore::RenderLayer::calculateRects):
+        (WebCore::RenderLayer::intersectsDamageRect):
+        (WebCore::RenderLayer::repaintIncludingDescendants):
+        * rendering/RenderLayer.h:
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+        * rendering/RenderListItem.cpp:
+        (WebCore::RenderListItem::addOverflowFromChildren):
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
+        (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
+        * rendering/RenderMultiColumnSet.h:
+        * rendering/RenderNamedFlowFragment.cpp:
+        (WebCore::RenderNamedFlowFragment::createStyle):
+        * rendering/RenderNamedFlowFragment.h:
+        * rendering/RenderOverflow.h:
+        * rendering/RenderRegion.cpp:
+        (WebCore::RenderRegion::flowThreadPortionOverflowRect):
+        (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
+        (WebCore::shouldPaintRegionContentsInPhase):
+        (WebCore::RenderRegion::paintObject):
+        (WebCore::RenderRegion::hitTestContents):
+        (WebCore::RenderRegion::computeOverflowFromFlowThread):
+        (WebCore::RenderRegion::repaintFlowThreadContent):
+        (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
+        (WebCore::RenderRegion::insertedIntoTree):
+        (WebCore::RenderRegion::ensureOverflowForBox):
+        (WebCore::RenderRegion::rectFlowPortionForBox):
+        (WebCore::RenderRegion::addLayoutOverflowForBox):
+        (WebCore::RenderRegion::addVisualOverflowForBox):
+        (WebCore::RenderRegion::layoutOverflowRectForBox):
+        (WebCore::RenderRegion::visualOverflowRectForBox):
+        (WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):
+        * rendering/RenderRegion.h:
+        * rendering/RenderReplaced.cpp:
+        (WebCore::RenderReplaced::shouldPaint):
+        * rendering/RootInlineBox.cpp:
+        (WebCore::RootInlineBox::paint):
+
</ins><span class="cx"> 2013-11-15  Antti Koivisto  &lt;antti@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Hovering over text using simple line path should not cause switch to line boxes
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingInlineFlowBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/InlineFlowBox.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/InlineFlowBox.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/InlineFlowBox.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -975,7 +975,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (!m_overflow)
</span><del>-        m_overflow = adoptRef(new RenderOverflow(frameBox, frameBox));
</del><ins>+        m_overflow = adoptPtr(new RenderOverflow(frameBox, frameBox));
</ins><span class="cx">     
</span><span class="cx">     m_overflow-&gt;setLayoutOverflow(rect);
</span><span class="cx"> }
</span><span class="lines">@@ -987,7 +987,7 @@
</span><span class="cx">         return;
</span><span class="cx">         
</span><span class="cx">     if (!m_overflow)
</span><del>-        m_overflow = adoptRef(new RenderOverflow(frameBox, frameBox));
</del><ins>+        m_overflow = adoptPtr(new RenderOverflow(frameBox, frameBox));
</ins><span class="cx">     
</span><span class="cx">     m_overflow-&gt;setVisualOverflow(rect);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingInlineFlowBoxh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/InlineFlowBox.h (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/InlineFlowBox.h        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/InlineFlowBox.h        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -302,7 +302,7 @@
</span><span class="cx">     void constrainToLineTopAndBottomIfNeeded(LayoutRect&amp;) const;
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    RefPtr&lt;RenderOverflow&gt; m_overflow;
</del><ins>+    OwnPtr&lt;RenderOverflow&gt; m_overflow;
</ins><span class="cx"> 
</span><span class="cx">     InlineBox* m_firstChild;
</span><span class="cx">     InlineBox* m_lastChild;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlock.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1612,12 +1612,6 @@
</span><span class="cx">             addOverflowFromInlineChildren();
</span><span class="cx">         else
</span><span class="cx">             addOverflowFromBlockChildren();
</span><del>-        
-        // If this block is flowed inside a flow thread, make sure its overflow is propagated to the containing regions.
-        if (m_overflow) {
-            if (RenderFlowThread* containingFlowThread = flowThreadContainingBlock())
-                containingFlowThread-&gt;addRegionsVisualOverflow(this, m_overflow-&gt;visualOverflowRect());
-        }
</del><span class="cx">     } else {
</span><span class="cx">         ColumnInfo* colInfo = columnInfo();
</span><span class="cx">         if (columnCount(colInfo)) {
</span><span class="lines">@@ -2183,15 +2177,11 @@
</span><span class="cx">     
</span><span class="cx">     PaintPhase phase = paintInfo.phase;
</span><span class="cx"> 
</span><del>-    // Check our region range to make sure we need to be painting in this region.
-    if (paintInfo.renderRegion &amp;&amp; !paintInfo.renderRegion-&gt;flowThread()-&gt;objectShouldPaintInFlowRegion(this, paintInfo.renderRegion))
-        return;
-
</del><span class="cx">     // Check if we need to do anything at all.
</span><span class="cx">     // FIXME: Could eliminate the isRoot() check if we fix background painting so that the RenderView
</span><span class="cx">     // paints the root's background.
</span><span class="cx">     if (!isRoot()) {
</span><del>-        LayoutRect overflowBox = overflowRectForPaintRejection(paintInfo.renderRegion);
</del><ins>+        LayoutRect overflowBox = overflowRectForPaintRejection();
</ins><span class="cx">         flipForWritingMode(overflowBox);
</span><span class="cx">         overflowBox.inflate(maximalOutlineSize(paintInfo.phase));
</span><span class="cx">         overflowBox.moveBy(adjustedPaintOffset);
</span><span class="lines">@@ -2480,26 +2470,8 @@
</span><span class="cx"> 
</span><span class="cx">     // 1. paint background, borders etc
</span><span class="cx">     if ((paintPhase == PaintPhaseBlockBackground || paintPhase == PaintPhaseChildBlockBackground) &amp;&amp; style().visibility() == VISIBLE) {
</span><del>-        if (hasBoxDecorations()) {
-            bool didClipToRegion = false;
-            
-            if (paintInfo.paintContainer &amp;&amp; paintInfo.renderRegion &amp;&amp; paintInfo.paintContainer-&gt;isRenderFlowThread()) {
-                // If this box goes beyond the current region, then make sure not to overflow the region.
-                // This (overflowing region X altough also fragmented to region X+1) could happen when one of this box's children
-                // overflows region X and is an unsplittable element (like an image).
-                // The same applies for a box overflowing the top of region X when that box is also fragmented in region X-1.
-
-                paintInfo.context-&gt;save();
-                didClipToRegion = true;
-
-                paintInfo.context-&gt;clip(toRenderFlowThread(paintInfo.paintContainer)-&gt;decorationsClipRectForBoxInRegion(*this, *paintInfo.renderRegion));
-            }
-
</del><ins>+        if (hasBoxDecorations())
</ins><span class="cx">             paintBoxDecorations(paintInfo, paintOffset);
</span><del>-            
-            if (didClipToRegion)
-                paintInfo.context-&gt;restore();
-        }
</del><span class="cx">         if (hasColumns() &amp;&amp; !paintInfo.paintRootBackgroundOnly())
</span><span class="cx">             paintColumnRules(paintInfo, paintOffset);
</span><span class="cx">     }
</span><span class="lines">@@ -5206,6 +5178,7 @@
</span><span class="cx">     return createAnonymousWithParentRendererAndDisplay(parent, style().display());
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+
</ins><span class="cx"> ColumnInfo::PaginationUnit RenderBlock::paginationUnit() const
</span><span class="cx"> {
</span><span class="cx">     return ColumnInfo::Column;
</span><span class="lines">@@ -5263,7 +5236,7 @@
</span><span class="cx"> void RenderBlock::estimateRegionRangeForBoxChild(const RenderBox&amp; box) const
</span><span class="cx"> {
</span><span class="cx">     RenderFlowThread* flowThread = flowThreadContainingBlock();
</span><del>-    if (!flowThread || !flowThread-&gt;hasRegions() || !box.canHaveOutsideRegionRange())
</del><ins>+    if (!flowThread || !flowThread-&gt;hasRegions())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (box.isUnsplittableForPagination()) {
</span><span class="lines">@@ -5284,7 +5257,7 @@
</span><span class="cx"> bool RenderBlock::updateRegionRangeForBoxChild(const RenderBox&amp; box) const
</span><span class="cx"> {
</span><span class="cx">     RenderFlowThread* flowThread = flowThreadContainingBlock();
</span><del>-    if (!flowThread || !flowThread-&gt;hasRegions() || !box.canHaveOutsideRegionRange())
</del><ins>+    if (!flowThread || !flowThread-&gt;hasRegions())
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     RenderRegion* startRegion = 0;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockFlowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlockFlow.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -1570,19 +1570,12 @@
</span><span class="cx"> 
</span><span class="cx">     // See if we're in the last region.
</span><span class="cx">     LayoutUnit pageOffset = offsetFromLogicalTopOfFirstPage() + logicalOffset;
</span><del>-    RenderRegion* region = flowThread-&gt;regionAtBlockOffset(this, pageOffset, true);
</del><ins>+    RenderRegion* region = flowThread-&gt;regionAtBlockOffset(this, pageOffset, this);
</ins><span class="cx">     if (!region)
</span><span class="cx">         return false;
</span><span class="cx">     if (region-&gt;isLastRegion())
</span><span class="cx">         return region-&gt;isRenderRegionSet() || region-&gt;style().regionFragment() == BreakRegionFragment
</span><span class="cx">             || (pageBoundaryRule == IncludePageBoundary &amp;&amp; pageOffset == region-&gt;logicalTopForFlowThreadContent());
</span><del>-
-    RenderRegion* startRegion = 0;
-    RenderRegion* endRegion = 0;
-    flowThread-&gt;getRegionRangeForBox(this, startRegion, endRegion);
-
-    if (region == endRegion)
-        return false;
</del><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -3098,7 +3091,7 @@
</span><span class="cx">     if (!hasColumns())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;RenderOverflow&gt; savedOverflow = m_overflow.release();
</del><ins>+    OwnPtr&lt;RenderOverflow&gt; savedOverflow = m_overflow.release();
</ins><span class="cx">     if (childrenInline())
</span><span class="cx">         addOverflowFromInlineChildren();
</span><span class="cx">     else
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockLineLayoutcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -3660,13 +3660,9 @@
</span><span class="cx">             floatingObject-&gt;setPaginationStrut(paginationStrut + floatingObject-&gt;paginationStrut());
</span><span class="cx">             RenderBox&amp; floatBox = floatingObject-&gt;renderer();
</span><span class="cx">             setLogicalTopForChild(floatBox, logicalTopForChild(floatBox) + marginBeforeForChild(floatBox) + paginationStrut);
</span><del>-
-            if (updateRegionRangeForBoxChild(floatingObject-&gt;renderer()))
-                floatBox.setNeedsLayout(MarkOnlyThis);
-            else if (floatBox.isRenderBlock())
</del><ins>+            if (floatBox.isRenderBlock())
</ins><span class="cx">                 toRenderBlock(floatBox).setChildNeedsLayout(MarkOnlyThis);
</span><span class="cx">             floatBox.layoutIfNeeded();
</span><del>-
</del><span class="cx">             // Save the old logical top before calling removePlacedObject which will set
</span><span class="cx">             // isPlaced to false. Otherwise it will trigger an assert in logicalTopForFloat.
</span><span class="cx">             LayoutUnit oldLogicalTop = logicalTopForFloat(floatingObject);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBox.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -164,13 +164,18 @@
</span><span class="cx">     RenderRegion* startRegion = 0;
</span><span class="cx">     RenderRegion* endRegion = 0;
</span><span class="cx">     flowThread-&gt;getRegionRangeForBox(this, startRegion, endRegion);
</span><del>-    
</del><ins>+
</ins><span class="cx">     // FIXME: In a perfect world this condition should never happen.
</span><span class="cx">     if (!startRegion || !endRegion)
</span><span class="cx">         return borderBoxRect();
</span><span class="cx"> 
</span><del>-    ASSERT(flowThread-&gt;regionInRange(region, startRegion, endRegion));
</del><ins>+    // FIXME: Once overflow is implemented this assertion needs to be enabled. Right now the overflow content is painted
+    // in regions outside the box range so the assert is disabled.
+    // ASSERT(clampToStartAndEndRegions(region) == region);
</ins><span class="cx"> 
</span><ins>+    // FIXME: Remove once boxes are painted inside their region range.
+    region = clampToStartAndEndRegions(region);
+
</ins><span class="cx">     // Compute the logical width and placement in this region.
</span><span class="cx">     RenderBoxRegionInfo* boxInfo = renderBoxRegionInfo(region, cacheFlag);
</span><span class="cx">     if (!boxInfo)
</span><span class="lines">@@ -2061,14 +2066,6 @@
</span><span class="cx">     if (!o)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (o-&gt;isRenderFlowThread()) {
-        RenderRegion* firstRegion = 0;
-        RenderRegion* lastRegion = 0;
-        toRenderFlowThread(o)-&gt;getRegionRangeForBox(this, firstRegion, lastRegion);
-        if (firstRegion)
-            rect.moveBy(firstRegion-&gt;flowThreadPortionRect().location());
-    }
-
</del><span class="cx">     if (isWritingModeRoot() &amp;&amp; !isOutOfFlowPositioned())
</span><span class="cx">         flipForWritingMode(rect);
</span><span class="cx"> 
</span><span class="lines">@@ -4277,7 +4274,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!m_overflow)
</span><del>-        m_overflow = adoptRef(new RenderOverflow(clientBox, borderBoxRect()));
</del><ins>+        m_overflow = adoptPtr(new RenderOverflow(clientBox, borderBoxRect()));
</ins><span class="cx">     
</span><span class="cx">     m_overflow-&gt;addLayoutOverflow(overflowRect);
</span><span class="cx"> }
</span><span class="lines">@@ -4289,7 +4286,7 @@
</span><span class="cx">         return;
</span><span class="cx">         
</span><span class="cx">     if (!m_overflow)
</span><del>-        m_overflow = adoptRef(new RenderOverflow(clientBoxRect(), borderBox));
</del><ins>+        m_overflow = adoptPtr(new RenderOverflow(clientBoxRect(), borderBox));
</ins><span class="cx">     
</span><span class="cx">     m_overflow-&gt;addVisualOverflow(rect);
</span><span class="cx"> }
</span><span class="lines">@@ -4370,10 +4367,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool RenderBox::isUnsplittableForPagination() const
</span><span class="cx"> {
</span><del>-    return isReplaced() || hasUnsplittableScrollingOverflow() || (parent() &amp;&amp; isWritingModeRoot())
-        // FIXME: Treat multi-column elements as unsplittable for now. Remove once we implement the correct
-        // fragmentation model for multicolumn.
-        || isRenderMultiColumnBlock();
</del><ins>+    return isReplaced() || hasUnsplittableScrollingOverflow() || (parent() &amp;&amp; isWritingModeRoot());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayoutUnit RenderBox::lineHeight(bool /*firstLine*/, LineDirectionMode direction, LinePositionMode /*linePositionMode*/) const
</span><span class="lines">@@ -4480,25 +4474,9 @@
</span><span class="cx">     return rect;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-LayoutRect RenderBox::overflowRectForPaintRejection(RenderRegion* region) const
</del><ins>+LayoutRect RenderBox::overflowRectForPaintRejection() const
</ins><span class="cx"> {
</span><span class="cx">     LayoutRect overflowRect = visualOverflowRect();
</span><del>-    
-    // When using regions, some boxes might have their frame rect relative to the flow thread, which could
-    // cause the paint rejection algorithm to prevent them from painting when using different width regions.
-    // e.g. an absolutely positioned box with bottom:0px and right:0px would have it's frameRect.x relative
-    // to the flow thread, not the last region (in which it will end up because of bottom:0px)
-    if (region) {
-        if (RenderFlowThread* flowThread = region-&gt;flowThread()) {
-            RenderRegion* startRegion = 0;
-            RenderRegion* endRegion = 0;
-            flowThread-&gt;getRegionRangeForBox(this, startRegion, endRegion);
-
-            if (startRegion &amp;&amp; endRegion)
-                overflowRect.unite(region-&gt;visualOverflowRectForBox(this));
-        }
-    }
-    
</del><span class="cx">     if (!m_overflow || !usesCompositedScrolling())
</span><span class="cx">         return overflowRect;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBox.h (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBox.h        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderBox.h        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -189,7 +189,7 @@
</span><span class="cx">     LayoutUnit logicalLeftVisualOverflow() const { return style().isHorizontalWritingMode() ? visualOverflowRect().x() : visualOverflowRect().y(); }
</span><span class="cx">     LayoutUnit logicalRightVisualOverflow() const { return style().isHorizontalWritingMode() ? visualOverflowRect().maxX() : visualOverflowRect().maxY(); }
</span><span class="cx"> 
</span><del>-    LayoutRect overflowRectForPaintRejection(RenderRegion*) const;
</del><ins>+    LayoutRect overflowRectForPaintRejection() const;
</ins><span class="cx">     
</span><span class="cx">     void addLayoutOverflow(const LayoutRect&amp;);
</span><span class="cx">     void addVisualOverflow(const LayoutRect&amp;);
</span><span class="lines">@@ -601,9 +601,6 @@
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    // True if this box can have a range in an outside fragmentation context.
-    bool canHaveOutsideRegionRange() const { return !isInFlowRenderFlowThread(); }
-
</del><span class="cx"> protected:
</span><span class="cx">     RenderBox(Element&amp;, PassRef&lt;RenderStyle&gt;, unsigned baseTypeFlags);
</span><span class="cx">     RenderBox(Document&amp;, PassRef&lt;RenderStyle&gt;, unsigned baseTypeFlags);
</span><span class="lines">@@ -709,7 +706,7 @@
</span><span class="cx">     InlineElementBox* m_inlineBoxWrapper;
</span><span class="cx"> 
</span><span class="cx">     // Our overflow information.
</span><del>-    RefPtr&lt;RenderOverflow&gt; m_overflow;
</del><ins>+    OwnPtr&lt;RenderOverflow&gt; m_overflow;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     // Used to store state between styleWillChange and styleDidChange
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxModelObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -37,7 +37,6 @@
</span><span class="cx"> #include &quot;RenderBlock.h&quot;
</span><span class="cx"> #include &quot;RenderInline.h&quot;
</span><span class="cx"> #include &quot;RenderLayer.h&quot;
</span><del>-#include &quot;RenderNamedFlowFragment.h&quot;
</del><span class="cx"> #include &quot;RenderNamedFlowThread.h&quot;
</span><span class="cx"> #include &quot;RenderRegion.h&quot;
</span><span class="cx"> #include &quot;RenderTable.h&quot;
</span><span class="lines">@@ -572,28 +571,6 @@
</span><span class="cx">         context-&gt;setLegacyShadow(shadowOffset, boxShadow-&gt;radius(), boxShadow-&gt;color(), style-&gt;colorSpace());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderBoxModelObject::paintMaskForTextFillBox(ImageBuffer* maskImage, const IntRect&amp; maskRect, InlineFlowBox* box, const LayoutRect&amp; scrolledPaintRect, RenderRegion* region)
-{
-    GraphicsContext* maskImageContext = maskImage-&gt;context();
-    maskImageContext-&gt;translate(-maskRect.x(), -maskRect.y());
-
-    // Now add the text to the clip. We do this by painting using a special paint phase that signals to
-    // InlineTextBoxes that they should just add their contents to the clip.
-    PaintInfo info(maskImageContext, maskRect, PaintPhaseTextClip, PaintBehaviorForceBlackText, 0, region);
-    if (box) {
-        const RootInlineBox&amp; rootBox = box-&gt;root();
-        box-&gt;paint(info, LayoutPoint(scrolledPaintRect.x() - box-&gt;x(), scrolledPaintRect.y() - box-&gt;y()), rootBox.lineTop(), rootBox.lineBottom());
-    } else if (isRenderNamedFlowFragmentContainer()) {
-        RenderNamedFlowFragment* region = toRenderBlockFlow(this)-&gt;renderNamedFlowFragment();
-        if (!region-&gt;flowThread())
-            return;
-        region-&gt;flowThread()-&gt;layer()-&gt;paintNamedFlowThreadInsideRegion(maskImageContext, region, maskRect, maskRect.location(), PaintBehaviorForceBlackText, RenderLayer::PaintLayerTemporaryClipRects);
-    } else {
-        LayoutSize localOffset = isBox() ? toRenderBox(this)-&gt;locationOffset() : LayoutSize();
-        paint(info, scrolledPaintRect.location() - localOffset);
-    }
-}
-
</del><span class="cx"> void RenderBoxModelObject::paintFillLayerExtended(const PaintInfo&amp; paintInfo, const Color&amp; color, const FillLayer* bgLayer, const LayoutRect&amp; rect,
</span><span class="cx">     BackgroundBleedAvoidance bleedAvoidance, InlineFlowBox* box, const LayoutSize&amp; boxSize, CompositeOperator op, RenderElement* backgroundObject)
</span><span class="cx"> {
</span><span class="lines">@@ -726,8 +703,21 @@
</span><span class="cx">         maskImage = context-&gt;createCompatibleBuffer(maskRect.size());
</span><span class="cx">         if (!maskImage)
</span><span class="cx">             return;
</span><del>-        paintMaskForTextFillBox(maskImage.get(), maskRect, box, scrolledPaintRect, paintInfo.renderRegion);
</del><span class="cx"> 
</span><ins>+        GraphicsContext* maskImageContext = maskImage-&gt;context();
+        maskImageContext-&gt;translate(-maskRect.x(), -maskRect.y());
+
+        // Now add the text to the clip.  We do this by painting using a special paint phase that signals to
+        // InlineTextBoxes that they should just add their contents to the clip.
+        PaintInfo info(maskImageContext, maskRect, PaintPhaseTextClip, PaintBehaviorForceBlackText, 0, paintInfo.renderRegion);
+        if (box) {
+            const RootInlineBox&amp; rootBox = box-&gt;root();
+            box-&gt;paint(info, LayoutPoint(scrolledPaintRect.x() - box-&gt;x(), scrolledPaintRect.y() - box-&gt;y()), rootBox.lineTop(), rootBox.lineBottom());
+        } else {
+            LayoutSize localOffset = isBox() ? toRenderBox(this)-&gt;locationOffset() : LayoutSize();
+            paint(info, scrolledPaintRect.location() - localOffset);
+        }
+
</ins><span class="cx">         // The mask has been created.  Now we just need to clip to it.
</span><span class="cx">         backgroundClipStateSaver.save();
</span><span class="cx">         context-&gt;clip(maskRect);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxModelObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.h (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBoxModelObject.h        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.h        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -51,9 +51,8 @@
</span><span class="cx">     FullScreenChanged
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class ImageBuffer;
-class InlineFlowBox;
</del><span class="cx"> class KeyframeList;
</span><ins>+class InlineFlowBox;
</ins><span class="cx"> class RenderTextFragment;
</span><span class="cx"> class StickyPositionViewportConstraints;
</span><span class="cx"> 
</span><span class="lines">@@ -181,6 +180,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool canHaveBoxInfoInRegion() const { return !isFloating() &amp;&amp; !isReplaced() &amp;&amp; !isInline() &amp;&amp; !hasColumns() &amp;&amp; !isTableCell() &amp;&amp; isRenderBlock() &amp;&amp; !isRenderSVGBlock(); }
</span><span class="cx"> 
</span><ins>+
</ins><span class="cx">     void getGeometryForBackgroundImage(const RenderLayerModelObject* paintContainer, IntRect&amp; destRect, IntPoint&amp; phase, IntSize&amp; tileSize) const;
</span><span class="cx"> #if USE(ACCELERATED_COMPOSITING)
</span><span class="cx">     void contentChanged(ContentChangeType);
</span><span class="lines">@@ -342,7 +342,6 @@
</span><span class="cx">     void drawBoxSideFromPath(GraphicsContext*, const LayoutRect&amp;, const Path&amp;, const class BorderEdge[],
</span><span class="cx">                             float thickness, float drawThickness, BoxSide, const RenderStyle*, 
</span><span class="cx">                             Color, EBorderStyle, BackgroundBleedAvoidance, bool includeLogicalLeftEdge, bool includeLogicalRightEdge);
</span><del>-    void paintMaskForTextFillBox(ImageBuffer*, const IntRect&amp;, InlineFlowBox*, const LayoutRect&amp;, RenderRegion*);
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> RENDER_OBJECT_TYPE_CASTS(RenderBoxModelObject, isBoxModelObject())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxRegionInfoh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBoxRegionInfo.h (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBoxRegionInfo.h        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderBoxRegionInfo.h        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool isShifted() const { return m_isShifted; }
</span><span class="cx"> 
</span><del>-    void createOverflow(const LayoutRect&amp; layoutOverflow, const LayoutRect&amp; visualOverflow) { m_overflow = adoptRef(new RenderOverflow(layoutOverflow, visualOverflow)); }
</del><ins>+    void createOverflow(const LayoutRect&amp; layoutOverflow, const LayoutRect&amp; visualOverflow) { m_overflow = adoptPtr(new RenderOverflow(layoutOverflow, visualOverflow)); }
</ins><span class="cx">     RenderOverflow* overflow() const { return m_overflow.get(); }
</span><span class="cx">     void clearOverflow()
</span><span class="cx">     {
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">     LayoutUnit m_logicalLeft;
</span><span class="cx">     LayoutUnit m_logicalWidth;
</span><span class="cx">     bool m_isShifted;
</span><del>-    RefPtr&lt;RenderOverflow&gt; m_overflow;
</del><ins>+    OwnPtr&lt;RenderOverflow&gt; m_overflow;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderFlowThreadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderFlowThread.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderFlowThread.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderFlowThread.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -408,6 +408,58 @@
</span><span class="cx">     return regionClippingRect;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void RenderFlowThread::paintFlowThreadPortionInRegion(PaintInfo&amp; paintInfo, RenderRegion* region, const LayoutRect&amp; flowThreadPortionRect, const LayoutRect&amp; flowThreadPortionOverflowRect, const LayoutPoint&amp; paintOffset) const
+{
+    GraphicsContext* context = paintInfo.context;
+    if (!context)
+        return;
+
+    // RenderFlowThread should start painting its content in a position that is offset
+    // from the region rect's current position. The amount of offset is equal to the location of
+    // the flow thread portion in the flow thread's local coordinates.
+    // Note that we have to pixel snap the location at which we're going to paint, since this is necessary
+    // to minimize the amount of incorrect snapping that would otherwise occur.
+    // If we tried to paint by applying a non-integral translation, then all the
+    // layout code that attempted to pixel snap would be incorrect.
+    IntPoint adjustedPaintOffset;
+    LayoutPoint portionLocation;
+    if (style().isFlippedBlocksWritingMode()) {
+        LayoutRect flippedFlowThreadPortionRect(flowThreadPortionRect);
+        flipForWritingMode(flippedFlowThreadPortionRect);
+        portionLocation = flippedFlowThreadPortionRect.location();
+    } else
+        portionLocation = flowThreadPortionRect.location();
+    adjustedPaintOffset = roundedIntPoint(paintOffset - portionLocation);
+
+    // The clipping rect for the region is set up by assuming the flowThreadPortionRect is going to paint offset from adjustedPaintOffset.
+    // Remember that we pixel snapped and moved the paintOffset and stored the snapped result in adjustedPaintOffset. Now we add back in
+    // the flowThreadPortionRect's location to get the spot where we expect the portion to actually paint. This can be non-integral and
+    // that's ok. We then pixel snap the resulting clipping rect to account for snapping that will occur when the flow thread paints.
+    IntRect regionClippingRect = pixelSnappedIntRect(computeRegionClippingRect(adjustedPaintOffset + portionLocation, flowThreadPortionRect, flowThreadPortionOverflowRect));
+
+    PaintInfo info(paintInfo);
+    info.rect.intersect(regionClippingRect);
+
+    if (!info.rect.isEmpty()) {
+        context-&gt;save();
+
+        context-&gt;clip(regionClippingRect);
+
+        context-&gt;translate(adjustedPaintOffset.x(), adjustedPaintOffset.y());
+        info.rect.moveBy(-adjustedPaintOffset);
+        
+        PaintBehavior paintBehavior = 0;
+        if (info.phase == PaintPhaseTextClip)
+            paintBehavior |= PaintBehaviorForceBlackText;
+        else if (info.phase == PaintPhaseSelection)
+            paintBehavior |= PaintBehaviorSelectionOnly;
+
+        layer()-&gt;paint(context, info.rect, paintBehavior, 0, region, RenderLayer::PaintLayerTemporaryClipRects);
+
+        context-&gt;restore();
+    }
+}
+
</ins><span class="cx"> bool RenderFlowThread::nodeAtPoint(const HitTestRequest&amp; request, HitTestResult&amp; result, const HitTestLocation&amp; locationInContainer, const LayoutPoint&amp; accumulatedOffset, HitTestAction hitTestAction)
</span><span class="cx"> {
</span><span class="cx">     if (hitTestAction == HitTestBlockBackground)
</span><span class="lines">@@ -415,6 +467,34 @@
</span><span class="cx">     return RenderBlockFlow::nodeAtPoint(request, result, locationInContainer, accumulatedOffset, hitTestAction);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+bool RenderFlowThread::hitTestFlowThreadPortionInRegion(RenderRegion* region, const LayoutRect&amp; flowThreadPortionRect, const LayoutRect&amp; flowThreadPortionOverflowRect, const HitTestRequest&amp; request, HitTestResult&amp; result, const HitTestLocation&amp; locationInContainer, const LayoutPoint&amp; accumulatedOffset) const
+{
+    LayoutRect regionClippingRect = computeRegionClippingRect(accumulatedOffset, flowThreadPortionRect, flowThreadPortionOverflowRect);
+    if (!regionClippingRect.contains(locationInContainer.point()))
+        return false;
+
+    LayoutSize renderFlowThreadOffset;
+    if (style().isFlippedBlocksWritingMode()) {
+        LayoutRect flippedFlowThreadPortionRect(flowThreadPortionRect);
+        flipForWritingMode(flippedFlowThreadPortionRect);
+        renderFlowThreadOffset = accumulatedOffset - flippedFlowThreadPortionRect.location();
+    } else
+        renderFlowThreadOffset = accumulatedOffset - flowThreadPortionRect.location();
+
+    // Always ignore clipping, since the RenderFlowThread has nothing to do with the bounds of the FrameView.
+    HitTestRequest newRequest(request.type() | HitTestRequest::IgnoreClipping | HitTestRequest::DisallowShadowContent);
+
+    // Make a new temporary HitTestLocation in the new region.
+    HitTestLocation newHitTestLocation(locationInContainer, -renderFlowThreadOffset, region);
+
+    bool isPointInsideFlowThread = layer()-&gt;hitTest(newRequest, newHitTestLocation, result);
+
+    // FIXME: Should we set result.m_localPoint back to the RenderRegion's coordinate space or leave it in the RenderFlowThread's coordinate
+    // space? Right now it's staying in the RenderFlowThread's coordinate space, which may end up being ok. We will know more when we get around to
+    // patching positionForPoint.
+    return isPointInsideFlowThread;
+}
+
</ins><span class="cx"> bool RenderFlowThread::shouldRepaint(const LayoutRect&amp; r) const
</span><span class="cx"> {
</span><span class="cx">     if (view().printing() || r.isEmpty())
</span><span class="lines">@@ -845,30 +925,6 @@
</span><span class="cx">     }
</span><span class="cx">     m_hasRegionsWithStyling = hasRegionsWithStyling;
</span><span class="cx"> }
</span><del>-    
-bool RenderFlowThread::objectShouldPaintInFlowRegion(const RenderObject* object, const RenderRegion* region) const
-{
-    ASSERT(object);
-    ASSERT(region);
-    
-    RenderFlowThread* flowThread = object-&gt;flowThreadContainingBlock();
-    if (flowThread != this)
-        return false;
-    if (!m_regionList.contains(const_cast&lt;RenderRegion*&gt;(region)))
-        return false;
-    
-    RenderBox* enclosingBox = object-&gt;enclosingBox();
-    RenderRegion* enclosingBoxStartRegion = 0;
-    RenderRegion* enclosingBoxEndRegion = 0;
-    getRegionRangeForBox(enclosingBox, enclosingBoxStartRegion, enclosingBoxEndRegion);
-    
-    // If the box has no range, do not check regionInRange. Boxes inside inlines do not get ranges.
-    // Instead, the containing RootInlineBox will abort when trying to paint inside the wrong region.
-    if (enclosingBoxStartRegion &amp;&amp; enclosingBoxEndRegion &amp;&amp; !regionInRange(region, enclosingBoxStartRegion, enclosingBoxEndRegion))
-        return false;
-    
-    return object-&gt;isBox();
-}
</del><span class="cx"> 
</span><span class="cx"> bool RenderFlowThread::objectInFlowRegion(const RenderObject* object, const RenderRegion* region) const
</span><span class="cx"> {
</span><span class="lines">@@ -1256,9 +1312,15 @@
</span><span class="cx">             return LayoutRect();
</span><span class="cx">         LayoutPoint currentBoxLocation = box-&gt;location();
</span><span class="cx"> 
</span><del>-        if (containerBlock-&gt;style().writingMode() != box-&gt;style().writingMode())
</del><ins>+        if (containerBlock-&gt;style().writingMode() != box-&gt;style().writingMode()) {
+            if (containerBlock-&gt;style().isFlippedBlocksWritingMode()) {
+                if (containerBlock-&gt;isHorizontalWritingMode())
+                    boxRect.setY(box-&gt;height() - boxRect.maxY());
+                else
+                    boxRect.setX(box-&gt;width() - boxRect.maxX());
+            }
</ins><span class="cx">             box-&gt;flipForWritingMode(boxRect);
</span><del>-
</del><ins>+        }
</ins><span class="cx">         boxRect.moveBy(currentBoxLocation);
</span><span class="cx">         box = containerBlock;
</span><span class="cx">     }
</span><span class="lines">@@ -1282,63 +1344,17 @@
</span><span class="cx">     LayoutPoint currentBoxLocation = box-&gt;location();
</span><span class="cx">     localRect.moveBy(-currentBoxLocation);
</span><span class="cx"> 
</span><del>-    if (containerBlock-&gt;style().writingMode() != box-&gt;style().writingMode())
-        box-&gt;flipForWritingMode(localRect);
-
-    return localRect;
-}
-
-LayoutRect RenderFlowThread::decorationsClipRectForBoxInRegion(const RenderBox&amp; box, RenderRegion&amp; region) const
-{
-    LayoutRect visualOverflowRect = region.visualOverflowRectForBox(&amp;box);
-    
-    // The visual overflow rect returned by visualOverflowRectForBox is already flipped but the
-    // RenderRegion::rectFlowPortionForBox method expects it unflipped.
-    flipForWritingModeLocalCoordinates(visualOverflowRect);
-    visualOverflowRect = region.rectFlowPortionForBox(&amp;box, visualOverflowRect);
-    
-    // Now flip it again.
-    flipForWritingModeLocalCoordinates(visualOverflowRect);
-    
-    // Layers are in physical coordinates so the origin must be moved to the physical top-left of the flowthread.
-    if (style().isFlippedBlocksWritingMode()) {
-        if (style().isHorizontalWritingMode())
-            visualOverflowRect.moveBy(LayoutPoint(0, height()));
-        else
-            visualOverflowRect.moveBy(LayoutPoint(width(), 0));
-    }
-    
-    const RenderBox* iterBox = &amp;box;
-    while (iterBox &amp;&amp; iterBox != this) {
-        RenderBlock* containerBlock = iterBox-&gt;containingBlock();
-        
-        LayoutRect currentBoxRect = iterBox-&gt;frameRect();
-        if (iterBox-&gt;style().isFlippedBlocksWritingMode()) {
-            if (iterBox-&gt;style().isHorizontalWritingMode())
-                currentBoxRect.setY(currentBoxRect.height() - currentBoxRect.maxY());
</del><ins>+    if (containerBlock-&gt;style().writingMode() != box-&gt;style().writingMode()) {
+        if (containerBlock-&gt;style().isFlippedBlocksWritingMode()) {
+            if (containerBlock-&gt;isHorizontalWritingMode())
+                localRect.setY(box-&gt;height() - localRect.maxY());
</ins><span class="cx">             else
</span><del>-                currentBoxRect.setX(currentBoxRect.width() - currentBoxRect.maxX());
</del><ins>+                localRect.setX(box-&gt;width() - localRect.maxX());
</ins><span class="cx">         }
</span><del>-        
-        if (containerBlock-&gt;style().writingMode() != iterBox-&gt;style().writingMode())
-            iterBox-&gt;flipForWritingMode(currentBoxRect);
-        
-        visualOverflowRect.moveBy(currentBoxRect.location());
-        iterBox = containerBlock;
</del><ins>+        box-&gt;flipForWritingMode(localRect);
</ins><span class="cx">     }
</span><del>-    
-    return visualOverflowRect;
-}
</del><span class="cx"> 
</span><del>-void RenderFlowThread::flipForWritingModeLocalCoordinates(LayoutRect&amp; rect) const
-{
-    if (!style().isFlippedBlocksWritingMode())
-        return;
-    
-    if (isHorizontalWritingMode())
-        rect.setY(0 - rect.maxY());
-    else
-        rect.setX(0 - rect.maxX());
</del><ins>+    return localRect;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderFlowThread::addRegionsVisualEffectOverflow(const RenderBox* box)
</span><span class="lines">@@ -1393,21 +1409,15 @@
</span><span class="cx"> 
</span><span class="cx">     for (auto iter = m_regionList.find(startRegion), end = m_regionList.end(); iter != end; ++iter) {
</span><span class="cx">         RenderRegion* region = *iter;
</span><del>-        if (!regionInRange(region, containerStartRegion, containerEndRegion)) {
-            if (region == endRegion)
-                break;
</del><ins>+        if (!regionInRange(region, containerStartRegion, containerEndRegion))
</ins><span class="cx">             continue;
</span><del>-        }
</del><span class="cx"> 
</span><span class="cx">         LayoutRect childLayoutOverflowRect = region-&gt;layoutOverflowRectForBoxForPropagation(child);
</span><span class="cx">         childLayoutOverflowRect.move(delta);
</span><span class="cx">         region-&gt;addLayoutOverflowForBox(box, childLayoutOverflowRect);
</span><span class="cx"> 
</span><del>-        if (child-&gt;hasSelfPaintingLayer() || box-&gt;hasOverflowClip()) {
-            if (region == endRegion)
-                break;
</del><ins>+        if (child-&gt;hasSelfPaintingLayer() || box-&gt;hasOverflowClip())
</ins><span class="cx">             continue;
</span><del>-        }
</del><span class="cx">         LayoutRect childVisualOverflowRect = region-&gt;visualOverflowRectForBoxForPropagation(child);
</span><span class="cx">         childVisualOverflowRect.move(delta);
</span><span class="cx">         region-&gt;addVisualOverflowForBox(box, childVisualOverflowRect);
</span><span class="lines">@@ -1416,7 +1426,7 @@
</span><span class="cx">             break;
</span><span class="cx">     }
</span><span class="cx"> }
</span><del>-    
</del><ins>+
</ins><span class="cx"> void RenderFlowThread::addRegionsLayoutOverflow(const RenderBox* box, const LayoutRect&amp; layoutOverflow)
</span><span class="cx"> {
</span><span class="cx">     RenderRegion* startRegion = 0;
</span><span class="lines">@@ -1434,23 +1444,6 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderFlowThread::addRegionsVisualOverflow(const RenderBox* box, const LayoutRect&amp; visualOverflow)
-{
-    RenderRegion* startRegion = 0;
-    RenderRegion* endRegion = 0;
-    getRegionRangeForBox(box, startRegion, endRegion);
-    
-    for (RenderRegionList::iterator iter = m_regionList.find(startRegion); iter != m_regionList.end(); ++iter) {
-        RenderRegion* region = *iter;
-        LayoutRect visualOverflowInRegion = region-&gt;rectFlowPortionForBox(box, visualOverflow);
-        
-        region-&gt;addVisualOverflowForBox(box, visualOverflowInRegion);
-        
-        if (region == endRegion)
-            break;
-    }
-}
-
</del><span class="cx"> void RenderFlowThread::clearRegionsOverflow(const RenderBox* box)
</span><span class="cx"> {
</span><span class="cx">     RenderRegion* startRegion = 0;
</span><span class="lines">@@ -1476,8 +1469,7 @@
</span><span class="cx">         return;
</span><span class="cx">     FlowThreadController&amp; controller = m_renderFlowThread-&gt;view().flowThreadController();
</span><span class="cx">     m_previousRenderFlowThread = controller.currentRenderFlowThread();
</span><del>-    // Remove the assert so we can use this to change the flow thread context.
-    // ASSERT(!m_previousRenderFlowThread || !renderFlowThread-&gt;isRenderNamedFlowThread());
</del><ins>+    ASSERT(!m_previousRenderFlowThread || !renderFlowThread-&gt;isRenderNamedFlowThread());
</ins><span class="cx">     controller.setCurrentRenderFlowThread(m_renderFlowThread);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderFlowThreadh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderFlowThread.h (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderFlowThread.h        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderFlowThread.h        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -83,6 +83,8 @@
</span><span class="cx">     virtual void updateLogicalWidth() OVERRIDE FINAL;
</span><span class="cx">     virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&amp;) const OVERRIDE;
</span><span class="cx"> 
</span><ins>+    void paintFlowThreadPortionInRegion(PaintInfo&amp;, RenderRegion*, const LayoutRect&amp; flowThreadPortionRect, const LayoutRect&amp; flowThreadPortionOverflowRect, const LayoutPoint&amp;) const;
+    bool hitTestFlowThreadPortionInRegion(RenderRegion*, const LayoutRect&amp; flowThreadPortionRect, const LayoutRect&amp; flowThreadPortionOverflowRect, const HitTestRequest&amp;, HitTestResult&amp;, const HitTestLocation&amp; locationInContainer, const LayoutPoint&amp; accumulatedOffset) const;
</ins><span class="cx">     virtual bool nodeAtPoint(const HitTestRequest&amp;, HitTestResult&amp;, const HitTestLocation&amp; locationInContainer, const LayoutPoint&amp; accumulatedOffset, HitTestAction) OVERRIDE;
</span><span class="cx"> 
</span><span class="cx">     bool hasRegions() const { return m_regionList.size(); }
</span><span class="lines">@@ -143,9 +145,6 @@
</span><span class="cx"> 
</span><span class="cx">     // Check if the object is in region and the region is part of this flow thread.
</span><span class="cx">     bool objectInFlowRegion(const RenderObject*, const RenderRegion*) const;
</span><del>-    
-    // Check if the object should be painted in this region and if the region is part of this flow thread.
-    bool objectShouldPaintInFlowRegion(const RenderObject*, const RenderRegion*) const;
</del><span class="cx"> 
</span><span class="cx">     void markAutoLogicalHeightRegionsForLayout();
</span><span class="cx">     void markRegionsForOverflowLayoutIfNeeded();
</span><span class="lines">@@ -206,24 +205,17 @@
</span><span class="cx">     LayoutUnit offsetFromLogicalTopOfFirstRegion(const RenderBlock*) const;
</span><span class="cx">     void clearRenderBoxRegionInfoAndCustomStyle(const RenderBox*, const RenderRegion*, const RenderRegion*, const RenderRegion*, const RenderRegion*);
</span><span class="cx"> 
</span><ins>+    LayoutRect mapFromFlowThreadToLocal(const RenderBox*, const LayoutRect&amp;) const;
+    LayoutRect mapFromLocalToFlowThread(const RenderBox*, const LayoutRect&amp;) const;
+
</ins><span class="cx">     void addRegionsVisualEffectOverflow(const RenderBox*);
</span><span class="cx">     void addRegionsVisualOverflowFromTheme(const RenderBlock*);
</span><span class="cx">     void addRegionsOverflowFromChild(const RenderBox*, const RenderBox*, const LayoutSize&amp;);
</span><span class="cx">     void addRegionsLayoutOverflow(const RenderBox*, const LayoutRect&amp;);
</span><del>-    void addRegionsVisualOverflow(const RenderBox*, const LayoutRect&amp;);
</del><span class="cx">     void clearRegionsOverflow(const RenderBox*);
</span><span class="cx"> 
</span><del>-    LayoutRect mapFromFlowThreadToLocal(const RenderBox*, const LayoutRect&amp;) const;
-    LayoutRect mapFromLocalToFlowThread(const RenderBox*, const LayoutRect&amp;) const;
-    
-    LayoutRect decorationsClipRectForBoxInRegion(const RenderBox&amp;, RenderRegion&amp;) const;
-    
-    void flipForWritingModeLocalCoordinates(LayoutRect&amp;) const;
-
</del><span class="cx">     // Used to estimate the maximum height of the flow thread.
</span><span class="cx">     static LayoutUnit maxLogicalHeight() { return LayoutUnit::max() / 2; }
</span><del>-    
-    bool regionInRange(const RenderRegion* targetRegion, const RenderRegion* startRegion, const RenderRegion* endRegion) const;
</del><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     virtual const char* renderName() const = 0;
</span><span class="lines">@@ -236,6 +228,7 @@
</span><span class="cx"> 
</span><span class="cx">     void updateRegionsFlowThreadPortionRect(const RenderRegion* = 0);
</span><span class="cx">     bool shouldRepaint(const LayoutRect&amp;) const;
</span><ins>+    bool regionInRange(const RenderRegion* targetRegion, const RenderRegion* startRegion, const RenderRegion* endRegion) const;
</ins><span class="cx"> 
</span><span class="cx">     LayoutRect computeRegionClippingRect(const LayoutPoint&amp;, const LayoutRect&amp;, const LayoutRect&amp;) const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -82,7 +82,6 @@
</span><span class="cx"> #include &quot;RenderGeometryMap.h&quot;
</span><span class="cx"> #include &quot;RenderInline.h&quot;
</span><span class="cx"> #include &quot;RenderMarquee.h&quot;
</span><del>-#include &quot;RenderNamedFlowFragment.h&quot;
</del><span class="cx"> #include &quot;RenderNamedFlowThread.h&quot;
</span><span class="cx"> #include &quot;RenderRegion.h&quot;
</span><span class="cx"> #include &quot;RenderReplica.h&quot;
</span><span class="lines">@@ -443,25 +442,12 @@
</span><span class="cx">         // as the value not using the cached offset, but we can't due to https://bugs.webkit.org/show_bug.cgi?id=37048
</span><span class="cx">         if (flags &amp; CheckForRepaint) {
</span><span class="cx">             if (!renderer().view().printing()) {
</span><del>-                bool didRepaint = false;
</del><span class="cx">                 if (m_repaintStatus &amp; NeedsFullRepaint) {
</span><span class="cx">                     renderer().repaintUsingContainer(repaintContainer, pixelSnappedIntRect(oldRepaintRect));
</span><del>-                    if (m_repaintRect != oldRepaintRect) {
</del><ins>+                    if (m_repaintRect != oldRepaintRect)
</ins><span class="cx">                         renderer().repaintUsingContainer(repaintContainer, pixelSnappedIntRect(m_repaintRect));
</span><del>-                        didRepaint = true;
-                    }
-                } else if (shouldRepaintAfterLayout()) {
</del><ins>+                } else if (shouldRepaintAfterLayout())
</ins><span class="cx">                     renderer().repaintAfterLayoutIfNeeded(repaintContainer, oldRepaintRect, oldOutlineBox, &amp;m_repaintRect, &amp;m_outlineBox);
</span><del>-                    didRepaint = true;
-                }
-
-                if (didRepaint &amp;&amp; renderer().isRenderNamedFlowFragmentContainer()) {
-                    // If we just repainted a region, we must also repaint the flow thread since it is the one
-                    // doing the actual painting of the flowed content.
-                    RenderNamedFlowFragment* region = toRenderBlockFlow(&amp;renderer())-&gt;renderNamedFlowFragment();
-                    if (region-&gt;flowThread())
-                        region-&gt;flowThread()-&gt;layer()-&gt;repaintIncludingDescendants();
-                }
</del><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">     } else
</span><span class="lines">@@ -1638,28 +1624,6 @@
</span><span class="cx"> 
</span><span class="cx"> static LayoutRect transparencyClipBox(const RenderLayer*, const RenderLayer* rootLayer, TransparencyClipBoxBehavior, TransparencyClipBoxMode, PaintBehavior = 0);
</span><span class="cx"> 
</span><del>-static void expandClipRectForRegionAndReflection(LayoutRect&amp; clipRect, const RenderLayer* layer, const RenderLayer* rootLayer,
-    TransparencyClipBoxBehavior transparencyBehavior, PaintBehavior paintBehavior)
-{
-    // If this is a region, then the painting is actually done by its flow thread's layer.
-    if (layer-&gt;renderer().isRenderNamedFlowFragmentContainer()) {
-        RenderBlockFlow* regionContainer = toRenderBlockFlow(&amp;layer-&gt;renderer());
-        RenderNamedFlowFragment* region = regionContainer-&gt;renderNamedFlowFragment();
-        RenderLayer* flowThreadLayer = region-&gt;flowThread()-&gt;layer();
-        if (!layer-&gt;reflection() || layer-&gt;reflectionLayer() != flowThreadLayer) {
-            LayoutRect flowThreadClipRect = transparencyClipBox(flowThreadLayer, rootLayer, transparencyBehavior, DescendantsOfTransparencyClipBox, paintBehavior);
-            
-            LayoutPoint offsetFromRoot;
-            layer-&gt;convertToLayerCoords(flowThreadLayer, offsetFromRoot);
-
-            LayoutSize moveOffset = (offsetFromRoot + regionContainer-&gt;contentBoxRect().location()) - region-&gt;flowThreadPortionRect().location();
-            flowThreadClipRect.move(moveOffset);
-            
-            clipRect.unite(flowThreadClipRect);
-        }
-    }
-}
-
</del><span class="cx"> static void expandClipRectForDescendantsAndReflection(LayoutRect&amp; clipRect, const RenderLayer* layer, const RenderLayer* rootLayer,
</span><span class="cx">     TransparencyClipBoxBehavior transparencyBehavior, PaintBehavior paintBehavior)
</span><span class="cx"> {
</span><span class="lines">@@ -1674,8 +1638,6 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    expandClipRectForRegionAndReflection(clipRect, layer, rootLayer, transparencyBehavior, paintBehavior);
-
</del><span class="cx">     // If we have a reflection, then we need to account for that when we push the clip.  Reflect our entire
</span><span class="cx">     // current transparencyClipBox to catch all child layers.
</span><span class="cx">     // FIXME: Accelerated compositing will eventually want to do something smart here to avoid incorporating this
</span><span class="lines">@@ -3642,24 +3604,6 @@
</span><span class="cx">     if (!renderer().opacity())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    // Don't paint the layer if the renderer doesn't belong to this region.
-    // This is true as long as we clamp the range of a box to its containing block range.
-
-    // FIXME: Hack to disable region information for in flow threads. Implement this logic in a different way.
-    LayerPaintingInfo&amp; info = const_cast&lt;LayerPaintingInfo&amp;&gt;(paintingInfo);
-    RenderRegion* region = info.region;
-    if (region) {
-        if (enclosingPaginationLayer())
-            info.region = 0;
-        else {
-            RenderFlowThread* flowThread = region-&gt;flowThread();
-            ASSERT(flowThread);
-
-            if (!flowThread-&gt;objectShouldPaintInFlowRegion(&amp;renderer(), region))
-                return;
-        }
-    }
-
</del><span class="cx">     if (paintsWithTransparency(paintingInfo.paintBehavior))
</span><span class="cx">         paintFlags |= PaintLayerHaveTransparency;
</span><span class="cx"> 
</span><span class="lines">@@ -3667,10 +3611,8 @@
</span><span class="cx">     if (paintsWithTransform(paintingInfo.paintBehavior) &amp;&amp; !(paintFlags &amp; PaintLayerAppliedTransform)) {
</span><span class="cx">         TransformationMatrix layerTransform = renderableTransform(paintingInfo.paintBehavior);
</span><span class="cx">         // If the transform can't be inverted, then don't paint anything.
</span><del>-        if (!layerTransform.isInvertible()) {
-            info.region = region;
</del><ins>+        if (!layerTransform.isInvertible())
</ins><span class="cx">             return;
</span><del>-        }
</del><span class="cx"> 
</span><span class="cx">         // If we have a transparency layer enclosing us and we are the root of a transform, then we need to establish the transparency
</span><span class="cx">         // layer from the parent now, assuming there is a parent
</span><span class="lines">@@ -3683,7 +3625,6 @@
</span><span class="cx"> 
</span><span class="cx">         if (enclosingPaginationLayer()) {
</span><span class="cx">             paintTransformedLayerIntoFragments(context, paintingInfo, paintFlags);
</span><del>-            info.region = region;
</del><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -3705,12 +3646,10 @@
</span><span class="cx">         if (parent())
</span><span class="cx">             parent()-&gt;restoreClip(context, paintingInfo.paintDirtyRect, clipRect);
</span><span class="cx"> 
</span><del>-        info.region = region;
</del><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     paintLayerContentsAndReflection(context, paintingInfo, paintFlags);
</span><del>-    info.region = region;
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderLayer::paintLayerContentsAndReflection(GraphicsContext* context, const LayerPaintingInfo&amp; paintingInfo, PaintLayerFlags paintFlags)
</span><span class="lines">@@ -3974,11 +3913,11 @@
</span><span class="cx">         paintBehavior |= PaintBehaviorRootBackgroundOnly;
</span><span class="cx"> 
</span><span class="cx">     LayerFragments layerFragments;
</span><del>-    LayoutRect paintDirtyRect = localPaintingInfo.paintDirtyRect;
</del><span class="cx">     if (shouldPaintContent || shouldPaintOutline || isPaintingOverlayScrollbars) {
</span><span class="cx">         // Collect the fragments. This will compute the clip rectangles and paint offsets for each layer fragment, as well as whether or not the content of each
</span><span class="cx">         // fragment should paint. If the parent's filter dictates full repaint to ensure proper filter effect,
</span><span class="cx">         // use the overflow clip as dirty rect, instead of no clipping. It maintains proper clipping for overflow::scroll.
</span><ins>+        LayoutRect paintDirtyRect = localPaintingInfo.paintDirtyRect;
</ins><span class="cx">         if (!paintingInfo.clipToDirtyRect &amp;&amp; renderer().hasOverflowClip()) {
</span><span class="cx">             // We can turn clipping back by requesting full repaint for the overflow area.
</span><span class="cx">             localPaintingInfo.clipToDirtyRect = true;
</span><span class="lines">@@ -4017,11 +3956,8 @@
</span><span class="cx">         // Now walk the sorted list of children with positive z-indices.
</span><span class="cx">         paintList(posZOrderList(), context, localPaintingInfo, localPaintFlags);
</span><span class="cx"> 
</span><del>-        // Paint the fixed elements from flow threads.
</del><ins>+        // Paint the fixed elements from flow threads
</ins><span class="cx">         paintFixedLayersInNamedFlows(context, localPaintingInfo, localPaintFlags);
</span><del>-        
-        // If this is a region, paint its contents via the flow thread's layer.
-        paintFlowThreadIfRegion(context, localPaintingInfo, localPaintFlags, offsetFromRoot, paintDirtyRect, isPaintingOverflowContents);
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (isPaintingOverlayScrollbars)
</span><span class="lines">@@ -4184,7 +4120,7 @@
</span><span class="cx">         fragment.shouldPaintContent = shouldPaintContent;
</span><span class="cx">         if (this != localPaintingInfo.rootLayer || !(localPaintFlags &amp; PaintLayerPaintingOverflowContents)) {
</span><span class="cx">             LayoutPoint newOffsetFromRoot = *offsetFromRoot + fragment.paginationOffset;
</span><del>-            fragment.shouldPaintContent &amp;= intersectsDamageRect(fragment.layerBounds, fragment.backgroundRect.rect(), localPaintingInfo.rootLayer, &amp;newOffsetFromRoot, localPaintingInfo.region);
</del><ins>+            fragment.shouldPaintContent &amp;= intersectsDamageRect(fragment.layerBounds, fragment.backgroundRect.rect(), localPaintingInfo.rootLayer, &amp;newOffsetFromRoot);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -4270,11 +4206,8 @@
</span><span class="cx"> 
</span><span class="cx">     // Optimize clipping for the single fragment case.
</span><span class="cx">     bool shouldClip = localPaintingInfo.clipToDirtyRect &amp;&amp; layerFragments.size() == 1 &amp;&amp; layerFragments[0].shouldPaintContent &amp;&amp; !layerFragments[0].foregroundRect.isEmpty();
</span><del>-    ClipRect clippedRect;
-    if (shouldClip) {
-        clippedRect = layerFragments[0].foregroundRect;
-        clipToRect(localPaintingInfo.rootLayer, context, localPaintingInfo.paintDirtyRect, clippedRect);
-    }
</del><ins>+    if (shouldClip)
+        clipToRect(localPaintingInfo.rootLayer, context, localPaintingInfo.paintDirtyRect, layerFragments[0].foregroundRect);
</ins><span class="cx">     
</span><span class="cx">     // We have to loop through every fragment multiple times, since we have to repaint in each specific phase in order for
</span><span class="cx">     // interleaving of the fragments to work properly.
</span><span class="lines">@@ -4284,23 +4217,11 @@
</span><span class="cx">     if (!selectionOnly) {
</span><span class="cx">         paintForegroundForFragmentsWithPhase(PaintPhaseFloat, layerFragments, context, localPaintingInfo, localPaintBehavior, subtreePaintRootForRenderer);
</span><span class="cx">         paintForegroundForFragmentsWithPhase(PaintPhaseForeground, layerFragments, context, localPaintingInfo, localPaintBehavior, subtreePaintRootForRenderer);
</span><del>-
-        // Switch the clipping rectangle to the outline version.
-        if (shouldClip &amp;&amp; clippedRect != layerFragments[0].outlineRect) {
-            restoreClip(context, localPaintingInfo.paintDirtyRect, clippedRect);
-            
-            if (!layerFragments[0].outlineRect.isEmpty()) {
-                clippedRect = layerFragments[0].outlineRect;
-                clipToRect(localPaintingInfo.rootLayer, context, localPaintingInfo.paintDirtyRect, clippedRect);
-            } else
-                shouldClip = false;
-        }
-
</del><span class="cx">         paintForegroundForFragmentsWithPhase(PaintPhaseChildOutlines, layerFragments, context, localPaintingInfo, localPaintBehavior, subtreePaintRootForRenderer);
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (shouldClip)
</span><del>-        restoreClip(context, localPaintingInfo.paintDirtyRect, clippedRect);
</del><ins>+        restoreClip(context, localPaintingInfo.paintDirtyRect, layerFragments[0].foregroundRect);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderLayer::paintForegroundForFragmentsWithPhase(PaintPhase phase, const LayerFragments&amp; layerFragments, GraphicsContext* context,
</span><span class="lines">@@ -4486,8 +4407,8 @@
</span><span class="cx">     ASSERT(isSelfPaintingLayer() || hasSelfPaintingLayerDescendant());
</span><span class="cx"> 
</span><span class="cx">     renderer().document().updateLayout();
</span><del>-
-    LayoutRect hitTestArea = isOutOfFlowRenderFlowThread() ? toRenderFlowThread(&amp;renderer())-&gt;visualOverflowRect() : renderer().view().documentRect();
</del><ins>+    
+    LayoutRect hitTestArea = isOutOfFlowRenderFlowThread() ? toRenderFlowThread(renderer()).borderBoxRect() : renderer().view().documentRect();
</ins><span class="cx">     if (!request.ignoreClipping())
</span><span class="cx">         hitTestArea.intersect(renderer().view().frameView().visibleContentRect());
</span><span class="cx"> 
</span><span class="lines">@@ -4678,17 +4599,6 @@
</span><span class="cx">     if (renderer().fixedPositionedWithNamedFlowContainingBlock() &amp;&amp; hitTestLocation.region())
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><del>-    // Don't hit-test the layer if the renderer doesn't belong to this region.
-    // This is true as long as we clamp the range of a box to its containing block range.
-    // FIXME: Fix hit testing with in-flow threads included in out-of-flow threads.
-    if (hitTestLocation.region()) {
-        RenderFlowThread* flowThread = hitTestLocation.region()-&gt;flowThread();
-        ASSERT(flowThread);
-
-        if (!flowThread-&gt;objectShouldPaintInFlowRegion(&amp;renderer(), hitTestLocation.region()))
-            return 0;
-    }
-
</del><span class="cx">     // The natural thing would be to keep HitTestingTransformState on the stack, but it's big, so we heap-allocate.
</span><span class="cx"> 
</span><span class="cx">     // Apply a transform if we have one.
</span><span class="lines">@@ -4791,13 +4701,6 @@
</span><span class="cx">         candidateLayer = hitLayer;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    hitLayer = hitTestFlowThreadIfRegion(rootLayer, request, result, hitTestRect, hitTestLocation, localTransformState.get(), zOffsetForDescendantsPtr);
-    if (hitLayer) {
-        if (!depthSortDescendants)
-            return hitLayer;
-        candidateLayer = hitLayer;
-    }
-
</del><span class="cx">     // Collect the fragments. This will compute the clip rectangles for each layer fragment.
</span><span class="cx">     LayerFragments layerFragments;
</span><span class="cx">     collectFragments(layerFragments, rootLayer, hitTestLocation.region(), hitTestRect, RootRelativeClipRects, IncludeOverlayScrollbarSize);
</span><span class="lines">@@ -5168,32 +5071,6 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderLayer::mapLayerClipRectsToFragmentationLayer(RenderRegion* region, ClipRects&amp; clipRects) const
-{
-    ASSERT(region &amp;&amp; region-&gt;parent() &amp;&amp; region-&gt;parent()-&gt;isRenderNamedFlowFragmentContainer());
-
-    ClipRectsContext targetClipRectsContext(region-&gt;regionContainerLayer(), 0, TemporaryClipRects);
-    region-&gt;regionContainerLayer()-&gt;calculateClipRects(targetClipRectsContext, clipRects);
-
-    LayoutRect flowThreadPortionRect = region-&gt;flowThreadPortionRect();
-
-    LayoutPoint portionLocation = flowThreadPortionRect.location();
-    LayoutRect regionContentBox = region-&gt;contentBoxRect();
-    LayoutSize moveOffset = portionLocation - regionContentBox.location();
-
-    ClipRect newOverflowClipRect = clipRects.overflowClipRect();
-    newOverflowClipRect.move(moveOffset);
-    clipRects.setOverflowClipRect(newOverflowClipRect);
-
-    ClipRect newFixedClipRect = clipRects.fixedClipRect();
-    newFixedClipRect.move(moveOffset);
-    clipRects.setFixedClipRect(newFixedClipRect);
-
-    ClipRect newPosClipRect = clipRects.posClipRect();
-    newPosClipRect.move(moveOffset);
-    clipRects.setPosClipRect(newPosClipRect);
-}
-
</del><span class="cx"> void RenderLayer::calculateClipRects(const ClipRectsContext&amp; clipRectsContext, ClipRects&amp; clipRects) const
</span><span class="cx"> {
</span><span class="cx">     if (!parent()) {
</span><span class="lines">@@ -5205,13 +5082,8 @@
</span><span class="cx">     ClipRectsType clipRectsType = clipRectsContext.clipRectsType;
</span><span class="cx">     bool useCached = clipRectsType != TemporaryClipRects;
</span><span class="cx"> 
</span><del>-    if (renderer().isRenderFlowThread() &amp;&amp; clipRectsContext.region) {
-        mapLayerClipRectsToFragmentationLayer(clipRectsContext.region, clipRects);
-        return;
-    }
-
</del><span class="cx">     // For transformed layers, the root layer was shifted to be us, so there is no need to
</span><del>-    // examine the parent. We want to cache clip rects with us as the root.
</del><ins>+    // examine the parent.  We want to cache clip rects with us as the root.
</ins><span class="cx">     RenderLayer* parentLayer = clipRectsContext.rootLayer != this ? parent() : 0;
</span><span class="cx">     
</span><span class="cx">     // Ensure that our parent's clip has been calculated so that we can examine the values.
</span><span class="lines">@@ -5269,11 +5141,6 @@
</span><span class="cx"> void RenderLayer::parentClipRects(const ClipRectsContext&amp; clipRectsContext, ClipRects&amp; clipRects) const
</span><span class="cx"> {
</span><span class="cx">     ASSERT(parent());
</span><del>-    if (renderer().isRenderFlowThread() &amp;&amp; clipRectsContext.region) {
-        mapLayerClipRectsToFragmentationLayer(clipRectsContext.region, clipRects);
-        return;
-    }
-
</del><span class="cx">     if (clipRectsContext.clipRectsType == TemporaryClipRects) {
</span><span class="cx">         parent()-&gt;calculateClipRects(clipRectsContext, clipRects);
</span><span class="cx">         return;
</span><span class="lines">@@ -5328,6 +5195,9 @@
</span><span class="cx">     } else
</span><span class="cx">         backgroundRect = paintDirtyRect;
</span><span class="cx"> 
</span><ins>+    foregroundRect = backgroundRect;
+    outlineRect = backgroundRect;
+    
</ins><span class="cx">     LayoutPoint offset;
</span><span class="cx">     if (offsetFromRoot)
</span><span class="cx">         offset = *offsetFromRoot;
</span><span class="lines">@@ -5343,33 +5213,6 @@
</span><span class="cx"> 
</span><span class="cx">     layerBounds = LayoutRect(offset, size());
</span><span class="cx"> 
</span><del>-    foregroundRect = backgroundRect;
-    outlineRect = backgroundRect;
-
-    RenderFlowThread* flowThread = clipRectsContext.region ? clipRectsContext.region-&gt;flowThread() : 0;
-    if (isSelfPaintingLayer() &amp;&amp; flowThread &amp;&amp; !renderer().isInFlowRenderFlowThread() &amp;&amp; renderBox()) {
-        // FIXME: Handle the case where the renderer is not a RenderBox.
-        LayoutRect layerBoundsWithVisualOverflow = clipRectsContext.region-&gt;visualOverflowRectForBox(renderBox());
-
-        // Layers are in physical coordinates so the origin must be moved to the physical top-left of the flowthread.
-        if (flowThread-&gt;style().isFlippedBlocksWritingMode()) {
-            if (flowThread-&gt;style().isHorizontalWritingMode())
-                layerBoundsWithVisualOverflow.moveBy(LayoutPoint(0, flowThread-&gt;height()));
-            else
-                layerBoundsWithVisualOverflow.moveBy(LayoutPoint(flowThread-&gt;width(), 0));
-        }
-
-        layerBoundsWithVisualOverflow.moveBy(offset);
-        backgroundRect.intersect(layerBoundsWithVisualOverflow);
-
-        foregroundRect = backgroundRect;
-        outlineRect = backgroundRect;
-        
-        // If the region does not clip its overflow, inflate the outline rect.
-        if (!(clipRectsContext.region-&gt;parent()-&gt;hasOverflowClip() &amp;&amp; (clipRectsContext.region-&gt;regionContainerLayer() != clipRectsContext.rootLayer || clipRectsContext.respectOverflowClip == RespectOverflowClip)))
-            outlineRect.inflate(renderer().maximalOutlineSize(PaintPhaseOutline));
-    }
-
</del><span class="cx">     // Update the clip rects that will be passed to child layers.
</span><span class="cx">     if (renderer().hasClipOrOverflowClip()) {
</span><span class="cx">         // This layer establishes a clip of some kind.
</span><span class="lines">@@ -5393,7 +5236,7 @@
</span><span class="cx">         if (renderBox()-&gt;hasVisualOverflow()) {
</span><span class="cx">             // FIXME: Does not do the right thing with CSS regions yet, since we don't yet factor in the
</span><span class="cx">             // individual region boxes as overflow.
</span><del>-            LayoutRect layerBoundsWithVisualOverflow = clipRectsContext.region ? clipRectsContext.region-&gt;visualOverflowRectForBox(renderBox()) : renderBox()-&gt;visualOverflowRect();
</del><ins>+            LayoutRect layerBoundsWithVisualOverflow = renderBox()-&gt;visualOverflowRect();
</ins><span class="cx">             renderBox()-&gt;flipForWritingMode(layerBoundsWithVisualOverflow); // Layers are in physical coordinates, so the overflow has to be flipped.
</span><span class="cx">             layerBoundsWithVisualOverflow.moveBy(offset);
</span><span class="cx">             if (this != clipRectsContext.rootLayer || clipRectsContext.respectOverflowClip == RespectOverflowClip)
</span><span class="lines">@@ -5401,9 +5244,6 @@
</span><span class="cx">         } else {
</span><span class="cx">             // Shift the bounds to be for our region only.
</span><span class="cx">             LayoutRect bounds = renderBox()-&gt;borderBoxRectInRegion(clipRectsContext.region);
</span><del>-            if (clipRectsContext.region)
-                bounds = clipRectsContext.region-&gt;rectFlowPortionForBox(renderBox(), bounds);
-
</del><span class="cx">             bounds.moveBy(offset);
</span><span class="cx">             if (this != clipRectsContext.rootLayer || clipRectsContext.respectOverflowClip == RespectOverflowClip)
</span><span class="cx">                 backgroundRect.intersect(bounds);
</span><span class="lines">@@ -5487,7 +5327,7 @@
</span><span class="cx">         renderer().repaintRectangle(rect);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool RenderLayer::intersectsDamageRect(const LayoutRect&amp; layerBounds, const LayoutRect&amp; damageRect, const RenderLayer* rootLayer, const LayoutPoint* offsetFromRoot, RenderRegion* region) const
</del><ins>+bool RenderLayer::intersectsDamageRect(const LayoutRect&amp; layerBounds, const LayoutRect&amp; damageRect, const RenderLayer* rootLayer, const LayoutPoint* offsetFromRoot) const
</ins><span class="cx"> {
</span><span class="cx">     // Always examine the canvas and the root.
</span><span class="cx">     // FIXME: Could eliminate the isRoot() check if we fix background painting so that the RenderView
</span><span class="lines">@@ -5503,19 +5343,7 @@
</span><span class="cx">         if (b.intersects(damageRect))
</span><span class="cx">             return true;
</span><span class="cx">     }
</span><del>-
-    // When using regions, some boxes might have their frame rect relative to the flow thread, which could
-    // cause the paint rejection algorithm to prevent them from painting when using different width regions.
-    // e.g. an absolutely positioned box with bottom:0px and right:0px would have it's frameRect.x relative
-    // to the flow thread, not the last region (in which it will end up because of bottom:0px)
-    if (region &amp;&amp; renderer().isBox() &amp;&amp; renderer().flowThreadContainingBlock()) {
-        LayoutRect b = layerBounds;
-        b.moveBy(region-&gt;visualOverflowRectForBox(toRenderBox(&amp;renderer())).location());
-        b.inflate(renderer().view().maximalOutlineSize());
-        if (b.intersects(damageRect))
-            return true;
-    }
-
</del><ins>+        
</ins><span class="cx">     // Otherwise we need to compute the bounding box of this single layer and see if it intersects
</span><span class="cx">     // the damage rect.
</span><span class="cx">     return boundingBox(rootLayer, 0, offsetFromRoot).intersects(damageRect);
</span><span class="lines">@@ -6052,48 +5880,6 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderLayer::updateDescendantsLayerListsIfNeeded(bool recursive)
-{
-    Vector&lt;RenderLayer*&gt; layersToUpdate;
-    
-    if (isStackingContainer()) {
-        if (Vector&lt;RenderLayer*&gt;* list = negZOrderList()) {
-            size_t listSize = list-&gt;size();
-            for (size_t i = 0; i &lt; listSize; ++i) {
-                RenderLayer* childLayer = list-&gt;at(i);
-                layersToUpdate.append(childLayer);
-            }
-        }
-    }
-    
-    if (Vector&lt;RenderLayer*&gt;* list = normalFlowList()) {
-        size_t listSize = list-&gt;size();
-        for (size_t i = 0; i &lt; listSize; ++i) {
-            RenderLayer* childLayer = list-&gt;at(i);
-            layersToUpdate.append(childLayer);
-        }
-    }
-    
-    if (isStackingContainer()) {
-        if (Vector&lt;RenderLayer*&gt;* list = posZOrderList()) {
-            size_t listSize = list-&gt;size();
-            for (size_t i = 0; i &lt; listSize; ++i) {
-                RenderLayer* childLayer = list-&gt;at(i);
-                layersToUpdate.append(childLayer);
-            }
-        }
-    }
-    
-    size_t listSize = layersToUpdate.size();
-    for (size_t i = 0; i &lt; listSize; ++i) {
-        RenderLayer* childLayer = layersToUpdate.at(i);
-        childLayer-&gt;updateLayerListsIfNeeded();
-        
-        if (recursive)
-            childLayer-&gt;updateDescendantsLayerListsIfNeeded(true);
-    }
-}
-
</del><span class="cx"> void RenderLayer::updateCompositingAndLayerListsIfNeeded()
</span><span class="cx"> {
</span><span class="cx"> #if USE(ACCELERATED_COMPOSITING)
</span><span class="lines">@@ -6111,11 +5897,6 @@
</span><span class="cx">     renderer().repaint();
</span><span class="cx">     for (RenderLayer* curr = firstChild(); curr; curr = curr-&gt;nextSibling())
</span><span class="cx">         curr-&gt;repaintIncludingDescendants();
</span><del>-
-    // If this is a region, we must also repaint the flow thread's layer since it is the one
-    // doing the actual painting of the flowed content.
-    if (renderer().isRenderNamedFlowFragmentContainer())
-        toRenderBlockFlow(&amp;renderer())-&gt;renderNamedFlowFragment()-&gt;flowThread()-&gt;layer()-&gt;repaintIncludingDescendants();
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if USE(ACCELERATED_COMPOSITING)
</span><span class="lines">@@ -6728,108 +6509,6 @@
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void RenderLayer::paintNamedFlowThreadInsideRegion(GraphicsContext* context, RenderNamedFlowFragment* region, LayoutRect paintDirtyRect, LayoutPoint paintOffset, PaintBehavior paintBehavior, PaintLayerFlags paintFlags)
-{
-    LayoutRect regionContentBox = toRenderBox(region-&gt;layerOwner())-&gt;contentBoxRect();
-    LayoutSize moveOffset = region-&gt;flowThreadPortionLocation() - (paintOffset + regionContentBox.location());
-    IntPoint adjustedPaintOffset = roundedIntPoint(-moveOffset);
-    paintDirtyRect.move(moveOffset);
-
-    context-&gt;save();
-    context-&gt;translate(adjustedPaintOffset.x(), adjustedPaintOffset.y());
-
-    region-&gt;setRegionObjectsRegionStyle();
-    paint(context, paintDirtyRect, paintBehavior, 0, region, paintFlags | PaintLayerTemporaryClipRects);
-    region-&gt;restoreRegionObjectsOriginalStyle();
-
-    context-&gt;restore();
-}
-
-void RenderLayer::paintFlowThreadIfRegion(GraphicsContext* context, const LayerPaintingInfo&amp; paintingInfo, PaintLayerFlags paintFlags, LayoutPoint paintOffset, LayoutRect dirtyRect, bool isPaintingOverflowContents)
-{
-    if (!renderer().isRenderNamedFlowFragmentContainer())
-        return;
-    
-    RenderBlockFlow* renderNamedFlowFragmentContainer = toRenderBlockFlow(&amp;renderer());
-    RenderNamedFlowFragment* region = renderNamedFlowFragmentContainer-&gt;renderNamedFlowFragment();
-    if (!region-&gt;isValid())
-        return;
-    
-    ClipRect regionClipRect;
-    if (paintingInfo.rootLayer != this &amp;&amp; parent()) {
-        ClipRectsContext clipRectsContext(paintingInfo.rootLayer, region,
-            (paintFlags &amp; PaintLayerTemporaryClipRects) ? TemporaryClipRects : PaintingClipRects,
-            IgnoreOverlayScrollbarSize, (isPaintingOverflowContents) ? IgnoreOverflowClip : RespectOverflowClip);
-        regionClipRect = backgroundClipRect(clipRectsContext);
-    } else
-        regionClipRect = dirtyRect;
-
-    RenderNamedFlowThread* flowThread = region-&gt;namedFlowThread();
-    LayoutRect regionContentBox = renderNamedFlowFragmentContainer-&gt;contentBoxRect();
-    
-    RenderLayer* flowThreadLayer = flowThread-&gt;layer();
-    bool isLastRegionWithRegionFragmentBreak = (region-&gt;isLastRegion() &amp;&amp; region-&gt;style().regionFragment() == BreakRegionFragment);
-    if (region-&gt;hasOverflowClip() || isLastRegionWithRegionFragmentBreak) {
-        LayoutPoint regionOffsetFromRoot;
-        convertToLayerCoords(flowThreadLayer, regionOffsetFromRoot);
-        regionClipRect = regionContentBox;
-        regionClipRect.moveBy(regionOffsetFromRoot);
-    }
-
-    // Optimize clipping for the single fragment case.
-    if (!regionClipRect.isEmpty())
-        clipToRect(paintingInfo.rootLayer, context, paintingInfo.paintDirtyRect, regionClipRect);
-
-    flowThreadLayer-&gt;paintNamedFlowThreadInsideRegion(context, region, paintingInfo.paintDirtyRect, paintOffset, paintingInfo.paintBehavior, paintFlags);
-
-    if (!regionClipRect.isEmpty())
-        restoreClip(context, paintingInfo.paintDirtyRect, regionClipRect);
-}
-
-RenderLayer* RenderLayer::hitTestFlowThreadIfRegion(RenderLayer* rootLayer, const HitTestRequest&amp; request, HitTestResult&amp; result, const LayoutRect&amp; hitTestRect, 
-    const HitTestLocation&amp; hitTestLocation,
-    const HitTestingTransformState* transformState, 
-    double* zOffsetForDescendants)
-{
-    if (!renderer().isRenderNamedFlowFragmentContainer())
-        return 0;
-
-    RenderNamedFlowFragment* region = toRenderBlockFlow(&amp;renderer())-&gt;renderNamedFlowFragment();
-    if (!region-&gt;isValid())
-        return 0;
-
-    RenderFlowThread* flowThread = region-&gt;flowThread();
-
-    LayoutPoint regionOffsetFromRoot;
-    convertToLayerCoords(rootLayer, regionOffsetFromRoot);
-
-    LayoutPoint portionLocation = region-&gt;flowThreadPortionRect().location();
-
-    if (flowThread-&gt;style().isFlippedBlocksWritingMode()) {
-        // The portion location coordinate must be translated into physical coordinates.
-        if (flowThread-&gt;style().isHorizontalWritingMode())
-            portionLocation.setY(flowThread-&gt;height() - (portionLocation.y() + region-&gt;contentHeight()));
-        else
-            portionLocation.setX(flowThread-&gt;width() - (portionLocation.x() + region-&gt;contentWidth()));
-    }
-
-    LayoutRect regionContentBox = toRenderBlockFlow(&amp;renderer())-&gt;contentBoxRect();
-    LayoutSize hitTestOffset = portionLocation - (regionOffsetFromRoot + regionContentBox.location());
-
-    // Always ignore clipping, since the RenderFlowThread has nothing to do with the bounds of the FrameView.
-    HitTestRequest newRequest(request.type() | HitTestRequest::IgnoreClipping | HitTestRequest::DisallowShadowContent);
-
-    // Make a new temporary HitTestLocation in the new region.
-    HitTestLocation newHitTestLocation(hitTestLocation, hitTestOffset, region);
-
-    // Expand the hit-test rect to the flow thread's coordinate system.
-    LayoutRect hitTestRectInFlowThread = hitTestRect;
-    hitTestRectInFlowThread.move(hitTestOffset.width(), hitTestOffset.height());
-    hitTestRectInFlowThread.expand(LayoutSize(fabs((double)hitTestOffset.width()), fabs((double)hitTestOffset.height())));
-
-    return flowThread-&gt;layer()-&gt;hitTestLayer(flowThread-&gt;layer(), 0, newRequest, result, hitTestRectInFlowThread, newHitTestLocation, false, transformState, zOffsetForDescendants);
-}
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #ifndef NDEBUG
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.h (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.h        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderLayer.h        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -62,7 +62,6 @@
</span><span class="cx"> class RenderLayerBacking;
</span><span class="cx"> class RenderLayerCompositor;
</span><span class="cx"> class RenderMarquee;
</span><del>-class RenderNamedFlowFragment;
</del><span class="cx"> class RenderReplica;
</span><span class="cx"> class RenderScrollbarPart;
</span><span class="cx"> class RenderStyle;
</span><span class="lines">@@ -115,10 +114,6 @@
</span><span class="cx">     bool intersects(const LayoutRect&amp; rect) const { return m_rect.intersects(rect); }
</span><span class="cx">     bool intersects(const HitTestLocation&amp;) const;
</span><span class="cx"> 
</span><del>-    void inflateX(LayoutUnit dx) { m_rect.inflateX(dx); }
-    void inflateY(LayoutUnit dy) { m_rect.inflateY(dy); }
-    void inflate(LayoutUnit d) { inflateX(d); inflateY(d); }
-
</del><span class="cx"> private:
</span><span class="cx">     LayoutRect m_rect;
</span><span class="cx">     bool m_hasRadius;
</span><span class="lines">@@ -533,9 +528,6 @@
</span><span class="cx">     // Update our normal and z-index lists.
</span><span class="cx">     void updateLayerListsIfNeeded();
</span><span class="cx"> 
</span><del>-    // Update the normal and z-index lists of our descendants.
-    void updateDescendantsLayerListsIfNeeded(bool recursive);
-
</del><span class="cx">     // FIXME: We should ASSERT(!m_visibleContentStatusDirty) here, but see https://bugs.webkit.org/show_bug.cgi?id=71044
</span><span class="cx">     // ditto for hasVisibleDescendant(), see https://bugs.webkit.org/show_bug.cgi?id=71277
</span><span class="cx">     bool hasVisibleContent() const { return m_hasVisibleContent; }
</span><span class="lines">@@ -637,8 +629,6 @@
</span><span class="cx">     bool hitTest(const HitTestRequest&amp;, const HitTestLocation&amp;, HitTestResult&amp;);
</span><span class="cx">     void paintOverlayScrollbars(GraphicsContext*, const LayoutRect&amp; damageRect, PaintBehavior, RenderObject* subtreePaintRoot = 0);
</span><span class="cx"> 
</span><del>-    void paintNamedFlowThreadInsideRegion(GraphicsContext*, RenderNamedFlowFragment*, LayoutRect, LayoutPoint, PaintBehavior = PaintBehaviorNormal, PaintLayerFlags = 0);
-
</del><span class="cx">     struct ClipRectsContext {
</span><span class="cx">         ClipRectsContext(const RenderLayer* inRootLayer, RenderRegion* inRegion, ClipRectsType inClipRectsType, OverlayScrollbarSizeRelevancy inOverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip inRespectOverflowClip = RespectOverflowClip)
</span><span class="cx">             : rootLayer(inRootLayer)
</span><span class="lines">@@ -678,7 +668,7 @@
</span><span class="cx">     LayoutRect localClipRect() const; // Returns the background clip rect of the layer in the local coordinate space.
</span><span class="cx"> 
</span><span class="cx">     // Pass offsetFromRoot if known.
</span><del>-    bool intersectsDamageRect(const LayoutRect&amp; layerBounds, const LayoutRect&amp; damageRect, const RenderLayer* rootLayer, const LayoutPoint* offsetFromRoot = 0, RenderRegion* = 0) const;
</del><ins>+    bool intersectsDamageRect(const LayoutRect&amp; layerBounds, const LayoutRect&amp; damageRect, const RenderLayer* rootLayer, const LayoutPoint* offsetFromRoot = 0) const;
</ins><span class="cx"> 
</span><span class="cx">     enum CalculateLayerBoundsFlag {
</span><span class="cx">         IncludeSelfTransform = 1 &lt;&lt; 0,
</span><span class="lines">@@ -1142,12 +1132,6 @@
</span><span class="cx"> 
</span><span class="cx">     bool overflowControlsIntersectRect(const IntRect&amp; localRect) const;
</span><span class="cx"> 
</span><del>-    RenderLayer* hitTestFlowThreadIfRegion(RenderLayer*, const HitTestRequest&amp;, HitTestResult&amp;,
-        const LayoutRect&amp;, const HitTestLocation&amp;,
-        const HitTestingTransformState*, double*);
-    void paintFlowThreadIfRegion(GraphicsContext*, const LayerPaintingInfo&amp;, PaintLayerFlags, LayoutPoint, LayoutRect, bool);
-    void mapLayerClipRectsToFragmentationLayer(RenderRegion*, ClipRects&amp;) const;
-
</del><span class="cx"> private:
</span><span class="cx">     // The bitfields are up here so they will fall into the padding from ScrollableArea on 64-bit.
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerCompositorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -939,12 +939,6 @@
</span><span class="cx">     if (layer.isFlowThreadCollectingGraphicsLayersUnderRegions()) {
</span><span class="cx">         RenderFlowThread&amp; flowThread = toRenderFlowThread(layer.renderer());
</span><span class="cx">         layer.setHasCompositingDescendant(flowThread.hasCompositingRegionDescendant());
</span><del>-
-        // Before returning, we need to update the lists of all child layers. This is required because,
-        // if this flow thread will not be painted (for instance because of having no regions, or only invalid regions),
-        // the child layers will never have their lists updated (which would normally happen during painting).
-        layer.updateDescendantsLayerListsIfNeeded(true);
-
</del><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderListItemcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderListItem.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderListItem.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderListItem.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -312,8 +312,8 @@
</span><span class="cx"> 
</span><span class="cx"> void RenderListItem::addOverflowFromChildren()
</span><span class="cx"> {
</span><ins>+    RenderBlockFlow::addOverflowFromChildren();
</ins><span class="cx">     positionListMarker();
</span><del>-    RenderBlockFlow::addOverflowFromChildren();
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderListItem::computePreferredLogicalWidths()
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMultiColumnSetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -254,7 +254,7 @@
</span><span class="cx">     return portionRect;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-LayoutRect RenderMultiColumnSet::flowThreadPortionOverflowRect(const LayoutRect&amp; portionRect, unsigned index, unsigned colCount, LayoutUnit colGap)
</del><ins>+LayoutRect RenderMultiColumnSet::flowThreadPortionOverflowRect(const LayoutRect&amp; portionRect, unsigned index, unsigned colCount, LayoutUnit colGap) const
</ins><span class="cx"> {
</span><span class="cx">     // This function determines the portion of the flow thread that paints for the column. Along the inline axis, columns are
</span><span class="cx">     // unclipped at outside edges (i.e., the first and last column in the set), and they clip to half the column
</span><span class="lines">@@ -363,7 +363,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderMultiColumnSet::repaintFlowThreadContent(const LayoutRect&amp; repaintRect, bool immediate)
</del><ins>+void RenderMultiColumnSet::repaintFlowThreadContent(const LayoutRect&amp; repaintRect, bool immediate) const
</ins><span class="cx"> {
</span><span class="cx">     // Figure out the start and end columns and only check within that range so that we don't walk the
</span><span class="cx">     // entire column set. Put the repaint rect into flow thread coordinates by flipping it first.
</span><span class="lines">@@ -392,12 +392,12 @@
</span><span class="cx">         
</span><span class="cx">         // Get the portion of the flow thread that corresponds to this column.
</span><span class="cx">         LayoutRect flowThreadPortion = flowThreadPortionRectAt(i);
</span><del>-
</del><ins>+        
</ins><span class="cx">         // Now get the overflow rect that corresponds to the column.
</span><span class="cx">         LayoutRect flowThreadOverflowPortion = flowThreadPortionOverflowRect(flowThreadPortion, i, colCount, colGap);
</span><span class="cx"> 
</span><span class="cx">         // Do a repaint for this specific column.
</span><del>-        repaintFlowThreadContentRectangle(repaintRect, immediate, flowThreadPortion, colRect.location(), &amp;flowThreadOverflowPortion);
</del><ins>+        repaintFlowThreadContentRectangle(repaintRect, immediate, flowThreadPortion, flowThreadOverflowPortion, colRect.location());
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMultiColumnSeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMultiColumnSet.h (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMultiColumnSet.h        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnSet.h        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx">     // balancing. That's why we have an override of this function that is distinct from RenderRegionSet's override.
</span><span class="cx">     virtual bool shouldHaveAutoLogicalHeight() const OVERRIDE { return false; }
</span><span class="cx">     
</span><del>-    virtual void repaintFlowThreadContent(const LayoutRect&amp; repaintRect, bool immediate) OVERRIDE;
</del><ins>+    virtual void repaintFlowThreadContent(const LayoutRect&amp; repaintRect, bool immediate) const OVERRIDE;
</ins><span class="cx"> 
</span><span class="cx">     virtual void collectLayerFragments(LayerFragments&amp;, const LayoutRect&amp; layerBoundingBox, const LayoutRect&amp; dirtyRect) OVERRIDE;
</span><span class="cx"> 
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx">     unsigned columnCount() const;
</span><span class="cx"> 
</span><span class="cx">     LayoutRect flowThreadPortionRectAt(unsigned index) const;
</span><del>-    LayoutRect flowThreadPortionOverflowRect(const LayoutRect&amp; flowThreadPortion, unsigned index, unsigned colCount, LayoutUnit colGap);
</del><ins>+    LayoutRect flowThreadPortionOverflowRect(const LayoutRect&amp; flowThreadPortion, unsigned index, unsigned colCount, LayoutUnit colGap) const;
</ins><span class="cx"> 
</span><span class="cx">     enum ColumnIndexCalculationMode {
</span><span class="cx">         ClampToExistingColumns, // Stay within the range of already existing columns.
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderNamedFlowFragmentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderNamedFlowFragment.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderNamedFlowFragment.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderNamedFlowFragment.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -56,8 +56,6 @@
</span><span class="cx">     style.get().setFlowThread(parentStyle.flowThread());
</span><span class="cx">     style.get().setRegionThread(parentStyle.regionThread());
</span><span class="cx">     style.get().setRegionFragment(parentStyle.regionFragment());
</span><del>-    style.get().setOverflowX(parentStyle.overflowX());
-    style.get().setOverflowY(parentStyle.overflowY());
</del><span class="cx"> #if ENABLE(CSS_SHAPES)
</span><span class="cx">     style.get().setShapeInside(parentStyle.shapeInside());
</span><span class="cx"> #endif
</span><span class="lines">@@ -96,9 +94,4 @@
</span><span class="cx">     return styleToUse.logicalMaxHeight().isUndefined() ? RenderFlowThread::maxLogicalHeight() : toRenderBlock(parent())-&gt;computeReplacedLogicalHeightUsing(styleToUse.logicalMaxHeight());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RenderNamedFlowThread* RenderNamedFlowFragment::namedFlowThread() const
-{
-    return toRenderNamedFlowThread(flowThread());
-}
-
</del><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderNamedFlowFragmenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderNamedFlowFragment.h (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderNamedFlowFragment.h        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderNamedFlowFragment.h        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -68,8 +68,6 @@
</span><span class="cx">     RenderLayerModelObject* layerOwner() const { return parent() &amp;&amp; parent()-&gt;isRenderLayerModelObject() ?
</span><span class="cx">         toRenderLayerModelObject(parent()) : nullptr; }
</span><span class="cx"> 
</span><del>-    RenderNamedFlowThread* namedFlowThread() const;
-
</del><span class="cx"> private:
</span><span class="cx">     virtual bool shouldHaveAutoLogicalHeight() const OVERRIDE;
</span><span class="cx">     virtual const char* renderName() const OVERRIDE { return &quot;RenderNamedFlowFragment&quot;; }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderOverflowh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderOverflow.h (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderOverflow.h        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderOverflow.h        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -22,7 +22,6 @@
</span><span class="cx"> #define RenderOverflow_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;LayoutRect.h&quot;
</span><del>-#include &lt;wtf/RefCounted.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore
</span><span class="cx"> {
</span><span class="lines">@@ -38,7 +37,7 @@
</span><span class="cx"> // Examples of visual overflow are shadows, text stroke (and eventually outline and border-image).
</span><span class="cx"> 
</span><span class="cx"> // This object is allocated only when some of these fields have non-default values in the owning box.
</span><del>-class RenderOverflow : public WTF::RefCounted&lt;RenderOverflow&gt; {
</del><ins>+class RenderOverflow {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(RenderOverflow); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="cx">     RenderOverflow(const LayoutRect&amp; layoutRect, const LayoutRect&amp; visualRect) 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderRegioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderRegion.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderRegion.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderRegion.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -154,34 +154,13 @@
</span><span class="cx">     return m_flowThread-&gt;isHorizontalWritingMode() ? contentHeight() : contentWidth();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-LayoutRect RenderRegion::flowThreadPortionOverflowRect()
</del><ins>+LayoutRect RenderRegion::flowThreadPortionOverflowRect() const
</ins><span class="cx"> {
</span><span class="cx">     return overflowRectForFlowThreadPortion(flowThreadPortionRect(), isFirstRegion(), isLastRegion(), VisualOverflow);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-LayoutPoint RenderRegion::flowThreadPortionLocation() const
</del><ins>+LayoutRect RenderRegion::overflowRectForFlowThreadPortion(const LayoutRect&amp; flowThreadPortionRect, bool isFirstPortion, bool isLastPortion, OverflowType overflowType) const
</ins><span class="cx"> {
</span><del>-    LayoutPoint portionLocation;
-    LayoutRect portionRect = flowThreadPortionRect();
-
-    if (flowThread()-&gt;style().isFlippedBlocksWritingMode()) {
-        LayoutRect flippedFlowThreadPortionRect(portionRect);
-        flowThread()-&gt;flipForWritingMode(flippedFlowThreadPortionRect);
-        portionLocation = flippedFlowThreadPortionRect.location();
-    } else
-        portionLocation = portionRect.location();
-
-    return portionLocation;
-}
-
-RenderLayer* RenderRegion::regionContainerLayer() const
-{
-    ASSERT(parent() &amp;&amp; parent()-&gt;isRenderNamedFlowFragmentContainer());
-    return toRenderBlockFlow(parent())-&gt;layer();
-}
-
-LayoutRect RenderRegion::overflowRectForFlowThreadPortion(const LayoutRect&amp; flowThreadPortionRect, bool isFirstPortion, bool isLastPortion, OverflowType overflowType)
-{
</del><span class="cx">     ASSERT(isValid());
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Would like to just use hasOverflowClip() but we aren't a block yet. When RenderRegion is eliminated and
</span><span class="lines">@@ -192,7 +171,7 @@
</span><span class="cx">     if ((clipX &amp;&amp; clipY) || isLastRegionWithRegionFragmentBreak)
</span><span class="cx">         return flowThreadPortionRect;
</span><span class="cx"> 
</span><del>-    LayoutRect flowThreadOverflow = overflowType == VisualOverflow ? visualOverflowRectForBox(m_flowThread) : layoutOverflowRectForBox(m_flowThread);
</del><ins>+    LayoutRect flowThreadOverflow = overflowType == VisualOverflow ? m_flowThread-&gt;visualOverflowRect() : m_flowThread-&gt;layoutOverflowRect();
</ins><span class="cx"> 
</span><span class="cx">     // We are interested about the outline size only when computing the visual overflow.
</span><span class="cx">     LayoutUnit outlineSize = overflowType == VisualOverflow ? LayoutUnit(maximalOutlineSize(PaintPhaseOutline)) : LayoutUnit();
</span><span class="lines">@@ -250,6 +229,54 @@
</span><span class="cx">     return m_flowThread-&gt;lastRegion() == this;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+static bool shouldPaintRegionContentsInPhase(PaintPhase phase)
+{
+    return phase == PaintPhaseBlockBackground
+        || phase == PaintPhaseChildBlockBackground
+        || phase == PaintPhaseSelection
+        || phase == PaintPhaseTextClip;
+}
+
+void RenderRegion::paintObject(PaintInfo&amp; paintInfo, const LayoutPoint&amp; paintOffset)
+{
+    if (style().visibility() != VISIBLE)
+        return;
+
+    RenderBlockFlow::paintObject(paintInfo, paintOffset);
+
+    if (!isValid())
+        return;
+
+    // We do not want to paint a region's contents multiple times (for each paint phase of the region object).
+    // Thus, we only paint the region's contents in certain phases.
+    if (!shouldPaintRegionContentsInPhase(paintInfo.phase))
+        return;
+
+    // Delegate the painting of a region's contents to RenderFlowThread.
+    // RenderFlowThread is a self painting layer because it's a positioned object.
+    // RenderFlowThread paints its children, the collected objects.
+    setRegionObjectsRegionStyle();
+    m_flowThread-&gt;paintFlowThreadPortionInRegion(paintInfo, this, flowThreadPortionRect(), flowThreadPortionOverflowRect(), LayoutPoint(paintOffset.x() + borderLeft() + paddingLeft(), paintOffset.y() + borderTop() + paddingTop()));
+    restoreRegionObjectsOriginalStyle();
+}
+
+// Hit Testing
+bool RenderRegion::hitTestContents(const HitTestRequest&amp; request, HitTestResult&amp; result, const HitTestLocation&amp; locationInContainer, const LayoutPoint&amp; accumulatedOffset, HitTestAction action)
+{
+    if (!isValid() || action != HitTestForeground)
+        return false;
+
+    LayoutRect boundsRect = borderBoxRectInRegion(locationInContainer.region());
+    boundsRect.moveBy(accumulatedOffset);
+    if (visibleToHitTesting() &amp;&amp; locationInContainer.intersects(boundsRect)) {
+        if (m_flowThread-&gt;hitTestFlowThreadPortionInRegion(this, flowThreadPortionRect(), flowThreadPortionOverflowRect(), request, result,
+            locationInContainer, LayoutPoint(accumulatedOffset.x() + borderLeft() + paddingLeft(), accumulatedOffset.y() + borderTop() + paddingTop())))
+            return true;
+    }
+
+    return false;
+}
+
</ins><span class="cx"> void RenderRegion::checkRegionStyle()
</span><span class="cx"> {
</span><span class="cx">     ASSERT(m_flowThread);
</span><span class="lines">@@ -361,15 +388,9 @@
</span><span class="cx"> void RenderRegion::computeOverflowFromFlowThread()
</span><span class="cx"> {
</span><span class="cx">     ASSERT(isValid());
</span><del>-    
-    LayoutRect layoutRect;
-    {
-        // When getting the overflow from the flow thread we need to temporarly reset the current flow thread because
-        // we're changing flows.
-        CurrentRenderFlowThreadMaintainer flowThreadMaintainer(m_flowThread);
-        layoutRect = layoutOverflowRectForBox(m_flowThread);
-    }
</del><span class="cx"> 
</span><ins>+    LayoutRect layoutRect = layoutOverflowRectForBox(m_flowThread);
+
</ins><span class="cx">     layoutRect.setLocation(contentBoxRect().location() + (layoutRect.location() - m_flowThreadPortionRect.location()));
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Correctly adjust the layout overflow for writing modes.
</span><span class="lines">@@ -382,27 +403,23 @@
</span><span class="cx">     updateScrollInfoAfterLayout();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderRegion::repaintFlowThreadContent(const LayoutRect&amp; repaintRect, bool immediate)
</del><ins>+void RenderRegion::repaintFlowThreadContent(const LayoutRect&amp; repaintRect, bool immediate) const
</ins><span class="cx"> {
</span><del>-    repaintFlowThreadContentRectangle(repaintRect, immediate, flowThreadPortionRect(), contentBoxRect().location());
</del><ins>+    repaintFlowThreadContentRectangle(repaintRect, immediate, flowThreadPortionRect(), flowThreadPortionOverflowRect(), contentBoxRect().location());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderRegion::repaintFlowThreadContentRectangle(const LayoutRect&amp; repaintRect, bool immediate, const LayoutRect&amp; flowThreadPortionRect, const LayoutPoint&amp; regionLocation, const LayoutRect* flowThreadPortionClipRect)
</del><ins>+void RenderRegion::repaintFlowThreadContentRectangle(const LayoutRect&amp; repaintRect, bool immediate, const LayoutRect&amp; flowThreadPortionRect, const LayoutRect&amp; flowThreadPortionOverflowRect, const LayoutPoint&amp; regionLocation) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isValid());
</span><span class="cx"> 
</span><span class="cx">     // We only have to issue a repaint in this region if the region rect intersects the repaint rect.
</span><span class="cx">     LayoutRect flippedFlowThreadPortionRect(flowThreadPortionRect);
</span><ins>+    LayoutRect flippedFlowThreadPortionOverflowRect(flowThreadPortionOverflowRect);
</ins><span class="cx">     flowThread()-&gt;flipForWritingMode(flippedFlowThreadPortionRect); // Put the region rects into physical coordinates.
</span><ins>+    flowThread()-&gt;flipForWritingMode(flippedFlowThreadPortionOverflowRect);
</ins><span class="cx"> 
</span><span class="cx">     LayoutRect clippedRect(repaintRect);
</span><del>-
-    if (flowThreadPortionClipRect) {
-        LayoutRect flippedFlowThreadPortionClipRect(*flowThreadPortionClipRect);
-        flowThread()-&gt;flipForWritingMode(flippedFlowThreadPortionClipRect);
-        clippedRect.intersect(flippedFlowThreadPortionClipRect);
-    }
-
</del><ins>+    clippedRect.intersect(flippedFlowThreadPortionOverflowRect);
</ins><span class="cx">     if (clippedRect.isEmpty())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -594,9 +611,9 @@
</span><span class="cx"> 
</span><span class="cx"> void RenderRegion::insertedIntoTree()
</span><span class="cx"> {
</span><ins>+    RenderBlockFlow::insertedIntoTree();
+
</ins><span class="cx">     attachRegion();
</span><del>-    if (isValid())
-        RenderBlockFlow::insertedIntoTree();
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderRegion::willBeRemovedFromTree()
</span><span class="lines">@@ -770,39 +787,25 @@
</span><span class="cx">     UNUSED_PARAM(layerOffset);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderRegion::ensureOverflowForBox(const RenderBox* box, RefPtr&lt;RenderOverflow&gt;&amp; overflow, bool forceCreation)
</del><ins>+
+RenderOverflow* RenderRegion::ensureOverflowForBox(const RenderBox* box)
</ins><span class="cx"> {
</span><del>-    RenderFlowThread* flowThread = this-&gt;flowThread();
-    ASSERT(flowThread);
-    
</del><span class="cx">     RenderBoxRegionInfo* boxInfo = renderBoxRegionInfo(box);
</span><del>-    if (!boxInfo &amp;&amp; !forceCreation)
-        return;
</del><ins>+    if (!boxInfo)
+        return 0;
</ins><span class="cx"> 
</span><del>-    if (boxInfo &amp;&amp; boxInfo-&gt;overflow()) {
-        overflow = boxInfo-&gt;overflow();
-        return;
-    }
-    
</del><ins>+    if (boxInfo-&gt;overflow())
+        return boxInfo-&gt;overflow();
+
</ins><span class="cx">     LayoutRect borderBox = box-&gt;borderBoxRectInRegion(this);
</span><del>-    LayoutRect clientBox;
-    ASSERT(flowThread-&gt;objectShouldPaintInFlowRegion(box, this));
</del><ins>+    borderBox = rectFlowPortionForBox(box, borderBox);
</ins><span class="cx"> 
</span><del>-    if (!borderBox.isEmpty()) {
-        borderBox = rectFlowPortionForBox(box, borderBox);
-        
-        clientBox = box-&gt;clientBoxRectInRegion(this);
-        clientBox = rectFlowPortionForBox(box, clientBox);
-        
-        flowThread-&gt;flipForWritingModeLocalCoordinates(borderBox);
-        flowThread-&gt;flipForWritingModeLocalCoordinates(clientBox);
-    }
</del><ins>+    LayoutRect clientBox = box-&gt;clientBoxRectInRegion(this);
+    clientBox = rectFlowPortionForBox(box, clientBox);
</ins><span class="cx"> 
</span><del>-    if (boxInfo) {
-        boxInfo-&gt;createOverflow(clientBox, borderBox);
-        overflow = boxInfo-&gt;overflow();
-    } else
-        overflow = adoptRef(new RenderOverflow(clientBox, borderBox));
</del><ins>+    boxInfo-&gt;createOverflow(clientBox, borderBox);
+
+    return boxInfo-&gt;overflow();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayoutRect RenderRegion::rectFlowPortionForBox(const RenderBox* box, const LayoutRect&amp; rect) const
</span><span class="lines">@@ -811,38 +814,26 @@
</span><span class="cx">     RenderRegion* endRegion = 0;
</span><span class="cx">     m_flowThread-&gt;getRegionRangeForBox(box, startRegion, endRegion);
</span><span class="cx"> 
</span><ins>+    // FIXME: Is this writing mode friendly?
</ins><span class="cx">     LayoutRect mappedRect = m_flowThread-&gt;mapFromLocalToFlowThread(box, rect);
</span><del>-    if (flowThread()-&gt;isHorizontalWritingMode()) {
-        if (this != startRegion)
-            mappedRect.shiftYEdgeTo(std::max&lt;LayoutUnit&gt;(logicalTopForFlowThreadContent(), mappedRect.y()));
</del><ins>+    if (this != startRegion)
+        mappedRect.shiftYEdgeTo(std::max&lt;LayoutUnit&gt;(logicalTopForFlowThreadContent(), mappedRect.y()));
+    if (this != endRegion)
+        mappedRect.setHeight(std::max&lt;LayoutUnit&gt;(0, std::min&lt;LayoutUnit&gt;(logicalBottomForFlowThreadContent() - mappedRect.y(), mappedRect.height())));
</ins><span class="cx"> 
</span><del>-        if (this != endRegion)
-            mappedRect.setHeight(std::max&lt;LayoutUnit&gt;(0, std::min&lt;LayoutUnit&gt;(logicalBottomForFlowThreadContent() - mappedRect.y(), mappedRect.height())));
-    } else {
-        if (this != startRegion)
-            mappedRect.shiftXEdgeTo(std::max&lt;LayoutUnit&gt;(logicalTopForFlowThreadContent(), mappedRect.x()));
-            
-        if (this != endRegion)
-            mappedRect.setWidth(std::max&lt;LayoutUnit&gt;(0, std::min&lt;LayoutUnit&gt;(logicalBottomForFlowThreadContent() - mappedRect.x(), mappedRect.width())));
-    }
-
</del><span class="cx">     bool clipX = style().overflowX() != OVISIBLE;
</span><span class="cx">     bool clipY = style().overflowY() != OVISIBLE;
</span><span class="cx">     bool isLastRegionWithRegionFragmentBreak = (isLastRegion() &amp;&amp; (style().regionFragment() == BreakRegionFragment));
</span><span class="cx">     if ((clipX &amp;&amp; clipY) || isLastRegionWithRegionFragmentBreak)
</span><span class="cx">         mappedRect.intersect(flowThreadPortionRect());
</span><span class="cx"> 
</span><del>-    return mappedRect.isEmpty() ? mappedRect : m_flowThread-&gt;mapFromFlowThreadToLocal(box, mappedRect);
</del><ins>+    return m_flowThread-&gt;mapFromFlowThreadToLocal(box, mappedRect);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderRegion::addLayoutOverflowForBox(const RenderBox* box, const LayoutRect&amp; rect)
</span><span class="cx"> {
</span><del>-    if (rect.isEmpty())
-        return;
</del><ins>+    RenderOverflow* regionOverflow = ensureOverflowForBox(box);
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;RenderOverflow&gt; regionOverflow;
-    ensureOverflowForBox(box, regionOverflow, false);
-
</del><span class="cx">     if (!regionOverflow)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -851,35 +842,29 @@
</span><span class="cx"> 
</span><span class="cx"> void RenderRegion::addVisualOverflowForBox(const RenderBox* box, const LayoutRect&amp; rect)
</span><span class="cx"> {
</span><del>-    if (rect.isEmpty())
-        return;
</del><ins>+    RenderOverflow* regionOverflow = ensureOverflowForBox(box);
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;RenderOverflow&gt; regionOverflow;
-    ensureOverflowForBox(box, regionOverflow, false);
-
</del><span class="cx">     if (!regionOverflow)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    LayoutRect flippedRect = rect;
-    flowThread()-&gt;flipForWritingModeLocalCoordinates(flippedRect);
-    regionOverflow-&gt;addVisualOverflow(flippedRect);
</del><ins>+    regionOverflow-&gt;addVisualOverflow(rect);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayoutRect RenderRegion::layoutOverflowRectForBox(const RenderBox* box)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;RenderOverflow&gt; overflow;
-    ensureOverflowForBox(box, overflow, true);
-    
-    ASSERT(overflow);
</del><ins>+    RenderOverflow* overflow = ensureOverflowForBox(box);
+    if (!overflow)
+        return box-&gt;layoutOverflowRect();
+
</ins><span class="cx">     return overflow-&gt;layoutOverflowRect();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayoutRect RenderRegion::visualOverflowRectForBox(const RenderBox* box)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;RenderOverflow&gt; overflow;
-    ensureOverflowForBox(box, overflow, true);
-    
-    ASSERT(overflow);
</del><ins>+    RenderOverflow* overflow = ensureOverflowForBox(box);
+    if (!overflow)
+        return box-&gt;visualOverflowRect();
+
</ins><span class="cx">     return overflow-&gt;visualOverflowRect();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -904,11 +889,10 @@
</span><span class="cx">     return rect;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This doesn't work for writing modes.
</ins><span class="cx"> LayoutRect RenderRegion::visualOverflowRectForBoxForPropagation(const RenderBox* box)
</span><span class="cx"> {
</span><span class="cx">     LayoutRect rect = visualOverflowRectForBox(box);
</span><del>-    flowThread()-&gt;flipForWritingModeLocalCoordinates(rect);
-
</del><span class="cx">     return rect;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderRegionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderRegion.h (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderRegion.h        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderRegion.h        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -49,16 +49,14 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual bool isRenderRegion() const OVERRIDE FINAL { return true; }
</span><span class="cx"> 
</span><ins>+    virtual bool hitTestContents(const HitTestRequest&amp;, HitTestResult&amp;, const HitTestLocation&amp; locationInContainer, const LayoutPoint&amp; accumulatedOffset, HitTestAction) OVERRIDE;
+
</ins><span class="cx">     virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
</span><span class="cx"> 
</span><span class="cx">     void setFlowThreadPortionRect(const LayoutRect&amp; rect) { m_flowThreadPortionRect = rect; }
</span><span class="cx">     LayoutRect flowThreadPortionRect() const { return m_flowThreadPortionRect; }
</span><del>-    LayoutRect flowThreadPortionOverflowRect();
</del><ins>+    LayoutRect flowThreadPortionOverflowRect() const;
</ins><span class="cx"> 
</span><del>-    LayoutPoint flowThreadPortionLocation() const;
-    
-    RenderLayer* regionContainerLayer() const;
-
</del><span class="cx">     void attachRegion();
</span><span class="cx">     void detachRegion();
</span><span class="cx"> 
</span><span class="lines">@@ -137,7 +135,7 @@
</span><span class="cx">     // Whether or not this region is a set.
</span><span class="cx">     virtual bool isRenderRegionSet() const { return false; }
</span><span class="cx">     
</span><del>-    virtual void repaintFlowThreadContent(const LayoutRect&amp; repaintRect, bool immediate);
</del><ins>+    virtual void repaintFlowThreadContent(const LayoutRect&amp; repaintRect, bool immediate) const;
</ins><span class="cx"> 
</span><span class="cx">     virtual void collectLayerFragments(LayerFragments&amp;, const LayoutRect&amp;, const LayoutRect&amp;) { }
</span><span class="cx"> 
</span><span class="lines">@@ -151,9 +149,6 @@
</span><span class="cx">     LayoutRect visualOverflowRectForBoxForPropagation(const RenderBox*);
</span><span class="cx"> 
</span><span class="cx">     LayoutRect rectFlowPortionForBox(const RenderBox*, const LayoutRect&amp;) const;
</span><del>-    
-    void setRegionObjectsRegionStyle();
-    void restoreRegionObjectsOriginalStyle();
</del><span class="cx"> 
</span><span class="cx">     virtual bool canHaveChildren() const OVERRIDE { return false; }
</span><span class="cx">     virtual bool canHaveGeneratedChildren() const OVERRIDE { return true; }
</span><span class="lines">@@ -163,8 +158,11 @@
</span><span class="cx">     RenderRegion(Element&amp;, PassRef&lt;RenderStyle&gt;, RenderFlowThread*);
</span><span class="cx">     RenderRegion(Document&amp;, PassRef&lt;RenderStyle&gt;, RenderFlowThread*);
</span><span class="cx"> 
</span><del>-    void ensureOverflowForBox(const RenderBox*, RefPtr&lt;RenderOverflow&gt;&amp;, bool);
</del><ins>+    RenderOverflow* ensureOverflowForBox(const RenderBox*);
</ins><span class="cx"> 
</span><ins>+    void setRegionObjectsRegionStyle();
+    void restoreRegionObjectsOriginalStyle();
+
</ins><span class="cx">     virtual void computePreferredLogicalWidths() OVERRIDE;
</span><span class="cx">     virtual void computeIntrinsicLogicalWidths(LayoutUnit&amp; minLogicalWidth, LayoutUnit&amp; maxLogicalWidth) const OVERRIDE;
</span><span class="cx"> 
</span><span class="lines">@@ -172,9 +170,11 @@
</span><span class="cx">         LayoutOverflow = 0,
</span><span class="cx">         VisualOverflow
</span><span class="cx">     };
</span><ins>+    LayoutRect overflowRectForFlowThreadPortion(const LayoutRect&amp; flowThreadPortionRect, bool isFirstPortion, bool isLastPortion, OverflowType) const;
</ins><span class="cx"> 
</span><del>-    LayoutRect overflowRectForFlowThreadPortion(const LayoutRect&amp; flowThreadPortionRect, bool isFirstPortion, bool isLastPortion, OverflowType);
-    void repaintFlowThreadContentRectangle(const LayoutRect&amp; repaintRect, bool immediate, const LayoutRect&amp; flowThreadPortionRect, const LayoutPoint&amp; regionLocation, const LayoutRect* flowThreadPortionClipRect = 0);
</del><ins>+    void repaintFlowThreadContentRectangle(const LayoutRect&amp; repaintRect, bool immediate, const LayoutRect&amp; flowThreadPortionRect,
+        const LayoutRect&amp; flowThreadPortionOverflowRect, const LayoutPoint&amp; regionLocation) const;
+
</ins><span class="cx">     virtual bool shouldHaveAutoLogicalHeight() const;
</span><span class="cx"> 
</span><span class="cx">     void computeOverflowFromFlowThread();
</span><span class="lines">@@ -186,6 +186,7 @@
</span><span class="cx">     virtual void willBeRemovedFromTree() OVERRIDE;
</span><span class="cx"> 
</span><span class="cx">     virtual void layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeight = 0) OVERRIDE;
</span><ins>+    virtual void paintObject(PaintInfo&amp;, const LayoutPoint&amp;) OVERRIDE;
</ins><span class="cx"> 
</span><span class="cx">     virtual void installFlowThread();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderReplacedcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderReplaced.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderReplaced.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RenderReplaced.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -30,9 +30,7 @@
</span><span class="cx"> #include &quot;LayoutRepainter.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> #include &quot;RenderBlock.h&quot;
</span><del>-#include &quot;RenderFlowThread.h&quot;
</del><span class="cx"> #include &quot;RenderLayer.h&quot;
</span><del>-#include &quot;RenderRegion.h&quot;
</del><span class="cx"> #include &quot;RenderTheme.h&quot;
</span><span class="cx"> #include &quot;RenderView.h&quot;
</span><span class="cx"> #include &quot;VisiblePosition.h&quot;
</span><span class="lines">@@ -190,10 +188,6 @@
</span><span class="cx">     // if we're invisible or haven't received a layout yet, then just bail.
</span><span class="cx">     if (style().visibility() != VISIBLE)
</span><span class="cx">         return false;
</span><del>-    
-    // Check our region range to make sure we need to be painting in this region.
-    if (paintInfo.renderRegion &amp;&amp; !paintInfo.renderRegion-&gt;flowThread()-&gt;objectShouldPaintInFlowRegion(this, paintInfo.renderRegion))
-        return false;
</del><span class="cx"> 
</span><span class="cx">     LayoutPoint adjustedPaintOffset = paintOffset + location();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRootInlineBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RootInlineBox.cpp (159346 => 159347)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RootInlineBox.cpp        2013-11-15 19:07:01 UTC (rev 159346)
+++ trunk/Source/WebCore/rendering/RootInlineBox.cpp        2013-11-15 19:21:23 UTC (rev 159347)
</span><span class="lines">@@ -193,10 +193,6 @@
</span><span class="cx"> 
</span><span class="cx"> void RootInlineBox::paint(PaintInfo&amp; paintInfo, const LayoutPoint&amp; paintOffset, LayoutUnit lineTop, LayoutUnit lineBottom)
</span><span class="cx"> {
</span><del>-    // Check if we are in the correct region.
-    if (paintInfo.renderRegion &amp;&amp; containingRegion() &amp;&amp; containingRegion() != paintInfo.renderRegion)
-        return;
-    
</del><span class="cx">     InlineFlowBox::paint(paintInfo, paintOffset, lineTop, lineBottom);
</span><span class="cx">     paintEllipsisBox(paintInfo, paintOffset, lineTop, lineBottom);
</span><span class="cx"> #if PLATFORM(MAC)
</span></span></pre>
</div>
</div>

</body>
</html>