Changeset 20687 in webkit


Ignore:
Timestamp:
Apr 3, 2007 1:51:55 PM (17 years ago)
Author:
spadma
Message:

2007-03-30 ligman <joseph.ligman@nokia.com>

Reviewed by Sachin.
DESC: When the request dispatcher does not define a loader

no pending transaction will exist, so set this undefined status
to KErrCancel so the callers don't wait indefinitely. Also, create, use,
and close the download property string when it's needed to avoid closing
the rstring after the string pool which it's using has somehow gone away.

http://bugs.webkit.org/show_bug.cgi?id=13232

  • BrowserView/src/WebKitLoader.cpp: (CWebKitLoader::LoadPageL):
  • ResourceLoader/inc/BaseTransaction.h:
  • ResourceLoader/src/HttpTransaction.cpp: (CHttpTransaction::~CHttpTransaction): (CHttpTransaction::MHFRunL): (CHttpTransaction::MHFRunError): (CHttpTransaction::HandleGotResponseHeadersL):
Location:
S60/branches/3.1m/WebKit
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • S60/branches/3.1m/WebKit/BrowserView/src/WebKitLoader.cpp

    r20409 r20687  
    283283            }
    284284         }
     285    else if ( status == KErrNone && !urlLoader )  //There is no pending transaction when the urlloader
     286        {                                         //does not exist. For lack of a better solution, setting
     287        status = KErrCancel;                      //the status to KErrCancel so the callers don't wait indefinitely.
     288        }         
     289
    285290    return status;
    286291    }
  • S60/branches/3.1m/WebKit/ChangeLog

    r20683 r20687  
     12007-03-30  ligman  <joseph.ligman@nokia.com>
     2
     3        Reviewed by Sachin.
     4        DESC: When the request dispatcher does not define a loader
     5              no pending transaction will exist, so set this undefined status
     6              to KErrCancel so the callers don't wait indefinitely. Also, create, use,
     7              and close the download property string when it's needed to avoid closing
     8              the rstring after the string pool which it's using has somehow gone away.       
     9        http://bugs.webkit.org/show_bug.cgi?id=13232
     10
     11        * BrowserView/src/WebKitLoader.cpp:
     12        (CWebKitLoader::LoadPageL):
     13        * ResourceLoader/inc/BaseTransaction.h:
     14        * ResourceLoader/src/HttpTransaction.cpp:
     15        (CHttpTransaction::~CHttpTransaction):
     16        (CHttpTransaction::MHFRunL):
     17        (CHttpTransaction::MHFRunError):
     18        (CHttpTransaction::HandleGotResponseHeadersL):
     19       
    1202007-03-27  raalexan  <rasvan.alexandrescu@nokia.com>
    221
  • S60/branches/3.1m/WebKit/ResourceLoader/inc/BaseTransaction.h

    r19914 r20687  
    484484      // != -1 if donwloadmanager has this transaction
    485485      TInt32            iDownloadId;
    486       // downloadmanager's property
    487       RStringF          iDownloadPropStr;
    488486      //
    489487      CPeriodic*        iSubmitTimer;   // owned
  • S60/branches/3.1m/WebKit/ResourceLoader/src/HttpTransaction.cpp

    r20658 r20687  
    213213    delete iPBuf;
    214214    dead = ETrue;
    215  
    216   if (iCacheSupply)   
    217     {
    218     iCacheSupply->CloseRequest();
    219     }
    220    
     215
     216    if (iCacheSupply)   
     217        {
     218        iCacheSupply->CloseRequest();
     219        }
     220
    221221    if( iDownloadId == -1 && iTrans )
    222222        {
    223     iDownloadPropStr.Close();           
    224223        // close transaction
    225224        iTrans->Close();
    226225        delete iTrans;
    227226        }
    228        
     227
    229228    delete iCacheSupply;
    230   delete iPostDataSupplier;
     229    delete iPostDataSupplier;
    231230    }
    232231
     
    298297        {
    299298        THTTPHdrVal callback;
    300         RStringPool strPool = aTransaction.Session().StringPool();
     299        RStringF downloadPropStr = aTransaction.Session().StringPool().OpenFStringL( _L8( "TransactionCallback" ) );
    301300        RHTTPTransactionPropertySet propSet = aTransaction.PropertySet();
    302 
    303301        // this is a transaction, already forwarded to download manager
    304         if( propSet.Property( iDownloadPropStr, callback ) )
     302        if( propSet.Property( downloadPropStr, callback ) )
    305303            {
    306304            MHTTPTransactionCallback* callbackPtr = REINTERPRET_CAST(
     
    317315            __ASSERT_DEBUG( EFalse, TLoaderUtils::PanicLoader( KErrGeneral ) );
    318316            }
     317        downloadPropStr.Close();           
    319318        }
    320319    else
     
    449448    if( iDownloadId != -1 )
    450449        {
    451         THTTPHdrVal callback;
     450       
     451        // save downloadmanager callback property id
     452        RStringF downloadPropStr = aTransaction.Session().StringPool().OpenFStringL( _L8( "TransactionCallback" ) );
     453       
     454        THTTPHdrVal callback;       
    452455        RHTTPTransactionPropertySet propSet = aTransaction.PropertySet();
    453 
    454         if( propSet.Property( iDownloadPropStr, callback ) )
     456        if( propSet.Property( downloadPropStr, callback ) )
    455457            {
    456458            MHTTPTransactionCallback* callbackPtr = REINTERPRET_CAST(
     
    467469            __ASSERT_DEBUG( EFalse, TLoaderUtils::PanicLoader( KErrGeneral ) );
    468470            }
     471           
     472        downloadPropStr.Close();
     473       
    469474        }
    470475    else
     
    686691            // close cache item as it is handled by the download mgr
    687692            iCacheSupply->CloseRequest();
    688       }
    689             // save downloadmanager callback property id
    690             iDownloadPropStr = iTrans->Session().StringPool().OpenFStringL( _L8( "TransactionCallback" ) );
     693      }           
    691694            // turn off pipelining
    692695            CLoaderContainer* loaderContainer = static_cast<CLoaderContainer*>
Note: See TracChangeset for help on using the changeset viewer.