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

Side by Side Diff: Source/core/rendering/svg/RenderSVGResourceFilter.cpp

Issue 191003007: Use isSVG*Element() helpers more in SVG code (Part 3) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> 2 * Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org>
3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org> 3 * Copyright (C) 2004, 2005 Rob Buis <buis@kde.org>
4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org> 4 * Copyright (C) 2005 Eric Seidel <eric@webkit.org>
5 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> 5 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 markClientForInvalidation(client, markForInvalidation ? BoundariesInvalidati on : ParentOnlyInvalidation); 76 markClientForInvalidation(client, markForInvalidation ? BoundariesInvalidati on : ParentOnlyInvalidation);
77 } 77 }
78 78
79 PassRefPtr<SVGFilterBuilder> RenderSVGResourceFilter::buildPrimitives(SVGFilter* filter) 79 PassRefPtr<SVGFilterBuilder> RenderSVGResourceFilter::buildPrimitives(SVGFilter* filter)
80 { 80 {
81 SVGFilterElement* filterElement = toSVGFilterElement(element()); 81 SVGFilterElement* filterElement = toSVGFilterElement(element());
82 FloatRect targetBoundingBox = filter->targetBoundingBox(); 82 FloatRect targetBoundingBox = filter->targetBoundingBox();
83 83
84 // Add effects to the builder 84 // Add effects to the builder
85 RefPtr<SVGFilterBuilder> builder = SVGFilterBuilder::create(SourceGraphic::c reate(filter), SourceAlpha::create(filter)); 85 RefPtr<SVGFilterBuilder> builder = SVGFilterBuilder::create(SourceGraphic::c reate(filter), SourceAlpha::create(filter));
86 for (Element* child = ElementTraversal::firstWithin(*filterElement); child; child = ElementTraversal::nextSibling(*child)) { 86 for (SVGElement* element = Traversal<SVGElement>::firstChild(*filterElement) ; element; element = Traversal<SVGElement>::nextSibling(*element)) {
87 if (!child->isSVGElement())
88 continue;
89
90 SVGElement* element = toSVGElement(child);
91 if (!element->isFilterEffect() || !element->renderer()) 87 if (!element->isFilterEffect() || !element->renderer())
92 continue; 88 continue;
93 89
94 SVGFilterPrimitiveStandardAttributes* effectElement = static_cast<SVGFil terPrimitiveStandardAttributes*>(element); 90 SVGFilterPrimitiveStandardAttributes* effectElement = static_cast<SVGFil terPrimitiveStandardAttributes*>(element);
95 RefPtr<FilterEffect> effect = effectElement->build(builder.get(), filter ); 91 RefPtr<FilterEffect> effect = effectElement->build(builder.get(), filter );
96 if (!effect) { 92 if (!effect) {
97 builder->clearEffects(); 93 builder->clearEffects();
98 return nullptr; 94 return nullptr;
99 } 95 }
100 builder->appendEffectToEffectReferences(effect, effectElement->renderer( )); 96 builder->appendEffectToEffectReferences(effect, effectElement->renderer( ));
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 markAllClientLayersForInvalidation(); 389 markAllClientLayersForInvalidation();
394 } 390 }
395 391
396 FloatRect RenderSVGResourceFilter::drawingRegion(RenderObject* object) const 392 FloatRect RenderSVGResourceFilter::drawingRegion(RenderObject* object) const
397 { 393 {
398 FilterData* filterData = m_filter.get(object); 394 FilterData* filterData = m_filter.get(object);
399 return filterData ? filterData->drawingRegion : FloatRect(); 395 return filterData ? filterData->drawingRegion : FloatRect();
400 } 396 }
401 397
402 } 398 }
OLDNEW
« no previous file with comments | « Source/core/rendering/svg/RenderSVGResourceClipper.cpp ('k') | Source/core/rendering/svg/RenderSVGResourceFilterPrimitive.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698