Index: sky/engine/core/rendering/RenderLayer.cpp |
diff --git a/sky/engine/core/rendering/RenderLayer.cpp b/sky/engine/core/rendering/RenderLayer.cpp |
index aaf7bd00e05cda339d155fd4bd6860fc8e97929b..041407529dd008d2eec2607e5e91ce57edc292d2 100644 |
--- a/sky/engine/core/rendering/RenderLayer.cpp |
+++ b/sky/engine/core/rendering/RenderLayer.cpp |
@@ -107,20 +107,6 @@ String RenderLayer::debugName() const |
return renderer()->debugName(); |
} |
-bool RenderLayer::paintsWithFilters() const |
-{ |
- // FIXME(sky): Remove |
- return renderer()->hasFilter(); |
-} |
- |
-bool RenderLayer::requiresFullLayerImageForFilters() const |
-{ |
- if (!paintsWithFilters()) |
- return false; |
- FilterEffectRenderer* filter = filterRenderer(); |
- return filter ? filter->hasFilterThatMovesPixels() : false; |
-} |
- |
LayoutSize RenderLayer::subpixelAccumulation() const |
{ |
return m_subpixelAccumulation; |
@@ -730,25 +716,6 @@ bool RenderLayer::shouldBeSelfPaintingLayer() const |
return m_layerType == NormalLayer; |
} |
-bool RenderLayer::hasNonEmptyChildRenderers() const |
-{ |
- // Some HTML can cause whitespace text nodes to have renderers, like: |
- // <div> |
- // <img src=...> |
- // </div> |
- // so test for 0x0 RenderTexts here |
- for (RenderObject* child = renderer()->slowFirstChild(); child; child = child->nextSibling()) { |
- if (!child->hasLayer()) { |
- if (child->isRenderInline() || !child->isBox()) |
- return true; |
- |
- if (toRenderBox(child)->width() > 0 || toRenderBox(child)->height() > 0) |
- return true; |
- } |
- } |
- return false; |
-} |
- |
bool RenderLayer::hasBoxDecorationsOrBackground() const |
{ |
return renderer()->style()->hasBoxDecorations() || renderer()->style()->hasBackground(); |
@@ -759,49 +726,11 @@ bool RenderLayer::hasVisibleBoxDecorations() const |
return hasBoxDecorationsOrBackground(); |
} |
-bool RenderLayer::isVisuallyNonEmpty() const |
-{ |
- if (hasNonEmptyChildRenderers()) |
- return true; |
- |
- if (renderer()->isReplaced()) |
- return true; |
- |
- if (hasVisibleBoxDecorations()) |
- return true; |
- |
- return false; |
-} |
- |
void RenderLayer::updateFilters(const RenderStyle* oldStyle, const RenderStyle* newStyle) |
{ |
if (!newStyle->hasFilter() && (!oldStyle || !oldStyle->hasFilter())) |
return; |
- updateOrRemoveFilterClients(); |
- updateOrRemoveFilterEffectRenderer(); |
-} |
- |
-void RenderLayer::styleChanged(StyleDifference diff, const RenderStyle* oldStyle) |
-{ |
- m_stackingNode->updateIsNormalFlowOnly(); |
- m_stackingNode->updateStackingNodesAfterStyleChange(oldStyle); |
- |
- // Overlay scrollbars can make this layer self-painting so we need |
- // to recompute the bit once scrollbars have been updated. |
- m_isSelfPaintingLayer = shouldBeSelfPaintingLayer(); |
- |
- updateTransform(oldStyle, renderer()->style()); |
- updateFilters(oldStyle, renderer()->style()); |
-} |
- |
-FilterOperations RenderLayer::computeFilterOperations(const RenderStyle* style) |
-{ |
- return style->filter(); |
-} |
- |
-void RenderLayer::updateOrRemoveFilterClients() |
-{ |
if (!hasFilter()) { |
removeFilterInfoIfNeeded(); |
return; |
@@ -811,14 +740,11 @@ void RenderLayer::updateOrRemoveFilterClients() |
ensureFilterInfo()->updateReferenceFilterClients(renderer()->style()->filter()); |
else if (hasFilterInfo()) |
filterInfo()->removeReferenceFilterClients(); |
-} |
-void RenderLayer::updateOrRemoveFilterEffectRenderer() |
-{ |
// FilterEffectRenderer is only used to render the filters in software mode, |
// so we always need to run updateOrRemoveFilterEffectRenderer after the composited |
// mode might have changed for this layer. |
- if (!paintsWithFilters()) { |
+ if (!renderer()->hasFilter()) { |
// Don't delete the whole filter info here, because we might use it |
// for loading CSS shader files. |
if (RenderLayerFilterInfo* filterInfo = this->filterInfo()) |
@@ -838,8 +764,21 @@ void RenderLayer::updateOrRemoveFilterEffectRenderer() |
// If the filter fails to build, remove it from the layer. It will still attempt to |
// go through regular processing (e.g. compositing), but never apply anything. |
- if (!filterInfo->renderer()->build(renderer(), computeFilterOperations(renderer()->style()))) |
+ if (!filterInfo->renderer()->build(renderer(), renderer()->style()->filter())) |
filterInfo->setRenderer(nullptr); |
} |
+void RenderLayer::styleChanged(StyleDifference diff, const RenderStyle* oldStyle) |
+{ |
+ m_stackingNode->updateIsNormalFlowOnly(); |
+ m_stackingNode->updateStackingNodesAfterStyleChange(oldStyle); |
+ |
+ // Overlay scrollbars can make this layer self-painting so we need |
+ // to recompute the bit once scrollbars have been updated. |
+ m_isSelfPaintingLayer = shouldBeSelfPaintingLayer(); |
+ |
+ updateTransform(oldStyle, renderer()->style()); |
+ updateFilters(oldStyle, renderer()->style()); |
+} |
+ |
} // namespace blink |