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

Unified Diff: Source/core/rendering/FilterEffectRenderer.cpp

Issue 678163002: Oilpan: move SVG property hierarchy to the heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased upto r185213 Created 6 years, 1 month 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 | « Source/core/rendering/FilterEffectRenderer.h ('k') | Source/core/rendering/RenderLayer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/FilterEffectRenderer.cpp
diff --git a/Source/core/rendering/FilterEffectRenderer.cpp b/Source/core/rendering/FilterEffectRenderer.cpp
index 47c71ce29146fbca7ee89f1f152823f2026dd458..7e29d4166f6f924f7652152fa35bf85bf0329a99 100644
--- a/Source/core/rendering/FilterEffectRenderer.cpp
+++ b/Source/core/rendering/FilterEffectRenderer.cpp
@@ -74,20 +74,26 @@ FilterEffectRenderer::~FilterEffectRenderer()
{
}
+void FilterEffectRenderer::trace(Visitor* visitor)
+{
+ visitor->trace(m_lastEffect);
+ visitor->trace(m_referenceFilters);
+}
+
bool FilterEffectRenderer::build(RenderObject* renderer, const FilterOperations& operations)
{
const RenderStyle* style = renderer->style();
float zoom = style ? style->effectiveZoom() : 1.0f;
// Create a parent filter for shorthand filters. These have already been scaled by the CSS code for page zoom, so scale is 1.0 here.
- RefPtr<ReferenceFilter> parentFilter = ReferenceFilter::create(1.0f);
- RefPtr<FilterEffect> previousEffect = SourceGraphic::create(parentFilter.get());
+ RefPtrWillBeRawPtr<ReferenceFilter> parentFilter = ReferenceFilter::create(1.0f);
+ RefPtrWillBeRawPtr<FilterEffect> previousEffect = SourceGraphic::create(parentFilter.get());
for (size_t i = 0; i < operations.operations().size(); ++i) {
- RefPtr<FilterEffect> effect;
+ RefPtrWillBeRawPtr<FilterEffect> effect = nullptr;
FilterOperation* filterOperation = operations.operations().at(i).get();
switch (filterOperation->type()) {
case FilterOperation::REFERENCE: {
- RefPtr<ReferenceFilter> referenceFilter = ReferenceFilter::create(zoom);
+ RefPtrWillBeRawPtr<ReferenceFilter> referenceFilter = ReferenceFilter::create(zoom);
effect = ReferenceFilterBuilder::build(referenceFilter.get(), renderer, previousEffect.get(), toReferenceFilterOperation(filterOperation));
referenceFilter->setLastEffect(effect);
m_referenceFilters.append(referenceFilter);
« no previous file with comments | « Source/core/rendering/FilterEffectRenderer.h ('k') | Source/core/rendering/RenderLayer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698