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

Side by Side Diff: Source/WebCore/rendering/svg/SVGResources.cpp

Issue 7002001: Revert 79985 - 2011-03-01 Nikolas Zimmermann <nzimmermann@rim.com> (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/742/
Patch Set: Created 9 years, 7 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 2 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 #if ENABLE(FILTERS) 145 #if ENABLE(FILTERS)
146 else if (element->hasTagName(SVGNames::filterTag)) 146 else if (element->hasTagName(SVGNames::filterTag))
147 target = static_cast<SVGFilterElement*>(element)->href(); 147 target = static_cast<SVGFilterElement*>(element)->href();
148 #endif 148 #endif
149 else 149 else
150 ASSERT_NOT_REACHED(); 150 ASSERT_NOT_REACHED();
151 151
152 return SVGURIReference::getTarget(target); 152 return SVGURIReference::getTarget(target);
153 } 153 }
154 154
155 static inline RenderSVGResourceContainer* paintingResourceFromSVGPaint(Document* document, const SVGPaint::SVGPaintType& paintType, const String& paintUri, Atom icString& id, bool& hasPendingResource) 155 static inline RenderSVGResourceContainer* paintingResourceFromSVGPaint(Document* document, SVGPaint* paint, AtomicString& id, bool& hasPendingResource)
156 { 156 {
157 ASSERT(paint);
158
159 SVGPaint::SVGPaintType paintType = paint->paintType();
157 if (paintType != SVGPaint::SVG_PAINTTYPE_URI && paintType != SVGPaint::SVG_P AINTTYPE_URI_RGBCOLOR) 160 if (paintType != SVGPaint::SVG_PAINTTYPE_URI && paintType != SVGPaint::SVG_P AINTTYPE_URI_RGBCOLOR)
158 return 0; 161 return 0;
159 162
160 id = SVGURIReference::getTarget(paintUri); 163 id = SVGURIReference::getTarget(paint->uri());
161 RenderSVGResourceContainer* container = getRenderSVGResourceContainerById(do cument, id); 164 RenderSVGResourceContainer* container = getRenderSVGResourceContainerById(do cument, id);
162 if (!container) { 165 if (!container) {
163 hasPendingResource = true; 166 hasPendingResource = true;
164 return 0; 167 return 0;
165 } 168 }
166 169
167 RenderSVGResourceType resourceType = container->resourceType(); 170 RenderSVGResourceType resourceType = container->resourceType();
168 if (resourceType != PatternResourceType && resourceType != LinearGradientRes ourceType && resourceType != RadialGradientResourceType) 171 if (resourceType != PatternResourceType && resourceType != LinearGradientRes ourceType && resourceType != RadialGradientResourceType)
169 return 0; 172 return 0;
170 173
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 if (setMarkerEnd(getRenderSVGResourceById<RenderSVGResourceMarker>(docum ent, markerEndId))) 252 if (setMarkerEnd(getRenderSVGResourceById<RenderSVGResourceMarker>(docum ent, markerEndId)))
250 foundResources = true; 253 foundResources = true;
251 else 254 else
252 registerPendingResource(extensions, markerEndId, element); 255 registerPendingResource(extensions, markerEndId, element);
253 } 256 }
254 257
255 if (fillAndStrokeTags().contains(tagNameImpl)) { 258 if (fillAndStrokeTags().contains(tagNameImpl)) {
256 if (style->hasFill()) { 259 if (style->hasFill()) {
257 bool hasPendingResource = false; 260 bool hasPendingResource = false;
258 AtomicString id; 261 AtomicString id;
259 if (setFill(paintingResourceFromSVGPaint(document, style->fillPaintT ype(), style->fillPaintUri(), id, hasPendingResource))) 262 if (setFill(paintingResourceFromSVGPaint(document, style->fillPaint( ), id, hasPendingResource)))
260 foundResources = true; 263 foundResources = true;
261 else if (hasPendingResource) 264 else if (hasPendingResource)
262 registerPendingResource(extensions, id, element); 265 registerPendingResource(extensions, id, element);
263 } 266 }
264 267
265 if (style->hasStroke()) { 268 if (style->hasStroke()) {
266 bool hasPendingResource = false; 269 bool hasPendingResource = false;
267 AtomicString id; 270 AtomicString id;
268 if (setStroke(paintingResourceFromSVGPaint(document, style->strokePa intType(), style->strokePaintUri(), id, hasPendingResource))) 271 if (setStroke(paintingResourceFromSVGPaint(document, style->strokePa int(), id, hasPendingResource)))
269 foundResources = true; 272 foundResources = true;
270 else if (hasPendingResource) 273 else if (hasPendingResource)
271 registerPendingResource(extensions, id, element); 274 registerPendingResource(extensions, id, element);
272 } 275 }
273 } 276 }
274 277
275 if (chainableResourceTags().contains(tagNameImpl)) { 278 if (chainableResourceTags().contains(tagNameImpl)) {
276 AtomicString id(targetReferenceFromResource(element)); 279 AtomicString id(targetReferenceFromResource(element));
277 if (setLinkedResource(getRenderSVGResourceContainerById(document, id))) 280 if (setLinkedResource(getRenderSVGResourceContainerById(document, id)))
278 foundResources = true; 281 foundResources = true;
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
672 } 675 }
673 676
674 if (m_linkedResource) 677 if (m_linkedResource)
675 fprintf(stderr, " |-> xlink:href : %p (node=%p)\n", m_linkedResource, m_ linkedResource->node()); 678 fprintf(stderr, " |-> xlink:href : %p (node=%p)\n", m_linkedResource, m_ linkedResource->node());
676 } 679 }
677 #endif 680 #endif
678 681
679 } 682 }
680 683
681 #endif 684 #endif
OLDNEW
« no previous file with comments | « Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp ('k') | Source/WebCore/svg/SVGColor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698