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

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

Issue 848243002: Remove deferredfiltersenabled settings. (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/frame/Settings.in ('k') | sky/engine/core/rendering/RenderLayer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/engine/core/rendering/FilterEffectRenderer.cpp
diff --git a/sky/engine/core/rendering/FilterEffectRenderer.cpp b/sky/engine/core/rendering/FilterEffectRenderer.cpp
index 25b1f56f8f190c47d70dad4f383d2d5234428e6c..18408ab20a4925d3a955ddcb9e102e5f013e7b49 100644
--- a/sky/engine/core/rendering/FilterEffectRenderer.cpp
+++ b/sky/engine/core/rendering/FilterEffectRenderer.cpp
@@ -335,67 +335,29 @@ GraphicsContext* FilterEffectRendererHelper::beginFilterEffect(GraphicsContext*
ASSERT(m_renderLayer);
FilterEffectRenderer* filter = m_renderLayer->filterRenderer();
- if (m_renderLayer->renderer()->document().settings()->deferredFiltersEnabled()) {
- SkiaImageFilterBuilder builder(context);
- RefPtr<ImageFilter> imageFilter = builder.build(filter->lastEffect().get(), ColorSpaceDeviceRGB);
- if (!imageFilter) {
- m_haveFilterEffect = false;
- return context;
- }
- m_savedGraphicsContext = context;
- context->save();
- FloatRect boundaries = mapImageFilterRect(imageFilter.get(), m_filterBoxRect);
- context->translate(m_filterBoxRect.x(), m_filterBoxRect.y());
- boundaries.move(-m_filterBoxRect.x(), -m_filterBoxRect.y());
- context->beginLayer(1, CompositeSourceOver, &boundaries, ColorFilterNone, imageFilter.get());
- context->translate(-m_filterBoxRect.x(), -m_filterBoxRect.y());
- return context;
- }
- filter->allocateBackingStoreIfNeeded();
- // Paint into the context that represents the SourceGraphic of the filter.
- GraphicsContext* sourceGraphicsContext = filter->inputContext();
- if (!sourceGraphicsContext || !FilterEffect::isFilterSizeValid(filter->absoluteFilterRegion())) {
- // Disable the filters and continue.
+ SkiaImageFilterBuilder builder(context);
+ RefPtr<ImageFilter> imageFilter = builder.build(filter->lastEffect().get(), ColorSpaceDeviceRGB);
+ if (!imageFilter) {
m_haveFilterEffect = false;
return context;
}
-
m_savedGraphicsContext = context;
-
- // Translate the context so that the contents of the layer is captuterd in the offscreen memory buffer.
- sourceGraphicsContext->save();
- // FIXME: can we just use sourceImageRect for everything, and get rid of
- // m_paintInvalidationRect?
- FloatPoint offset = filter->sourceImageRect().location();
- sourceGraphicsContext->translate(-offset.x(), -offset.y());
- sourceGraphicsContext->clearRect(m_paintInvalidationRect);
- sourceGraphicsContext->clip(m_paintInvalidationRect);
-
- return sourceGraphicsContext;
+ context->save();
+ FloatRect boundaries = mapImageFilterRect(imageFilter.get(), m_filterBoxRect);
+ context->translate(m_filterBoxRect.x(), m_filterBoxRect.y());
+ boundaries.move(-m_filterBoxRect.x(), -m_filterBoxRect.y());
+ context->beginLayer(1, CompositeSourceOver, &boundaries, ColorFilterNone, imageFilter.get());
+ context->translate(-m_filterBoxRect.x(), -m_filterBoxRect.y());
+ return context;
}
GraphicsContext* FilterEffectRendererHelper::applyFilterEffect()
{
ASSERT(m_haveFilterEffect && m_renderLayer->filterRenderer());
- FilterEffectRenderer* filter = m_renderLayer->filterRenderer();
-
- if (m_renderLayer->renderer()->document().settings()->deferredFiltersEnabled()) {
- GraphicsContext* context = m_savedGraphicsContext;
- context->endLayer();
- context->restore();
- return context;
- }
-
- filter->inputContext()->restore();
-
- filter->apply();
-
- // Get the filtered output and draw it in place.
- m_savedGraphicsContext->drawImageBuffer(filter->output(), filter->outputRect());
-
- filter->clearIntermediateResults();
-
- return m_savedGraphicsContext;
+ GraphicsContext* context = m_savedGraphicsContext;
+ context->endLayer();
+ context->restore();
+ return context;
}
} // namespace blink
« no previous file with comments | « sky/engine/core/frame/Settings.in ('k') | sky/engine/core/rendering/RenderLayer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698