Changeset 155547 in webkit
- Timestamp:
- Sep 11, 2013 11:39:09 AM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r155546 r155547 1 2013-09-11 Anders Carlsson <andersca@apple.com> 2 3 Stop using deleteAllValues in SVG code 4 https://bugs.webkit.org/show_bug.cgi?id=121172 5 6 Reviewed by Antti Koivisto. 7 8 Use OwnPtr for values instead. 9 10 * rendering/svg/RenderSVGResourceClipper.cpp: 11 (WebCore::RenderSVGResourceClipper::~RenderSVGResourceClipper): 12 (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache): 13 (WebCore::RenderSVGResourceClipper::removeClientFromCache): 14 (WebCore::RenderSVGResourceClipper::applyClippingToContext): 15 * rendering/svg/RenderSVGResourceClipper.h: 16 * rendering/svg/RenderSVGResourceFilter.cpp: 17 (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter): 18 (WebCore::RenderSVGResourceFilter::removeAllClientsFromCache): 19 (WebCore::RenderSVGResourceFilter::removeClientFromCache): 20 (WebCore::RenderSVGResourceFilter::applyResource): 21 (WebCore::RenderSVGResourceFilter::postApplyResource): 22 (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): 23 * rendering/svg/RenderSVGResourceFilter.h: 24 * rendering/svg/RenderSVGResourceMasker.cpp: 25 (WebCore::RenderSVGResourceMasker::~RenderSVGResourceMasker): 26 (WebCore::RenderSVGResourceMasker::removeAllClientsFromCache): 27 (WebCore::RenderSVGResourceMasker::removeClientFromCache): 28 (WebCore::RenderSVGResourceMasker::applyResource): 29 * rendering/svg/RenderSVGResourceMasker.h: 30 1 31 2013-09-10 Simon Fraser <simon.fraser@apple.com> 2 32 -
trunk/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp
r155412 r155547 61 61 RenderSVGResourceClipper::~RenderSVGResourceClipper() 62 62 { 63 if (m_clipper.isEmpty()) 64 return; 65 66 deleteAllValues(m_clipper); 63 } 64 65 void RenderSVGResourceClipper::removeAllClientsFromCache(bool markForInvalidation) 66 { 67 m_clipBoundaries = FloatRect(); 67 68 m_clipper.clear(); 68 }69 70 void RenderSVGResourceClipper::removeAllClientsFromCache(bool markForInvalidation)71 {72 m_clipBoundaries = FloatRect();73 if (!m_clipper.isEmpty()) {74 deleteAllValues(m_clipper);75 m_clipper.clear();76 }77 69 78 70 markAllClientsForInvalidation(markForInvalidation ? LayoutAndBoundariesInvalidation : ParentOnlyInvalidation); … … 82 74 { 83 75 ASSERT(client); 84 if (m_clipper.contains(client)) 85 delete m_clipper.take(client); 76 m_clipper.remove(client); 86 77 87 78 markClientForInvalidation(client, markForInvalidation ? BoundariesInvalidation : ParentOnlyInvalidation); … … 157 148 bool missingClipperData = !m_clipper.contains(object); 158 149 if (missingClipperData) 159 m_clipper.set(object, new ClipperData);150 m_clipper.set(object, createOwned<ClipperData>().release()); 160 151 161 152 bool shouldCreateClipData = false; -
trunk/Source/WebCore/rendering/svg/RenderSVGResourceClipper.h
r155412 r155547 72 72 73 73 FloatRect m_clipBoundaries; 74 HashMap<RenderObject*, ClipperData*> m_clipper;74 HashMap<RenderObject*, OwnPtr<ClipperData>> m_clipper; 75 75 }; 76 76 -
trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp
r155398 r155547 66 66 RenderSVGResourceFilter::~RenderSVGResourceFilter() 67 67 { 68 if (m_filter.isEmpty()) 69 return; 70 71 deleteAllValues(m_filter); 68 } 69 70 void RenderSVGResourceFilter::removeAllClientsFromCache(bool markForInvalidation) 71 { 72 72 m_filter.clear(); 73 }74 75 void RenderSVGResourceFilter::removeAllClientsFromCache(bool markForInvalidation)76 {77 if (!m_filter.isEmpty()) {78 deleteAllValues(m_filter);79 m_filter.clear();80 }81 73 82 74 markAllClientsForInvalidation(markForInvalidation ? LayoutAndBoundariesInvalidation : ParentOnlyInvalidation); … … 91 83 filterData->state = FilterData::MarkedForRemoval; 92 84 else 93 delete m_filter.take(client);85 m_filter.remove(client); 94 86 } 95 87 … … 156 148 } 157 149 158 OwnPtr<FilterData> filterData(adoptPtr(new FilterData));150 auto filterData = createOwned<FilterData>(); 159 151 FloatRect targetBoundingBox = object->objectBoundingBox(); 160 152 … … 225 217 ASSERT(!m_filter.contains(object)); 226 218 filterData->savedContext = context; 227 m_filter.set(object, filterData. leakPtr());219 m_filter.set(object, filterData.release()); 228 220 return false; 229 221 } … … 239 231 ASSERT(!m_filter.contains(object)); 240 232 filterData->savedContext = context; 241 m_filter.set(object, filterData. leakPtr());233 m_filter.set(object, filterData.release()); 242 234 return false; 243 235 } … … 255 247 256 248 ASSERT(!m_filter.contains(object)); 257 m_filter.set(object, filterData. leakPtr());249 m_filter.set(object, filterData.release()); 258 250 259 251 return true; … … 272 264 switch (filterData->state) { 273 265 case FilterData::MarkedForRemoval: 274 delete m_filter.take(object);266 m_filter.remove(object); 275 267 return; 276 268 … … 339 331 void RenderSVGResourceFilter::primitiveAttributeChanged(RenderObject* object, const QualifiedName& attribute) 340 332 { 341 HashMap<RenderObject*, FilterData*>::iterator it = m_filter.begin();342 HashMap<RenderObject*, FilterData*>::iterator end = m_filter.end();343 333 SVGFilterPrimitiveStandardAttributes* primitve = static_cast<SVGFilterPrimitiveStandardAttributes*>(object->node()); 344 334 345 for ( ; it != end; ++it) {346 FilterData*filterData = it->value;335 for (auto it = m_filter.begin(), end = m_filter.end(); it != end; ++it) { 336 const auto &filterData = it->value; 347 337 if (filterData->state != FilterData::Built) 348 338 continue; -
trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.h
r155398 r155547 94 94 bool fitsInMaximumImageSize(const FloatSize&, FloatSize&); 95 95 96 HashMap<RenderObject*, FilterData*> m_filter;96 HashMap<RenderObject*, OwnPtr<FilterData>> m_filter; 97 97 }; 98 98 -
trunk/Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp
r155398 r155547 49 49 RenderSVGResourceMasker::~RenderSVGResourceMasker() 50 50 { 51 if (m_masker.isEmpty())52 return;53 54 deleteAllValues(m_masker);55 m_masker.clear();56 51 } 57 52 … … 59 54 { 60 55 m_maskContentBoundaries = FloatRect(); 61 if (!m_masker.isEmpty()) { 62 deleteAllValues(m_masker); 63 m_masker.clear(); 64 } 56 m_masker.clear(); 65 57 66 58 markAllClientsForInvalidation(markForInvalidation ? LayoutAndBoundariesInvalidation : ParentOnlyInvalidation); … … 70 62 { 71 63 ASSERT(client); 72 73 if (m_masker.contains(client)) 74 delete m_masker.take(client); 64 m_masker.remove(client); 75 65 76 66 markClientForInvalidation(client, markForInvalidation ? BoundariesInvalidation : ParentOnlyInvalidation); … … 85 75 bool missingMaskerData = !m_masker.contains(object); 86 76 if (missingMaskerData) 87 m_masker.set(object, new MaskerData);77 m_masker.set(object, createOwned<MaskerData>().release()); 88 78 89 79 MaskerData* maskerData = m_masker.get(object); -
trunk/Source/WebCore/rendering/svg/RenderSVGResourceMasker.h
r155398 r155547 62 62 63 63 FloatRect m_maskContentBoundaries; 64 HashMap<RenderObject*, MaskerData*> m_masker;64 HashMap<RenderObject*, OwnPtr<MaskerData>> m_masker; 65 65 }; 66 66
Note: See TracChangeset
for help on using the changeset viewer.