[webkit-changes] cvs commit: WebCore/khtml/ecma xmlhttprequest.cpp
xmlhttprequest.h
Adele
adele at opensource.apple.com
Tue Aug 23 17:03:38 PDT 2005
adele 05/08/23 17:03:37
Modified: . Tag: Safari-2-0-branch ChangeLog
khtml/ecma Tag: Safari-2-0-branch xmlhttprequest.cpp
xmlhttprequest.h
Log:
Merged fix from TOT to Safari-2-0-branch
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
Revision Changes Path
No revision
No revision
1.1.2.1 +27 -0 WebCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/WebCore/ChangeLog,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
--- ChangeLog 23 Aug 2005 22:27:30 -0000 1.1
+++ ChangeLog 24 Aug 2005 00:03:36 -0000 1.1.2.1
@@ -1 +1,28 @@
+2005-08-23 Adele Peterson <adele at apple.com>
+
+ Merged fix from TOT to Safari-2-0-branch
+
+ 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
+
== Rolled over to ChangeLog-2004-08-23 ==
No revision
No revision
1.26.8.6 +8 -12 WebCore/khtml/ecma/xmlhttprequest.cpp
Index: xmlhttprequest.cpp
===================================================================
RCS file: /cvs/root/WebCore/khtml/ecma/xmlhttprequest.cpp,v
retrieving revision 1.26.8.5
retrieving revision 1.26.8.6
diff -u -r1.26.8.5 -r1.26.8.6
--- xmlhttprequest.cpp 11 Aug 2005 00:28:30 -0000 1.26.8.5
+++ xmlhttprequest.cpp 24 Aug 2005 00:03:37 -0000 1.26.8.6
@@ -178,13 +178,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();
@@ -204,12 +204,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::putValue unhandled token " << token << endl;
@@ -220,10 +218,10 @@
{
DOMObject::mark();
- if (onReadyStateChangeListener)
+ if (onReadyStateChangeListener.notNull())
onReadyStateChangeListener->mark();
- if (onLoadListener)
+ if (onLoadListener.notNull())
onLoadListener->mark();
}
@@ -234,8 +232,6 @@
async(true),
job(0),
state(Uninitialized),
- onReadyStateChangeListener(0),
- onLoadListener(0),
decoder(0),
createdDocument(false),
aborted(false)
@@ -256,13 +252,13 @@
if (state != newState) {
state = newState;
- if (doc && doc->part() && onReadyStateChangeListener != 0) {
+ if (doc && doc->part() && onReadyStateChangeListener.notNull()) {
DOM::Event ev = doc->part()->document().createEvent("HTMLEvents");
ev.initEvent("readystatechange", true, true);
onReadyStateChangeListener->handleEvent(ev, true);
}
- if (doc && doc->part() && state == Completed && onLoadListener != 0) {
+ if (doc && doc->part() && state == Completed && onLoadListener.notNull()) {
DOM::Event ev = doc->part()->document().createEvent("HTMLEvents");
ev.initEvent("load", true, true);
onLoadListener->handleEvent(ev, true);
1.11.8.4 +2 -2 WebCore/khtml/ecma/xmlhttprequest.h
Index: xmlhttprequest.h
===================================================================
RCS file: /cvs/root/WebCore/khtml/ecma/xmlhttprequest.h,v
retrieving revision 1.11.8.3
retrieving revision 1.11.8.4
diff -u -r1.11.8.3 -r1.11.8.4
--- xmlhttprequest.h 1 Jun 2005 22:34:55 -0000 1.11.8.3
+++ xmlhttprequest.h 24 Aug 2005 00:03:37 -0000 1.11.8.4
@@ -113,8 +113,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