[webkit-changes] cvs commit: WebCore/khtml/ecma xmlhttprequest.cpp
xmlhttprequest.h
John
sullivan at opensource.apple.com
Tue Aug 23 09:45:13 PDT 2005
sullivan 05/08/23 09:45:12
Modified: . ChangeLog
khtml/ecma xmlhttprequest.cpp xmlhttprequest.h
Log:
Reviewed by Beth Dakin.
- fixed <rdar://problem/4227019> Several 32-byte leaks after choosing pop-up menu at dzone198.apple.com
Test cases added: none, doesn't affect layout. I did execute run-layout-tests to verify that there
were no surprises though.
* khtml/ecma/xmlhttprequest.h:
use SharedPtr for onReadyStateChangeListener and onLoadListener
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::getValueProperty):
use notNull() instead of testing SharedPtrs against 0
(KJS::XMLHttpRequest::putValueProperty):
use reset() to set values of SharedPtrs; eliminate ref()s that had no deref()s
(KJS::XMLHttpRequest::mark):
use notNull() instead of testing SharedPtrs against 0
(KJS::XMLHttpRequest::XMLHttpRequest):
don't initialize SharedPtrs
(KJS::XMLHttpRequest::changeState):
use notNull() instead of testing SharedPtrs against 0
Revision Changes Path
1.4617 +23 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.4616
retrieving revision 1.4617
diff -u -r1.4616 -r1.4617
--- ChangeLog 22 Aug 2005 20:24:32 -0000 1.4616
+++ ChangeLog 23 Aug 2005 16:45:02 -0000 1.4617
@@ -1,3 +1,26 @@
+2005-08-22 John Sullivan <sullivan at apple.com>
+
+ Reviewed by Beth Dakin.
+
+ - fixed <rdar://problem/4227019> Several 32-byte leaks after choosing pop-up menu at dzone198.apple.com
+
+ Test cases added: none, doesn't affect layout. I did execute run-layout-tests to verify that there
+ were no surprises though.
+
+ * khtml/ecma/xmlhttprequest.h:
+ use SharedPtr for onReadyStateChangeListener and onLoadListener
+ * khtml/ecma/xmlhttprequest.cpp:
+ (KJS::XMLHttpRequest::getValueProperty):
+ use notNull() instead of testing SharedPtrs against 0
+ (KJS::XMLHttpRequest::putValueProperty):
+ use reset() to set values of SharedPtrs; eliminate ref()s that had no deref()s
+ (KJS::XMLHttpRequest::mark):
+ use notNull() instead of testing SharedPtrs against 0
+ (KJS::XMLHttpRequest::XMLHttpRequest):
+ don't initialize SharedPtrs
+ (KJS::XMLHttpRequest::changeState):
+ use notNull() instead of testing SharedPtrs against 0
+
2005-08-22 David Harrison <harrison at apple.com>
Reviewed by Justin.
1.39 +8 -12 WebCore/khtml/ecma/xmlhttprequest.cpp
Index: xmlhttprequest.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/ecma/xmlhttprequest.cpp,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- xmlhttprequest.cpp 17 Aug 2005 08:07:32 -0000 1.38
+++ xmlhttprequest.cpp 23 Aug 2005 16:45:12 -0000 1.39
@@ -184,13 +184,13 @@
case StatusText:
return getStatusText();
case Onreadystatechange:
- if (onReadyStateChangeListener && onReadyStateChangeListener->listenerObjImp()) {
+ if (onReadyStateChangeListener.notNull() && onReadyStateChangeListener->listenerObjImp()) {
return onReadyStateChangeListener->listenerObj();
} else {
return Null();
}
case Onload:
- if (onLoadListener && onLoadListener->listenerObjImp()) {
+ if (onLoadListener.notNull() && onLoadListener->listenerObjImp()) {
return onLoadListener->listenerObj();
} else {
return Null();
@@ -210,12 +210,10 @@
{
switch(token) {
case Onreadystatechange:
- onReadyStateChangeListener = Window::retrieveActive(exec)->getJSUnprotectedEventListener(value, true);
- if (onReadyStateChangeListener) onReadyStateChangeListener->ref();
+ onReadyStateChangeListener.reset(Window::retrieveActive(exec)->getJSUnprotectedEventListener(value, true));
break;
case Onload:
- onLoadListener = Window::retrieveActive(exec)->getJSUnprotectedEventListener(value, true);
- if (onLoadListener) onLoadListener->ref();
+ onLoadListener.reset(Window::retrieveActive(exec)->getJSUnprotectedEventListener(value, true));
break;
default:
kdWarning() << "HTMLDocument::putValueProperty unhandled token " << token << endl;
@@ -226,10 +224,10 @@
{
DOMObject::mark();
- if (onReadyStateChangeListener)
+ if (onReadyStateChangeListener.notNull())
onReadyStateChangeListener->mark();
- if (onLoadListener)
+ if (onLoadListener.notNull())
onLoadListener->mark();
}
@@ -240,8 +238,6 @@
async(true),
job(0),
state(Uninitialized),
- onReadyStateChangeListener(0),
- onLoadListener(0),
decoder(0),
createdDocument(false),
aborted(false)
@@ -262,7 +258,7 @@
if (state != newState) {
state = newState;
- if (doc && doc->part() && onReadyStateChangeListener != 0) {
+ if (doc && doc->part() && onReadyStateChangeListener.notNull()) {
int ignoreException;
EventImpl *ev = doc->createEvent("HTMLEvents", ignoreException);
ev->ref();
@@ -271,7 +267,7 @@
ev->deref();
}
- if (doc && doc->part() && state == Completed && onLoadListener != 0) {
+ if (doc && doc->part() && state == Completed && onLoadListener.notNull()) {
int ignoreException;
EventImpl *ev = doc->createEvent("HTMLEvents", ignoreException);
ev->ref();
1.19 +2 -2 WebCore/khtml/ecma/xmlhttprequest.h
Index: xmlhttprequest.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/ecma/xmlhttprequest.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- xmlhttprequest.h 8 Aug 2005 04:07:42 -0000 1.18
+++ xmlhttprequest.h 23 Aug 2005 16:45:12 -0000 1.19
@@ -125,8 +125,8 @@
KIO::TransferJob * job;
XMLHttpRequestState state;
- JSUnprotectedEventListener *onReadyStateChangeListener;
- JSUnprotectedEventListener *onLoadListener;
+ khtml::SharedPtr<JSUnprotectedEventListener> onReadyStateChangeListener;
+ khtml::SharedPtr<JSUnprotectedEventListener> onLoadListener;
khtml::Decoder *decoder;
QString encoding;
More information about the webkit-changes
mailing list