[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