<!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>[190834] trunk/Source/WebCore</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/190834">190834</a></dd>
<dt>Author</dt> <dd>simon.fraser@apple.com</dd>
<dt>Date</dt> <dd>2015-10-09 19:20:52 -0700 (Fri, 09 Oct 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Rename RenderObject::isRoot() to isDocumentElementRenderer()
https://bugs.webkit.org/show_bug.cgi?id=149976
Reviewed by Zalan Bujtas.
RenderObject::isRoot() was confusingly named, because it returns true for
the document element's renderer, not for the actual root (the RenderView).
In this way it mismatched RenderLayer::isRootLayer(), which returned true
for the RenderView's layer.
Rename it to the more accurate isDocumentElementRenderer().
* dom/Node.cpp:
(WebCore::Node::renderRect):
* page/ios/FrameIOS.mm:
(WebCore::Frame::renderRectForPoint):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::isSelectionRoot):
(WebCore::RenderBlock::selectionGaps):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::requiresColumns):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateFromStyle):
(WebCore::RenderBox::paintBackground):
(WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):
(WebCore::RenderBox::repaintLayerRectsForImage):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::createsNewFormattingContext):
(WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock):
* rendering/RenderBox.h:
(WebCore::RenderBox::stretchesToViewport):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
* rendering/RenderBoxModelObject.h:
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
* rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::rendererForRootBackground):
(WebCore::shouldRepaintForImageAnimation):
* rendering/RenderElement.h:
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
* rendering/RenderLayer.cpp:
(WebCore::shouldSuppressPaintingLayer):
(WebCore::paintForFixedRootBackground):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::rendererBackgroundColor):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::styleDidChange):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::repaintSlowRepaintObject):
(WebCore::RenderObject::offsetParent):
* rendering/RenderObject.h:
(WebCore::RenderObject::isDocumentElementRenderer):
(WebCore::RenderObject::isRoot): Deleted.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::paint):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::shouldApplyViewportClip):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::isOverflowHidden):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoredomNodecpp">trunk/Source/WebCore/dom/Node.cpp</a></li>
<li><a href="#trunkSourceWebCorepageiosFrameIOSmm">trunk/Source/WebCore/page/ios/FrameIOS.mm</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="#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="#trunkSourceWebCorerenderingRenderDeprecatedFlexibleBoxcpp">trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderElementcpp">trunk/Source/WebCore/rendering/RenderElement.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderElementh">trunk/Source/WebCore/rendering/RenderElement.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderFlexibleBoxcpp">trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderGridcpp">trunk/Source/WebCore/rendering/RenderGrid.cpp</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="#trunkSourceWebCorerenderingRenderLayerBackingcpp">trunk/Source/WebCore/rendering/RenderLayerBacking.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerModelObjectcpp">trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderObjectcpp">trunk/Source/WebCore/rendering/RenderObject.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderObjecth">trunk/Source/WebCore/rendering/RenderObject.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTablecpp">trunk/Source/WebCore/rendering/RenderTable.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgRenderSVGRootcpp">trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGRenderSupportcpp">trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/ChangeLog        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -1,3 +1,83 @@
</span><ins>+2015-10-09 Simon Fraser <simon.fraser@apple.com>
+
+ Rename RenderObject::isRoot() to isDocumentElementRenderer()
+ https://bugs.webkit.org/show_bug.cgi?id=149976
+
+ Reviewed by Zalan Bujtas.
+
+ RenderObject::isRoot() was confusingly named, because it returns true for
+ the document element's renderer, not for the actual root (the RenderView).
+ In this way it mismatched RenderLayer::isRootLayer(), which returned true
+ for the RenderView's layer.
+
+ Rename it to the more accurate isDocumentElementRenderer().
+
+ * dom/Node.cpp:
+ (WebCore::Node::renderRect):
+ * page/ios/FrameIOS.mm:
+ (WebCore::Frame::renderRectForPoint):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paint):
+ (WebCore::RenderBlock::isSelectionRoot):
+ (WebCore::RenderBlock::selectionGaps):
+ * rendering/RenderBlockFlow.cpp:
+ (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
+ (WebCore::RenderBlockFlow::layoutBlock):
+ (WebCore::RenderBlockFlow::requiresColumns):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleWillChange):
+ (WebCore::RenderBox::styleDidChange):
+ (WebCore::RenderBox::updateFromStyle):
+ (WebCore::RenderBox::paintBackground):
+ (WebCore::RenderBox::computeBackgroundIsKnownToBeObscured):
+ (WebCore::RenderBox::repaintLayerRectsForImage):
+ (WebCore::RenderBox::computeLogicalHeight):
+ (WebCore::RenderBox::computePercentageLogicalHeight):
+ (WebCore::RenderBox::createsNewFormattingContext):
+ (WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock):
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::stretchesToViewport):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ (WebCore::RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates):
+ (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
+ * rendering/RenderBoxModelObject.h:
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
+ * rendering/RenderElement.cpp:
+ (WebCore::RenderElement::styleWillChange):
+ (WebCore::RenderElement::rendererForRootBackground):
+ (WebCore::shouldRepaintForImageAnimation):
+ * rendering/RenderElement.h:
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutBlock):
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::layoutBlock):
+ * rendering/RenderLayer.cpp:
+ (WebCore::shouldSuppressPaintingLayer):
+ (WebCore::paintForFixedRootBackground):
+ (WebCore::RenderLayer::paintLayerContents):
+ (WebCore::RenderLayer::calculateClipRects):
+ * rendering/RenderLayer.h:
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::rendererBackgroundColor):
+ (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
+ * rendering/RenderLayerModelObject.cpp:
+ (WebCore::RenderLayerModelObject::styleDidChange):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintSlowRepaintObject):
+ (WebCore::RenderObject::offsetParent):
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isDocumentElementRenderer):
+ (WebCore::RenderObject::isRoot): Deleted.
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::paint):
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::layout):
+ (WebCore::RenderSVGRoot::shouldApplyViewportClip):
+ * rendering/svg/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderSupport::isOverflowHidden):
+
</ins><span class="cx"> 2015-10-09 Nan Wang <n_wang@apple.com>
</span><span class="cx">
</span><span class="cx"> AX: ARIA 1.1 implement aria-colcount, aria-colindex, aria-colspan, aria-rowcount, aria-rowindex and aria-rowspan
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/dom/Node.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -721,7 +721,7 @@
</span><span class="cx"> RenderObject* hitRenderer = this->renderer();
</span><span class="cx"> ASSERT(hitRenderer);
</span><span class="cx"> RenderObject* renderer = hitRenderer;
</span><del>- while (renderer && !renderer->isBody() && !renderer->isRoot()) {
</del><ins>+ while (renderer && !renderer->isBody() && !renderer->isDocumentElementRenderer()) {
</ins><span class="cx"> if (renderer->isRenderBlock() || renderer->isInlineBlockOrInlineTable() || renderer->isReplaced()) {
</span><span class="cx"> *isReplaced = renderer->isReplaced();
</span><span class="cx"> return renderer->absoluteBoundingBoxRect();
</span></span></pre></div>
<a id="trunkSourceWebCorepageiosFrameIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/ios/FrameIOS.mm (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ios/FrameIOS.mm        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/page/ios/FrameIOS.mm        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -241,7 +241,7 @@
</span><span class="cx"> #if RECT_LOGGING
</span><span class="cx"> printf("\n%f %f\n", point.x, point.y);
</span><span class="cx"> #endif
</span><del>- while (renderer && !renderer->isBody() && !renderer->isRoot()) {
</del><ins>+ while (renderer && !renderer->isBody() && !renderer->isDocumentElementRenderer()) {
</ins><span class="cx"> #if RECT_LOGGING
</span><span class="cx"> CGRect rect = renderer->absoluteBoundingBoxRect(true);
</span><span class="cx"> if (renderer->node()) {
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlock.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -1395,9 +1395,9 @@
</span><span class="cx"> PaintPhase phase = paintInfo.phase;
</span><span class="cx">
</span><span class="cx"> // Check if we need to do anything at all.
</span><del>- // FIXME: Could eliminate the isRoot() check if we fix background painting so that the RenderView
</del><ins>+ // FIXME: Could eliminate the isDocumentElementRenderer() check if we fix background painting so that the RenderView
</ins><span class="cx"> // paints the root's background.
</span><del>- if (!isRoot()) {
</del><ins>+ if (!isDocumentElementRenderer()) {
</ins><span class="cx"> LayoutRect overflowBox = overflowRectForPaintRejection(namedFlowFragment);
</span><span class="cx"> flipForWritingMode(overflowBox);
</span><span class="cx"> adjustRectWithMaximumOutline(phase, overflowBox);
</span><span class="lines">@@ -1723,7 +1723,7 @@
</span><span class="cx"> if (isTable())
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (isBody() || isRoot() || hasOverflowClip()
</del><ins>+ if (isBody() || isDocumentElementRenderer() || hasOverflowClip()
</ins><span class="cx"> || isPositioned() || isFloating()
</span><span class="cx"> || isTableCell() || isInlineBlockOrInlineTable()
</span><span class="cx"> || hasTransform() || hasReflection() || hasMask() || isWritingModeRoot()
</span><span class="lines">@@ -1833,9 +1833,10 @@
</span><span class="cx"> rootBlock.flipForWritingMode(flippedBlockRect);
</span><span class="cx"> flippedBlockRect.moveBy(rootBlockPhysicalPosition);
</span><span class="cx"> clipOutPositionedObjects(paintInfo, flippedBlockRect.location(), positionedObjects());
</span><del>- if (isBody() || isRoot()) // The <body> must make sure to examine its containingBlock's positioned objects.
</del><ins>+ if (isBody() || isDocumentElementRenderer()) { // The <body> must make sure to examine its containingBlock's positioned objects.
</ins><span class="cx"> for (RenderBlock* cb = containingBlock(); cb && !cb->isRenderView(); cb = cb->containingBlock())
</span><span class="cx"> clipOutPositionedObjects(paintInfo, LayoutPoint(cb->x(), cb->y()), cb->positionedObjects()); // FIXME: Not right for flipped writing modes.
</span><ins>+ }
</ins><span class="cx"> clipOutFloatingObjects(rootBlock, paintInfo, rootBlockPhysicalPosition, offsetFromRootBlock);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockFlowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlockFlow.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -213,7 +213,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Inline blocks are covered by the isReplaced() check in the avoidFloats method.
</span><del>- if (avoidsFloats() || isRoot() || isRenderView() || isFloatingOrOutOfFlowPositioned() || isTableCell()) {
</del><ins>+ if (avoidsFloats() || isDocumentElementRenderer() || isRenderView() || isFloatingOrOutOfFlowPositioned() || isTableCell()) {
</ins><span class="cx"> if (m_floatingObjects)
</span><span class="cx"> m_floatingObjects->clear();
</span><span class="cx"> if (!oldIntrudingFloatSet.isEmpty())
</span><span class="lines">@@ -521,7 +521,7 @@
</span><span class="cx"> if (heightChanged)
</span><span class="cx"> relayoutChildren = true;
</span><span class="cx">
</span><del>- layoutPositionedObjects(relayoutChildren || isRoot());
</del><ins>+ layoutPositionedObjects(relayoutChildren || isDocumentElementRenderer());
</ins><span class="cx">
</span><span class="cx"> // Add overflow from children (unless we're multi-column, since in that case all our child overflow is clipped anyway).
</span><span class="cx"> computeOverflow(oldClientAfterEdge);
</span><span class="lines">@@ -3838,7 +3838,7 @@
</span><span class="cx"> {
</span><span class="cx"> // If overflow-y is set to paged-x or paged-y on the body or html element, we'll handle the paginating
</span><span class="cx"> // in the RenderView instead.
</span><del>- bool isPaginated = (style().overflowY() == OPAGEDX || style().overflowY() == OPAGEDY) && !(isRoot() || isBody());
</del><ins>+ bool isPaginated = (style().overflowY() == OPAGEDX || style().overflowY() == OPAGEDY) && !(isDocumentElementRenderer() || isBody());
</ins><span class="cx">
</span><span class="cx"> return firstChild() && (desiredColumnCount != 1 || !style().hasAutoColumnWidth() || !style().hasInlineColumnAxis() || isPaginated);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBox.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -293,7 +293,7 @@
</span><span class="cx"> if (oldStyle) {
</span><span class="cx"> // The background of the root element or the body element could propagate up to
</span><span class="cx"> // the canvas. Issue full repaint, when our style changes substantially.
</span><del>- if (diff >= StyleDifferenceRepaint && (isRoot() || isBody())) {
</del><ins>+ if (diff >= StyleDifferenceRepaint && (isDocumentElementRenderer() || isBody())) {
</ins><span class="cx"> view().repaintRootContents();
</span><span class="cx"> if (oldStyle->hasEntirelyFixedBackground() != newStyle.hasEntirelyFixedBackground())
</span><span class="cx"> view().compositor().rootFixedBackgroundsChanged();
</span><span class="lines">@@ -373,20 +373,20 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool isBodyRenderer = isBody();
</span><del>- bool isRootRenderer = isRoot();
</del><ins>+ bool isDocElementRenderer = isDocumentElementRenderer();
</ins><span class="cx">
</span><span class="cx"> // Set the text color if we're the body.
</span><span class="cx"> if (isBodyRenderer)
</span><span class="cx"> document().setTextColor(newStyle.visitedDependentColor(CSSPropertyColor));
</span><span class="cx">
</span><del>- if (isRootRenderer || isBodyRenderer) {
</del><ins>+ if (isDocElementRenderer || isBodyRenderer) {
</ins><span class="cx"> // Propagate the new writing mode and direction up to the RenderView.
</span><span class="cx"> RenderStyle& viewStyle = view().style();
</span><span class="cx"> bool viewChangedWritingMode = false;
</span><span class="cx"> bool rootStyleChanged = false;
</span><span class="cx"> bool viewStyleChanged = false;
</span><span class="cx"> RenderObject* rootRenderer = isBodyRenderer ? document().documentElement()->renderer() : nullptr;
</span><del>- if (viewStyle.direction() != newStyle.direction() && (isRootRenderer || !document().directionSetOnDocumentElement())) {
</del><ins>+ if (viewStyle.direction() != newStyle.direction() && (isDocElementRenderer || !document().directionSetOnDocumentElement())) {
</ins><span class="cx"> viewStyle.setDirection(newStyle.direction());
</span><span class="cx"> viewStyleChanged = true;
</span><span class="cx"> if (isBodyRenderer) {
</span><span class="lines">@@ -396,7 +396,7 @@
</span><span class="cx"> setNeedsLayoutAndPrefWidthsRecalc();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (viewStyle.writingMode() != newStyle.writingMode() && (isRootRenderer || !document().writingModeSetOnDocumentElement())) {
</del><ins>+ if (viewStyle.writingMode() != newStyle.writingMode() && (isDocElementRenderer || !document().writingModeSetOnDocumentElement())) {
</ins><span class="cx"> viewStyle.setWritingMode(newStyle.writingMode());
</span><span class="cx"> viewChangedWritingMode = true;
</span><span class="cx"> viewStyleChanged = true;
</span><span class="lines">@@ -477,17 +477,17 @@
</span><span class="cx"> RenderBoxModelObject::updateFromStyle();
</span><span class="cx">
</span><span class="cx"> const RenderStyle& styleToUse = style();
</span><del>- bool isRootObject = isRoot();
</del><ins>+ bool isDocElementRenderer = isDocumentElementRenderer();
</ins><span class="cx"> bool isViewObject = isRenderView();
</span><span class="cx">
</span><span class="cx"> // The root and the RenderView always paint their backgrounds/borders.
</span><del>- if (isRootObject || isViewObject)
</del><ins>+ if (isDocElementRenderer || isViewObject)
</ins><span class="cx"> setHasBoxDecorations(true);
</span><span class="cx">
</span><span class="cx"> setFloating(!isOutOfFlowPositioned() && styleToUse.isFloating());
</span><span class="cx">
</span><span class="cx"> // We also handle <body> and <html>, whose overflow applies to the viewport.
</span><del>- if (styleToUse.overflowX() != OVISIBLE && !isRootObject && isRenderBlock()) {
</del><ins>+ if (styleToUse.overflowX() != OVISIBLE && !isDocElementRenderer && isRenderBlock()) {
</ins><span class="cx"> bool boxHasOverflowClip = true;
</span><span class="cx"> if (isBody()) {
</span><span class="cx"> // Overflow on the body can propagate to the viewport under the following conditions.
</span><span class="lines">@@ -1325,7 +1325,7 @@
</span><span class="cx">
</span><span class="cx"> void RenderBox::paintBackground(const PaintInfo& paintInfo, const LayoutRect& paintRect, BackgroundBleedAvoidance bleedAvoidance)
</span><span class="cx"> {
</span><del>- if (isRoot()) {
</del><ins>+ if (isDocumentElementRenderer()) {
</ins><span class="cx"> paintRootBoxFillLayers(paintInfo);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1463,7 +1463,7 @@
</span><span class="cx"> if (!hasBackground())
</span><span class="cx"> return false;
</span><span class="cx"> // Table and root background painting is special.
</span><del>- if (isTable() || isRoot())
</del><ins>+ if (isTable() || isDocumentElementRenderer())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> LayoutRect backgroundRect;
</span><span class="lines">@@ -1670,7 +1670,7 @@
</span><span class="cx"> for (const FillLayer* curLayer = layers; curLayer; curLayer = curLayer->next()) {
</span><span class="cx"> if (curLayer->image() && image == curLayer->image()->data() && curLayer->image()->canRender(this, style().effectiveZoom())) {
</span><span class="cx"> // Now that we know this image is being used, compute the renderer and the rect if we haven't already.
</span><del>- bool drawingRootBackground = drawingBackground && (isRoot() || (isBody() && !document().documentElement()->renderer()->hasBackground()));
</del><ins>+ bool drawingRootBackground = drawingBackground && (isDocumentElementRenderer() || (isBody() && !document().documentElement()->renderer()->hasBackground()));
</ins><span class="cx"> if (!layerRenderer) {
</span><span class="cx"> if (drawingRootBackground) {
</span><span class="cx"> layerRenderer = &view();
</span><span class="lines">@@ -2801,11 +2801,11 @@
</span><span class="cx"> // height since we don't set a height in RenderView when we're printing. So without this quirk, the
</span><span class="cx"> // height has nothing to be a percentage of, and it ends up being 0. That is bad.
</span><span class="cx"> bool paginatedContentNeedsBaseHeight = document().printing() && h.isPercentOrCalculated()
</span><del>- && (isRoot() || (isBody() && document().documentElement()->renderer()->style().logicalHeight().isPercentOrCalculated())) && !isInline();
</del><ins>+ && (isDocumentElementRenderer() || (isBody() && document().documentElement()->renderer()->style().logicalHeight().isPercentOrCalculated())) && !isInline();
</ins><span class="cx"> if (stretchesToViewport() || paginatedContentNeedsBaseHeight) {
</span><span class="cx"> LayoutUnit margins = collapsedMarginBefore() + collapsedMarginAfter();
</span><span class="cx"> LayoutUnit visibleHeight = view().pageOrViewLogicalHeight();
</span><del>- if (isRoot())
</del><ins>+ if (isDocumentElementRenderer())
</ins><span class="cx"> computedValues.m_extent = std::max(computedValues.m_extent, visibleHeight - margins);
</span><span class="cx"> else {
</span><span class="cx"> LayoutUnit marginsBordersPadding = margins + parentBox()->marginBefore() + parentBox()->marginAfter() + parentBox()->borderAndPaddingLogicalHeight();
</span><span class="lines">@@ -2879,7 +2879,7 @@
</span><span class="cx"> LayoutUnit rootMarginBorderPaddingHeight = 0;
</span><span class="cx"> bool isHorizontal = isHorizontalWritingMode();
</span><span class="cx"> while (!cb->isRenderView() && skipContainingBlockForPercentHeightCalculation(cb, isHorizontal != cb->isHorizontalWritingMode())) {
</span><del>- if (cb->isBody() || cb->isRoot())
</del><ins>+ if (cb->isBody() || cb->isDocumentElementRenderer())
</ins><span class="cx"> rootMarginBorderPaddingHeight += cb->marginBefore() + cb->marginAfter() + cb->borderAndPaddingLogicalHeight();
</span><span class="cx"> skippedAutoHeightContainingBlock = true;
</span><span class="cx"> containingBlockChild = cb;
</span><span class="lines">@@ -4381,7 +4381,7 @@
</span><span class="cx"> bool RenderBox::createsNewFormattingContext() const
</span><span class="cx"> {
</span><span class="cx"> return (isInlineBlockOrInlineTable() && !isAnonymousInlineBlock()) || isFloatingOrOutOfFlowPositioned() || hasOverflowClip() || isFlexItemIncludingDeprecated()
</span><del>- || isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot() || isRoot() || isRenderFlowThread() || isRenderRegion()
</del><ins>+ || isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot() || isDocumentElementRenderer() || isRenderFlowThread() || isRenderRegion()
</ins><span class="cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span><span class="cx"> || isGridItem()
</span><span class="cx"> #endif
</span><span class="lines">@@ -4608,7 +4608,7 @@
</span><span class="cx"> return percentageLogicalHeightIsResolvableFromBlock(cb->containingBlock(), cb->isOutOfFlowPositioned());
</span><span class="cx"> if (cb->isRenderView() || inQuirksMode || isOutOfFlowPositionedWithSpecifiedHeight)
</span><span class="cx"> return true;
</span><del>- if (cb->isRoot() && isOutOfFlowPositioned) {
</del><ins>+ if (cb->isDocumentElementRenderer() && isOutOfFlowPositioned) {
</ins><span class="cx"> // Match the positioned objects behavior, which is that positioned objects will fill their viewport
</span><span class="cx"> // always. Note we could only hit this case by recurring into computePercentageLogicalHeight on a positioned containing block.
</span><span class="cx"> return true;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBox.h (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBox.h        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderBox.h        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> // position:static elements that are not flex-items get their z-index coerced to auto.
</span><span class="cx"> virtual bool requiresLayer() const override
</span><span class="cx"> {
</span><del>- return isRoot() || isPositioned() || createsGroup() || hasClipPath() || hasOverflowClip()
</del><ins>+ return isDocumentElementRenderer() || isPositioned() || createsGroup() || hasClipPath() || hasOverflowClip()
</ins><span class="cx"> || hasTransformRelatedProperty() || hasHiddenBackface() || hasReflection() || style().specifiesColumns()
</span><span class="cx"> || !style().hasAutoZIndex();
</span><span class="cx"> }
</span><span class="lines">@@ -407,7 +407,7 @@
</span><span class="cx">
</span><span class="cx"> bool stretchesToViewport() const
</span><span class="cx"> {
</span><del>- return document().inQuirksMode() && style().logicalHeight().isAuto() && !isFloatingOrOutOfFlowPositioned() && (isRoot() || isBody()) && !isInline();
</del><ins>+ return document().inQuirksMode() && style().logicalHeight().isAuto() && !isFloatingOrOutOfFlowPositioned() && (isDocumentElementRenderer() || isBody()) && !isInline();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> virtual LayoutSize intrinsicSize() const { return LayoutSize(); }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxModelObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -628,7 +628,7 @@
</span><span class="cx"> bool hasRoundedBorder = style().hasBorderRadius() && (includeLeftEdge || includeRightEdge);
</span><span class="cx"> bool clippedWithLocalScrolling = hasOverflowClip() && bgLayer->attachment() == LocalBackgroundAttachment;
</span><span class="cx"> bool isBorderFill = bgLayer->clip() == BorderFillBox;
</span><del>- bool isRoot = this->isRoot();
</del><ins>+ bool isRoot = this->isDocumentElementRenderer();
</ins><span class="cx">
</span><span class="cx"> Color bgColor = color;
</span><span class="cx"> StyleImage* bgImage = bgLayer->image();
</span><span class="lines">@@ -1028,7 +1028,7 @@
</span><span class="cx">
</span><span class="cx"> bool RenderBoxModelObject::fixedBackgroundPaintsInLocalCoordinates() const
</span><span class="cx"> {
</span><del>- if (!isRoot())
</del><ins>+ if (!isDocumentElementRenderer())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> if (view().frameView().paintBehavior() & PaintBehaviorFlattenCompositingLayers)
</span><span class="lines">@@ -1084,7 +1084,7 @@
</span><span class="cx"> // The background of the box generated by the root element covers the entire canvas including
</span><span class="cx"> // its margins. Since those were added in already, we have to factor them out when computing
</span><span class="cx"> // the background positioning area.
</span><del>- if (isRoot()) {
</del><ins>+ if (isDocumentElementRenderer()) {
</ins><span class="cx"> positioningAreaSize = downcast<RenderBox>(*this).size() - LayoutSize(left + right, top + bottom);
</span><span class="cx"> positioningAreaSize = LayoutSize(snapSizeToDevicePixel(positioningAreaSize, LayoutPoint(), deviceScaleFactor));
</span><span class="cx"> if (view().frameView().hasExtendedBackgroundRectForPainting()) {
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxModelObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.h (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBoxModelObject.h        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.h        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -127,7 +127,7 @@
</span><span class="cx">
</span><span class="cx"> virtual void updateFromStyle() override;
</span><span class="cx">
</span><del>- virtual bool requiresLayer() const override { return isRoot() || isPositioned() || createsGroup() || hasClipPath() || hasTransformRelatedProperty() || hasHiddenBackface() || hasReflection(); }
</del><ins>+ virtual bool requiresLayer() const override { return isDocumentElementRenderer() || isPositioned() || createsGroup() || hasClipPath() || hasTransformRelatedProperty() || hasHiddenBackface() || hasReflection(); }
</ins><span class="cx">
</span><span class="cx"> // This will work on inlines to return the bounding box of all of the lines' border boxes.
</span><span class="cx"> virtual IntRect borderBoundingBox() const = 0;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderDeprecatedFlexibleBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -321,7 +321,7 @@
</span><span class="cx"> if (previousSize.height() != height())
</span><span class="cx"> relayoutChildren = true;
</span><span class="cx">
</span><del>- layoutPositionedObjects(relayoutChildren || isRoot());
</del><ins>+ layoutPositionedObjects(relayoutChildren || isDocumentElementRenderer());
</ins><span class="cx">
</span><span class="cx"> computeOverflow(oldClientAfterEdge);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderElement.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderElement.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderElement.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -895,7 +895,7 @@
</span><span class="cx">
</span><span class="cx"> bool newStyleSlowScroll = repaintFixedBackgroundsOnScroll && newStyleUsesFixedBackgrounds;
</span><span class="cx"> bool oldStyleSlowScroll = oldStyle && repaintFixedBackgroundsOnScroll && oldStyleUsesFixedBackgrounds;
</span><del>- bool drawsRootBackground = isRoot() || (isBody() && !rendererHasBackground(document().documentElement()->renderer()));
</del><ins>+ bool drawsRootBackground = isDocumentElementRenderer() || (isBody() && !rendererHasBackground(document().documentElement()->renderer()));
</ins><span class="cx"> if (drawsRootBackground && repaintFixedBackgroundsOnScroll) {
</span><span class="cx"> if (view().compositor().supportsFixedRootBackgroundCompositing()) {
</span><span class="cx"> if (newStyleSlowScroll && newStyle.hasEntirelyFixedBackground())
</span><span class="lines">@@ -915,7 +915,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (isRoot() || isBody())
</del><ins>+ if (isDocumentElementRenderer() || isBody())
</ins><span class="cx"> view().frameView().updateExtendBackgroundIfNecessary();
</span><span class="cx">
</span><span class="cx"> if (!oldStyle || (oldStyle->outlineSize() != newStyle.outlineSize()
</span><span class="lines">@@ -1155,7 +1155,7 @@
</span><span class="cx">
</span><span class="cx"> RenderElement& RenderElement::rendererForRootBackground()
</span><span class="cx"> {
</span><del>- ASSERT(isRoot());
</del><ins>+ ASSERT(isDocumentElementRenderer());
</ins><span class="cx"> if (!hasBackground() && is<HTMLHtmlElement>(element())) {
</span><span class="cx"> // Locate the <body> element using the DOM. This is easier than trying
</span><span class="cx"> // to crawl around a render tree with potential :before/:after content and
</span><span class="lines">@@ -1441,10 +1441,10 @@
</span><span class="cx"> // FIXME: This is overly conservative as the image may not be a background-image, in which case it will not
</span><span class="cx"> // be propagated to the root. At this point, we unfortunately don't have access to the image anymore so we
</span><span class="cx"> // can no longer check if it is a background image.
</span><del>- bool backgroundIsPaintedByRoot = renderer.isRoot();
</del><ins>+ bool backgroundIsPaintedByRoot = renderer.isDocumentElementRenderer();
</ins><span class="cx"> if (renderer.isBody()) {
</span><span class="cx"> auto& rootRenderer = *renderer.parent(); // If <body> has a renderer then <html> does too.
</span><del>- ASSERT(rootRenderer.isRoot());
</del><ins>+ ASSERT(rootRenderer.isDocumentElementRenderer());
</ins><span class="cx"> ASSERT(is<HTMLHtmlElement>(rootRenderer.element()));
</span><span class="cx"> // FIXME: Should share body background propagation code.
</span><span class="cx"> backgroundIsPaintedByRoot = !rootRenderer.hasBackground();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderElementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderElement.h (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderElement.h        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderElement.h        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx"> /* This function performs a layout only if one is needed. */
</span><span class="cx"> void layoutIfNeeded() { if (needsLayout()) layout(); }
</span><span class="cx">
</span><del>- // Return the renderer whose background style is used to paint the root background. Should only be called on the renderer for which isRoot() is true.
</del><ins>+ // Return the renderer whose background style is used to paint the root background. Should only be called on the renderer for which isDocumentElementRenderer() is true.
</ins><span class="cx"> RenderElement& rendererForRootBackground();
</span><span class="cx">
</span><span class="cx"> // Used only by Element::pseudoStyleCacheIsInvalid to get a first line style based off of a
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderFlexibleBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderFlexibleBox.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -279,7 +279,7 @@
</span><span class="cx"> if (logicalHeight() != previousHeight)
</span><span class="cx"> relayoutChildren = true;
</span><span class="cx">
</span><del>- layoutPositionedObjects(relayoutChildren || isRoot());
</del><ins>+ layoutPositionedObjects(relayoutChildren || isDocumentElementRenderer());
</ins><span class="cx">
</span><span class="cx"> repaintChildrenDuringLayoutIfMoved(oldChildRects);
</span><span class="cx"> // FIXME: css3/flexbox/repaint-rtl-column.html seems to repaint more overflow than it needs to.
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderGridcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderGrid.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderGrid.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderGrid.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -320,7 +320,7 @@
</span><span class="cx"> if (size() != previousSize)
</span><span class="cx"> relayoutChildren = true;
</span><span class="cx">
</span><del>- layoutPositionedObjects(relayoutChildren || isRoot());
</del><ins>+ layoutPositionedObjects(relayoutChildren || isDocumentElementRenderer());
</ins><span class="cx">
</span><span class="cx"> computeOverflow(oldClientAfterEdge);
</span><span class="cx"> statePusher.pop();
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -3864,7 +3864,7 @@
</span><span class="cx"> // Avoid painting descendants of the root layer when stylesheets haven't loaded. This eliminates FOUC.
</span><span class="cx"> // It's ok not to draw, because later on, when all the stylesheets do load, updateStyleSelector on the Document
</span><span class="cx"> // will do a full repaint().
</span><del>- if (layer->renderer().document().didLayoutWithPendingStylesheets() && !layer->isRootLayer() && !layer->renderer().isRoot())
</del><ins>+ if (layer->renderer().document().didLayoutWithPendingStylesheets() && !layer->isRootLayer() && !layer->renderer().isDocumentElementRenderer())
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> // Avoid painting all layers if the document is in a state where visual updates aren't allowed.
</span><span class="lines">@@ -3877,7 +3877,7 @@
</span><span class="cx">
</span><span class="cx"> static inline bool paintForFixedRootBackground(const RenderLayer* layer, RenderLayer::PaintLayerFlags paintFlags)
</span><span class="cx"> {
</span><del>- return layer->renderer().isRoot() && (paintFlags & RenderLayer::PaintLayerPaintingRootBackgroundOnly);
</del><ins>+ return layer->renderer().isDocumentElementRenderer() && (paintFlags & RenderLayer::PaintLayerPaintingRootBackgroundOnly);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void RenderLayer::paintLayer(GraphicsContext& context, const LayerPaintingInfo& paintingInfo, PaintLayerFlags paintFlags)
</span><span class="lines">@@ -4234,7 +4234,7 @@
</span><span class="cx"> || (!isPaintingScrollingContent && isPaintingCompositedForeground));
</span><span class="cx"> bool shouldPaintContent = m_hasVisibleContent && isSelfPaintingLayer && !isPaintingOverlayScrollbars;
</span><span class="cx">
</span><del>- if (localPaintFlags & PaintLayerPaintingRootBackgroundOnly && !renderer().isRenderView() && !renderer().isRoot())
</del><ins>+ if (localPaintFlags & PaintLayerPaintingRootBackgroundOnly && !renderer().isRenderView() && !renderer().isDocumentElementRenderer())
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // Ensure our lists are up-to-date.
</span><span class="lines">@@ -5759,9 +5759,9 @@
</span><span class="cx"> bool RenderLayer::intersectsDamageRect(const LayoutRect& layerBounds, const LayoutRect& damageRect, const RenderLayer* rootLayer, const LayoutSize& offsetFromRoot, const LayoutRect* cachedBoundingBox) const
</span><span class="cx"> {
</span><span class="cx"> // Always examine the canvas and the root.
</span><del>- // FIXME: Could eliminate the isRoot() check if we fix background painting so that the RenderView
</del><ins>+ // FIXME: Could eliminate the isDocumentElementRenderer() check if we fix background painting so that the RenderView
</ins><span class="cx"> // paints the root's background.
</span><del>- if (isRootLayer() || renderer().isRoot())
</del><ins>+ if (isRootLayer() || renderer().isDocumentElementRenderer())
</ins><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> if (damageRect.isEmpty())
</span><span class="lines">@@ -5932,7 +5932,7 @@
</span><span class="cx"> renderer().containingBlock()->flipForWritingMode(boundingBoxRect);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (renderer().isRoot()) {
</del><ins>+ if (renderer().isDocumentElementRenderer()) {
</ins><span class="cx"> // If the root layer becomes composited (e.g. because some descendant with negative z-index is composited),
</span><span class="cx"> // then it has to be big enough to cover the viewport in order to display the background. This is akin
</span><span class="cx"> // to the code in RenderBox::paintRootBoxFillLayers().
</span><span class="lines">@@ -6127,7 +6127,7 @@
</span><span class="cx"> if (paintsWithTransparency(PaintBehaviorNormal))
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (renderer().isRoot()) {
</del><ins>+ if (renderer().isDocumentElementRenderer()) {
</ins><span class="cx"> // Normally the document element doens't have a layer. If it does have a layer, its background propagates to the RenderView
</span><span class="cx"> // so this layer doesn't draw it.
</span><span class="cx"> return false;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.h (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.h        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderLayer.h        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -616,7 +616,7 @@
</span><span class="cx">
</span><span class="cx"> bool paintsWithTransparency(PaintBehavior paintBehavior) const
</span><span class="cx"> {
</span><del>- return (isTransparent() || hasBlendMode() || (isolatesBlending() && !renderer().isRoot())) && ((paintBehavior & PaintBehaviorFlattenCompositingLayers) || !isComposited());
</del><ins>+ return (isTransparent() || hasBlendMode() || (isolatesBlending() && !renderer().isDocumentElementRenderer())) && ((paintBehavior & PaintBehaviorFlattenCompositingLayers) || !isComposited());
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool paintsWithTransform(PaintBehavior) const;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerBackingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -1703,7 +1703,7 @@
</span><span class="cx">
</span><span class="cx"> Color RenderLayerBacking::rendererBackgroundColor() const
</span><span class="cx"> {
</span><del>- const auto& backgroundRenderer = renderer().isRoot() ? renderer().rendererForRootBackground() : renderer();
</del><ins>+ const auto& backgroundRenderer = renderer().isDocumentElementRenderer() ? renderer().rendererForRootBackground() : renderer();
</ins><span class="cx"> return backgroundRenderer.style().visitedDependentColor(CSSPropertyBackgroundColor);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1860,7 +1860,7 @@
</span><span class="cx"> if (renderer().isRenderNamedFlowFragmentContainer())
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- if (renderer().isRoot() && m_owningLayer.isolatesCompositedBlending())
</del><ins>+ if (renderer().isDocumentElementRenderer() && m_owningLayer.isolatesCompositedBlending())
</ins><span class="cx"> return false;
</span><span class="cx">
</span><span class="cx"> if (renderer().isRenderView()) {
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerModelObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -190,7 +190,7 @@
</span><span class="cx"> if (RenderLayer* renderLayer = layer()) {
</span><span class="cx"> renderLayer->updateSnapOffsets();
</span><span class="cx"> renderLayer->updateScrollSnapState();
</span><del>- } else if (isBody() || isRoot()) {
</del><ins>+ } else if (isBody() || isDocumentElementRenderer()) {
</ins><span class="cx"> FrameView& frameView = view().frameView();
</span><span class="cx"> frameView.updateSnapOffsets();
</span><span class="cx"> frameView.updateScrollSnapState();
</span><span class="lines">@@ -204,7 +204,7 @@
</span><span class="cx"> if (style.scrollSnapType() != ScrollSnapType::None) {
</span><span class="cx"> scrollSnapBox->layer()->updateSnapOffsets();
</span><span class="cx"> scrollSnapBox->layer()->updateScrollSnapState();
</span><del>- if (scrollSnapBox->isBody() || scrollSnapBox->isRoot())
</del><ins>+ if (scrollSnapBox->isBody() || scrollSnapBox->isDocumentElementRenderer())
</ins><span class="cx"> scrollSnapBox->view().frameView().updateScrollingCoordinatorScrollSnapProperties();
</span><span class="cx"> }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderObject.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -966,7 +966,7 @@
</span><span class="cx"> IntRect repaintRect;
</span><span class="cx"> // If this is the root background, we need to check if there is an extended background rect. If
</span><span class="cx"> // there is, then we should not allow painting to clip to the layer size.
</span><del>- if (isRoot() || isBody()) {
</del><ins>+ if (isDocumentElementRenderer() || isBody()) {
</ins><span class="cx"> shouldClipToLayer = !view.frameView().hasExtendedBackgroundRectForPainting();
</span><span class="cx"> repaintRect = snappedIntRect(view.backgroundRect());
</span><span class="cx"> } else
</span><span class="lines">@@ -1915,7 +1915,7 @@
</span><span class="cx"> // A is the root element.
</span><span class="cx"> // A is the HTML body element.
</span><span class="cx"> // The computed value of the position property for element A is fixed.
</span><del>- if (isRoot() || isBody() || (isOutOfFlowPositioned() && style().position() == FixedPosition))
</del><ins>+ if (isDocumentElementRenderer() || isBody() || (isOutOfFlowPositioned() && style().position() == FixedPosition))
</ins><span class="cx"> return nullptr;
</span><span class="cx">
</span><span class="cx"> // If A is an area HTML element which has a map HTML element somewhere in the ancestor
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderObject.h (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderObject.h        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderObject.h        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -345,7 +345,7 @@
</span><span class="cx">
</span><span class="cx"> virtual bool isRenderScrollbarPart() const { return false; }
</span><span class="cx">
</span><del>- bool isRoot() const { return document().documentElement() == &m_node; }
</del><ins>+ bool isDocumentElementRenderer() const { return document().documentElement() == &m_node; }
</ins><span class="cx"> bool isBody() const { return node() && node()->hasTagName(HTMLNames::bodyTag); }
</span><span class="cx"> bool isHR() const { return node() && node()->hasTagName(HTMLNames::hrTag); }
</span><span class="cx"> bool isLegend() const;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTable.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTable.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/RenderTable.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -658,7 +658,7 @@
</span><span class="cx">
</span><span class="cx"> PaintPhase paintPhase = paintInfo.phase;
</span><span class="cx">
</span><del>- if (!isRoot()) {
</del><ins>+ if (!isDocumentElementRenderer()) {
</ins><span class="cx"> LayoutRect overflowBox = visualOverflowRect();
</span><span class="cx"> adjustRectWithMaximumOutline(paintInfo.phase, overflowBox);
</span><span class="cx"> flipForWritingMode(overflowBox);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgRenderSVGRootcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -202,7 +202,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> updateLayerTransform();
</span><del>- m_hasBoxDecorations = isRoot() ? hasBoxDecorationStyle() : hasBoxDecorations();
</del><ins>+ m_hasBoxDecorations = isDocumentElementRenderer() ? hasBoxDecorationStyle() : hasBoxDecorations();
</ins><span class="cx"> invalidateBackgroundObscurationStatus();
</span><span class="cx">
</span><span class="cx"> repainter.repaintAfterLayout();
</span><span class="lines">@@ -218,7 +218,7 @@
</span><span class="cx"> return style().overflowX() == OHIDDEN
</span><span class="cx"> || style().overflowX() == OAUTO
</span><span class="cx"> || style().overflowX() == OSCROLL
</span><del>- || this->isRoot();
</del><ins>+ || this->isDocumentElementRenderer();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void RenderSVGRoot::paintReplaced(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGRenderSupportcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp (190833 => 190834)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp        2015-10-10 01:08:32 UTC (rev 190833)
+++ trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp        2015-10-10 02:20:52 UTC (rev 190834)
</span><span class="lines">@@ -299,7 +299,7 @@
</span><span class="cx"> bool SVGRenderSupport::isOverflowHidden(const RenderElement& renderer)
</span><span class="cx"> {
</span><span class="cx"> // RenderSVGRoot should never query for overflow state - it should always clip itself to the initial viewport size.
</span><del>- ASSERT(!renderer.isRoot());
</del><ins>+ ASSERT(!renderer.isDocumentElementRenderer());
</ins><span class="cx">
</span><span class="cx"> return renderer.style().overflowX() == OHIDDEN || renderer.style().overflowX() == OSCROLL;
</span><span class="cx"> }
</span></span></pre>
</div>
</div>
</body>
</html>