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

Unified Diff: third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp

Issue 2751433002: [SPv2] Flatten property trees in PaintRecordBuilder into a single display list. (Closed)
Patch Set: none Created 3 years, 9 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
Index: third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp
diff --git a/third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp b/third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp
index a2a2400bdc8e3004e691e587ef7c53ebba024d5d..3213a69f1d4d3af1cc0c48f9fb03f13a74d8e3ea 100644
--- a/third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp
+++ b/third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp
@@ -24,6 +24,13 @@ GraphicsContext* SVGFilterRecordingContext::beginContent(
m_paintController = PaintController::create();
m_context = WTF::wrapUnique(new GraphicsContext(*m_paintController));
+ // Content painted into a new PaintRecord in SPv2 will have an
+ // independent property tree set.
+ if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
+ m_paintController->updateCurrentPaintChunkProperties(
+ nullptr, PropertyTreeState::root());
+ }
+
filterData->m_state = FilterData::RecordingContent;
return m_context.get();
}
@@ -40,7 +47,8 @@ void SVGFilterRecordingContext::endContent(FilterData* filterData) {
DCHECK(m_context);
m_context->beginRecording(filter->filterRegion());
m_paintController->commitNewDisplayItems();
- m_paintController->paintArtifact().replay(*m_context);
+
+ m_paintController->paintArtifact().replay(filter->filterRegion(), *m_context);
SkiaImageFilterBuilder::buildSourceGraphic(sourceGraphic,
m_context->endRecording());

Powered by Google App Engine
This is Rietveld 408576698