Changeset 104362 in webkit
- Timestamp:
- Jan 6, 2012 5:23:41 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r104358 r104362 1 2012-01-06 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 2 3 Use HashMap<OwnPtr> in SVGAttributeToPropertyMap 4 https://bugs.webkit.org/show_bug.cgi?id=75734 5 6 Reviewed by Daniel Bates. 7 8 * svg/properties/SVGAttributeToPropertyMap.cpp: 9 (WebCore::SVGAttributeToPropertyMap::addProperties): 10 (WebCore::SVGAttributeToPropertyMap::addProperty): use HashMap::add() to avoid an 11 extra hash lookup to set a new PropertiesVector. 12 (WebCore::SVGAttributeToPropertyMap::synchronizeProperties): 13 * svg/properties/SVGAttributeToPropertyMap.h: 14 1 15 2012-01-06 Greg Billock <gbillock@google.com> 2 16 -
trunk/Source/WebCore/svg/properties/SVGAttributeToPropertyMap.cpp
r95901 r104362 32 32 AttributeToPropertiesMap::iterator end = map.m_map.end(); 33 33 for (AttributeToPropertiesMap::iterator it = map.m_map.begin(); it != end; ++it) { 34 PropertiesVector* vector = it->second ;34 PropertiesVector* vector = it->second.get(); 35 35 ASSERT(vector); 36 36 … … 45 45 ASSERT(info); 46 46 ASSERT(info->attributeName != anyQName()); 47 if (PropertiesVector* vector = m_map.get(info->attributeName)) { 48 vector->append(info); 49 return; 50 } 51 PropertiesVector* vector = new PropertiesVector; 47 OwnPtr<PropertiesVector>& vector = m_map.add(info->attributeName, nullptr).first->second; 48 if (!vector) 49 vector = adoptPtr(new PropertiesVector); 52 50 vector->append(info); 53 m_map.set(info->attributeName, vector);54 51 } 55 52 … … 82 79 AttributeToPropertiesMap::iterator end = m_map.end(); 83 80 for (AttributeToPropertiesMap::iterator it = m_map.begin(); it != end; ++it) { 84 PropertiesVector* vector = it->second ;81 PropertiesVector* vector = it->second.get(); 85 82 ASSERT(vector); 86 83 -
trunk/Source/WebCore/svg/properties/SVGAttributeToPropertyMap.h
r95901 r104362 34 34 class SVGAttributeToPropertyMap { 35 35 public: 36 SVGAttributeToPropertyMap() { }37 ~SVGAttributeToPropertyMap() { deleteAllValues(m_map); }38 39 36 bool isEmpty() const { return m_map.isEmpty(); } 40 37 … … 53 50 54 51 typedef Vector<const SVGPropertyInfo*> PropertiesVector; 55 typedef HashMap<QualifiedName, PropertiesVector*> AttributeToPropertiesMap;52 typedef HashMap<QualifiedName, OwnPtr<PropertiesVector> > AttributeToPropertiesMap; 56 53 AttributeToPropertiesMap m_map; 57 54 };
Note: See TracChangeset
for help on using the changeset viewer.