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

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

Issue 877043002: Remove RenderLayerScrollableArea (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 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/RenderLayer.h ('k') | sky/engine/core/rendering/RenderLayerModelObject.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/rendering/RenderLayer.cpp
diff --git a/sky/engine/core/rendering/RenderLayer.cpp b/sky/engine/core/rendering/RenderLayer.cpp
index b842fba65ac1d35ca4c937c55c5e95a52e931cae..9d9b150adfb89e12761e0601def925e2a7f39ae8 100644
--- a/sky/engine/core/rendering/RenderLayer.cpp
+++ b/sky/engine/core/rendering/RenderLayer.cpp
@@ -106,8 +106,6 @@ RenderLayer::RenderLayer(RenderLayerModelObject* renderer, LayerType type)
updateStackingNode();
m_isSelfPaintingLayer = shouldBeSelfPaintingLayer();
-
- updateScrollableArea();
}
RenderLayer::~RenderLayer()
@@ -800,11 +798,6 @@ void RenderLayer::convertToLayerCoords(const RenderLayer* ancestorLayer, LayoutR
rect.move(-delta.x(), -delta.y());
}
-void RenderLayer::didUpdateNeedsCompositedScrolling()
-{
- updateSelfPaintingLayer();
-}
-
void RenderLayer::updateStackingNode()
{
if (requiresStackingNode())
@@ -813,19 +806,6 @@ void RenderLayer::updateStackingNode()
m_stackingNode = nullptr;
}
-void RenderLayer::updateScrollableArea()
-{
- if (requiresScrollableArea())
- m_scrollableArea = adoptPtr(new RenderLayerScrollableArea(*this));
- else
- m_scrollableArea = nullptr;
-}
-
-bool RenderLayer::hasOverflowControls() const
-{
- return m_scrollableArea && m_scrollableArea->hasScrollbar();
-}
-
void RenderLayer::paint(GraphicsContext* context, const LayoutRect& damageRect, RenderObject* paintingRoot)
{
TRACE_EVENT0("blink", "RenderLayer::paint");
@@ -873,13 +853,6 @@ void RenderLayer::clipToRect(const LayerPaintingInfo& localPaintingInfo, Graphic
// any layers with overflow. The condition for being able to apply these clips is that the overflow object be in our
// containing block chain so we check that also.
for (RenderLayer* layer = rule == IncludeSelfForBorderRadius ? this : parent(); layer; layer = layer->parent()) {
- // Composited scrolling layers handle border-radius clip in the compositor via a mask layer. We do not
- // want to apply a border-radius clip to the layer contents itself, because that would require re-rastering
- // every frame to update the clip. We only want to make sure that the mask layer is properly clipped so
- // that it can in turn clip the scrolled contents in the compositor.
- if (layer->needsCompositedScrolling())
- break;
-
if (layer->renderer()->hasOverflowClip() && layer->renderer()->style()->hasBorderRadius() && inContainingBlockChain(this, layer)) {
LayoutPoint delta;
layer->convertToLayerCoords(localPaintingInfo.rootLayer, delta);
@@ -970,7 +943,7 @@ void RenderLayer::paintLayerContents(GraphicsContext* context, const LayerPainti
// Clip-path, like border radius, must not be applied to the contents of a composited-scrolling container.
// It must, however, still be applied to the mask layer, so that the compositor can properly mask the
// scrolling contents and scrollbars.
- if (renderer()->hasClipPath() && style && !needsCompositedScrolling()) {
+ if (renderer()->hasClipPath() && style) {
ASSERT(style->clipPath());
if (style->clipPath()->type() == ClipPathOperation::SHAPE) {
ShapeClipPathOperation* clipPath = toShapeClipPathOperation(style->clipPath());
@@ -1051,9 +1024,6 @@ void RenderLayer::paintLayerContents(GraphicsContext* context, const LayerPainti
paintOutline(context, localPaintingInfo, paintingRootForRenderer, layerLocation, outlineRect);
paintChildren(NormalFlowChildren | PositiveZOrderChildren, context, paintingInfo, paintFlags);
- if (isPaintingOverlayScrollbars)
- paintOverflowControls(context, localPaintingInfo, layerLocation, backgroundRect);
-
if (filterPainter.hasStartedFilterEffect()) {
context = filterPainter.applyFilterEffect();
restoreClip(transparencyLayerContext, localPaintingInfo.paintDirtyRect, backgroundRect);
@@ -1178,14 +1148,6 @@ void RenderLayer::paintMask(GraphicsContext* context, const LayerPaintingInfo& l
restoreClip(context, localPaintingInfo.paintDirtyRect, layerBackgroundRect);
}
-void RenderLayer::paintOverflowControls(GraphicsContext* context, const LayerPaintingInfo& localPaintingInfo, LayoutPoint& layerLocation, ClipRect& layerBackgroundRect)
-{
- clipToRect(localPaintingInfo, context, layerBackgroundRect);
- if (RenderLayerScrollableArea* scrollableArea = this->scrollableArea())
- scrollableArea->paintOverflowControls(context, roundedIntPoint(layerLocation), pixelSnappedIntRect(layerBackgroundRect.rect()), true);
- restoreClip(context, localPaintingInfo.paintDirtyRect, layerBackgroundRect);
-}
-
static inline LayoutRect frameVisibleRect(RenderObject* renderer)
{
FrameView* frameView = renderer->document().view();
@@ -1693,9 +1655,7 @@ bool RenderLayer::paintsWithTransform() const
bool RenderLayer::shouldBeSelfPaintingLayer() const
{
- return m_layerType == NormalLayer
- || (m_scrollableArea && m_scrollableArea->hasOverlayScrollbars())
- || needsCompositedScrolling();
+ return m_layerType == NormalLayer;
}
void RenderLayer::updateSelfPaintingLayer()
@@ -1736,7 +1696,7 @@ bool RenderLayer::hasBoxDecorationsOrBackground() const
bool RenderLayer::hasVisibleBoxDecorations() const
{
- return hasBoxDecorationsOrBackground() || hasOverflowControls();
+ return hasBoxDecorationsOrBackground();
}
bool RenderLayer::isVisuallyNonEmpty() const
@@ -1767,9 +1727,6 @@ void RenderLayer::styleChanged(StyleDifference diff, const RenderStyle* oldStyle
m_stackingNode->updateIsNormalFlowOnly();
m_stackingNode->updateStackingNodesAfterStyleChange(oldStyle);
- if (m_scrollableArea)
- m_scrollableArea->updateAfterStyleChange(oldStyle);
-
// Overlay scrollbars can make this layer self-painting so we need
// to recompute the bit once scrollbars have been updated.
updateSelfPaintingLayer();
@@ -1778,14 +1735,6 @@ void RenderLayer::styleChanged(StyleDifference diff, const RenderStyle* oldStyle
updateFilters(oldStyle, renderer()->style());
}
-bool RenderLayer::scrollsOverflow() const
-{
- if (RenderLayerScrollableArea* scrollableArea = this->scrollableArea())
- return scrollableArea->scrollsOverflow();
-
- return false;
-}
-
FilterOperations RenderLayer::computeFilterOperations(const RenderStyle* style)
{
return style->filter();
« no previous file with comments | « sky/engine/core/rendering/RenderLayer.h ('k') | sky/engine/core/rendering/RenderLayerModelObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698