Title: [154708] trunk/Source/WebCore
- Revision
- 154708
- Author
- [email protected]
- Date
- 2013-08-27 14:26:58 -0700 (Tue, 27 Aug 2013)
Log Message
Stop using deleteAllValues in CClass
https://bugs.webkit.org/show_bug.cgi?id=120376
Reviewed by Andreas Kling.
* bridge/c/c_class.cpp:
(JSC::Bindings::CClass::CClass):
(JSC::Bindings::CClass::~CClass):
(JSC::Bindings::CClass::methodNamed):
(JSC::Bindings::CClass::fieldNamed):
* bridge/c/c_class.h:
* bridge/jsc/BridgeJSC.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (154707 => 154708)
--- trunk/Source/WebCore/ChangeLog 2013-08-27 20:49:57 UTC (rev 154707)
+++ trunk/Source/WebCore/ChangeLog 2013-08-27 21:26:58 UTC (rev 154708)
@@ -1,3 +1,18 @@
+2013-08-27 Anders Carlsson <[email protected]>
+
+ Stop using deleteAllValues in CClass
+ https://bugs.webkit.org/show_bug.cgi?id=120376
+
+ Reviewed by Andreas Kling.
+
+ * bridge/c/c_class.cpp:
+ (JSC::Bindings::CClass::CClass):
+ (JSC::Bindings::CClass::~CClass):
+ (JSC::Bindings::CClass::methodNamed):
+ (JSC::Bindings::CClass::fieldNamed):
+ * bridge/c/c_class.h:
+ * bridge/jsc/BridgeJSC.h:
+
2013-08-27 Benjamin Poulain <[email protected]>
Clean ClassList and DOMSettableTokenList
Modified: trunk/Source/WebCore/bridge/c/c_class.cpp (154707 => 154708)
--- trunk/Source/WebCore/bridge/c/c_class.cpp 2013-08-27 20:49:57 UTC (rev 154707)
+++ trunk/Source/WebCore/bridge/c/c_class.cpp 2013-08-27 21:26:58 UTC (rev 154708)
@@ -41,16 +41,13 @@
CClass::CClass(NPClass* aClass)
{
- _isa = aClass;
+ m_isa = aClass;
}
CClass::~CClass()
{
- deleteAllValues(_methods);
- _methods.clear();
-
- deleteAllValues(_fields);
- _fields.clear();
+ m_methods.clear();
+ m_fields.clear();
}
typedef HashMap<NPClass*, CClass*> ClassesByIsAMap;
@@ -74,16 +71,16 @@
{
String name(propertyName.publicName());
- if (Method* method = _methods.get(name.impl()))
+ if (Method* method = m_methods.get(name.impl()))
return method;
NPIdentifier ident = _NPN_GetStringIdentifier(name.ascii().data());
const CInstance* inst = static_cast<const CInstance*>(instance);
NPObject* obj = inst->getObject();
- if (_isa->hasMethod && _isa->hasMethod(obj, ident)){
- Method* method = new CMethod(ident); // deleted in the CClass destructor
- _methods.set(name.impl(), method);
- return method;
+ if (m_isa->hasMethod && m_isa->hasMethod(obj, ident)) {
+ OwnPtr<Method> method = adoptPtr(new CMethod(ident));
+ m_methods.set(name.impl(), method.release());
+ return method.get();
}
return 0;
@@ -93,18 +90,18 @@
{
String name(propertyName.publicName());
- Field* aField = _fields.get(name.impl());
- if (aField)
- return aField;
-
+ if (Field* field = m_fields.get(name.impl()))
+ return field;
+
NPIdentifier ident = _NPN_GetStringIdentifier(name.ascii().data());
const CInstance* inst = static_cast<const CInstance*>(instance);
NPObject* obj = inst->getObject();
- if (_isa->hasProperty && _isa->hasProperty(obj, ident)){
- aField = new CField(ident); // deleted in the CClass destructor
- _fields.set(name.impl(), aField);
+ if (m_isa->hasProperty && m_isa->hasProperty(obj, ident)) {
+ OwnPtr<Field> field = adoptPtr(new CField(ident));
+ m_fields.set(name.impl(), field.release());
}
- return aField;
+
+ return 0;
}
} } // namespace JSC::Bindings
Modified: trunk/Source/WebCore/bridge/c/c_class.h (154707 => 154708)
--- trunk/Source/WebCore/bridge/c/c_class.h 2013-08-27 20:49:57 UTC (rev 154707)
+++ trunk/Source/WebCore/bridge/c/c_class.h 2013-08-27 21:26:58 UTC (rev 154708)
@@ -47,9 +47,9 @@
virtual Field* fieldNamed(PropertyName, Instance*) const;
private:
- NPClass* _isa;
- mutable MethodMap _methods;
- mutable FieldMap _fields;
+ NPClass* m_isa;
+ mutable HashMap<RefPtr<StringImpl>, OwnPtr<Method>> m_methods;
+ mutable HashMap<RefPtr<StringImpl>, OwnPtr<Field>> m_fields;
};
} // namespace Bindings
Modified: trunk/Source/WebCore/bridge/jsc/BridgeJSC.h (154707 => 154708)
--- trunk/Source/WebCore/bridge/jsc/BridgeJSC.h 2013-08-27 20:49:57 UTC (rev 154707)
+++ trunk/Source/WebCore/bridge/jsc/BridgeJSC.h 2013-08-27 21:26:58 UTC (rev 154708)
@@ -134,9 +134,6 @@
const char* signatureForParameters(const ArgList&);
-typedef HashMap<RefPtr<StringImpl>, Method*> MethodMap;
-typedef HashMap<RefPtr<StringImpl>, Field*> FieldMap;
-
} // namespace Bindings
} // namespace JSC
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes