Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(522)

Unified Diff: sky/engine/core/rendering/RenderBox.cpp

Issue 928393003: Remove the concept of document.documentElement (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/engine/core/rendering/RenderBlockFlow.cpp ('k') | sky/engine/core/rendering/RenderBoxModelObject.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/rendering/RenderBox.cpp
diff --git a/sky/engine/core/rendering/RenderBox.cpp b/sky/engine/core/rendering/RenderBox.cpp
index 71e8f4907e572f90e9acaa4da406944bb3f693fe..8a0b39b6ae406dbfbce9e87c9e58a23e43cc5710 100644
--- a/sky/engine/core/rendering/RenderBox.cpp
+++ b/sky/engine/core/rendering/RenderBox.cpp
@@ -117,16 +117,13 @@ void RenderBox::updateFromStyle()
RenderBoxModelObject::updateFromStyle();
RenderStyle* styleToUse = style();
- bool isRootObject = isDocumentElement();
- bool isViewObject = isRenderView();
- // The root and the RenderView always paint their backgrounds/borders.
- if (isRootObject || isViewObject)
+ if (isRenderView()) {
setHasBoxDecorationBackground(true);
-
- // TODO(esprehn): Why do we not want to set this on the RenderView?
- if (isRenderBlock() && !isViewObject)
+ } else if (isRenderBlock()) {
+ // TODO(esprehn): Why do we not want to set this on the RenderView?
setHasOverflowClip(!styleToUse->isOverflowVisible());
+ }
setHasTransform(styleToUse->hasTransformRelatedProperty());
}
@@ -678,10 +675,6 @@ void RenderBox::paintBoxDecorationBackgroundWithRect(PaintInfo& paintInfo, const
void RenderBox::paintBackground(const PaintInfo& paintInfo, const LayoutRect& paintRect, const Color& backgroundColor, BackgroundBleedAvoidance bleedAvoidance)
{
- if (isDocumentElement()) {
- paintRootBoxFillLayers(paintInfo);
- return;
- }
paintFillLayers(paintInfo, backgroundColor, style()->backgroundLayers(), paintRect, bleedAvoidance);
}
@@ -737,18 +730,10 @@ void RenderBox::paintFillLayers(const PaintInfo& paintInfo, const Color& c, cons
if (!context)
shouldDrawBackgroundInSeparateBuffer = false;
+ // FIXME(sky): Propagate this constant.
bool skipBaseColor = false;
- if (shouldDrawBackgroundInSeparateBuffer) {
- bool isBaseColorVisible = !isBottomLayerOccluded && c.hasAlpha();
-
- // Paint the document's base background color outside the transparency layer,
- // so that the background images don't blend with this color: http://crbug.com/389039.
- if (isBaseColorVisible && isDocumentElementWithOpaqueBackground()) {
- paintRootBackgroundColor(paintInfo, rect, Color());
- skipBaseColor = true;
- }
+ if (shouldDrawBackgroundInSeparateBuffer)
context->beginTransparencyLayer(1);
- }
Vector<const FillLayer*>::const_reverse_iterator topLayer = layers.rend();
for (Vector<const FillLayer*>::const_reverse_iterator it = layers.rbegin(); it != topLayer; ++it)
@@ -1320,8 +1305,6 @@ LayoutUnit RenderBox::computePercentageLogicalHeight(const Length& height) const
const RenderBox* containingBlockChild = this;
LayoutUnit rootMarginBorderPaddingHeight = 0;
while (!cb->isRenderView() && skipContainingBlockForPercentHeightCalculation(cb)) {
- if (cb->isDocumentElement())
- rootMarginBorderPaddingHeight += cb->marginBefore() + cb->marginAfter() + cb->borderAndPaddingLogicalHeight();
skippedAutoHeightContainingBlock = true;
containingBlockChild = cb;
cb = cb->containingBlock();
@@ -2812,12 +2795,6 @@ bool RenderBox::percentageLogicalHeightIsResolvableFromBlock(const RenderBlock*
return percentageLogicalHeightIsResolvableFromBlock(cb->containingBlock(), cb->isOutOfFlowPositioned());
if (cb->isRenderView() || isOutOfFlowPositionedWithSpecifiedHeight)
return true;
- if (cb->isDocumentElement() && isOutOfFlowPositioned) {
- // Match the positioned objects behavior, which is that positioned objects will fill their viewport
- // always. Note we could only hit this case by recurring into computePercentageLogicalHeight on a positioned containing block.
- return true;
- }
-
return false;
}
« no previous file with comments | « sky/engine/core/rendering/RenderBlockFlow.cpp ('k') | sky/engine/core/rendering/RenderBoxModelObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698