WebKit/ChangeLog

 1yinxcai, reviewed by Sachin.
 2 DESC: HMNN-6YLEHJ -- Browser crashes when selecting No for
 3 "Opening a secure connection.Content cannot be seen by anyone else."
 4 http://bugs.webkit.org/show_bug.cgi?id=12858
 5
 6 * ChangeLog:
 7 * ResourceLoader/inc/AboutLoader.h:
 8 * ResourceLoader/inc/BaseTransaction.h:
 9 * ResourceLoader/inc/BufferLoader.h:
 10 * ResourceLoader/inc/DataLoader.h:
 11 * ResourceLoader/inc/FileLoader.h:
 12 * ResourceLoader/inc/HttpLoader.h:
 13 * ResourceLoader/src/AboutLoader.cpp:
 14 (CAboutLoader::HandleSpecialEventL):
 15 * ResourceLoader/src/BufferLoader.cpp:
 16 (CBufferLoader::HandleSpecialEventL):
 17 * ResourceLoader/src/DataLoader.cpp:
 18 (CDataLoader::HandleSpecialEventL):
 19 * ResourceLoader/src/FileLoader.cpp:
 20 (CFileLoader::HandleSpecialEventL):
 21 * ResourceLoader/src/HttpLoader.cpp:
 22 (CHttpLoader::HandleSpecialEventL):
 23 * ResourceLoader/src/HttpTransaction.cpp:
 24 (CHttpTransaction::MHFRunL):
 25
 26yinxcai, reviewed by Sachin.
 27 DESC: HMNN-6YLEHJ -- Browser crashes when selecting No for
 28 "Opening a secure connection.Content cannot be seen by anyone else."
 29 http://bugs.webkit.org/show_bug.cgi?id=12858
 30
 31 * ResourceLoader/inc/AboutLoader.h:
 32 * ResourceLoader/inc/BaseTransaction.h:
 33 * ResourceLoader/inc/BufferLoader.h:
 34 * ResourceLoader/inc/DataLoader.h:
 35 * ResourceLoader/inc/FileLoader.h:
 36 * ResourceLoader/inc/HttpLoader.h:
 37 * ResourceLoader/src/AboutLoader.cpp:
 38 (CAboutLoader::HandleSpecialEventL):
 39 * ResourceLoader/src/BufferLoader.cpp:
 40 (CBufferLoader::HandleSpecialEventL):
 41 * ResourceLoader/src/DataLoader.cpp:
 42 (CDataLoader::HandleSpecialEventL):
 43 * ResourceLoader/src/FileLoader.cpp:
 44 (CFileLoader::HandleSpecialEventL):
 45 * ResourceLoader/src/HttpLoader.cpp:
 46 (CHttpLoader::HandleSpecialEventL):
 47 * ResourceLoader/src/HttpTransaction.cpp:
 48 (CHttpTransaction::MHFRunL):
 49
150sareen by yongjun
251 DESC: Selection list not shown correctly in www.elisa.fi HMNN-6XQJMX
352 http://bugs.webkit.org/show_bug.cgi?id=12719
19825

WebKit/ResourceLoader/inc/AboutLoader.h

@@class CAboutLoader : public CUrlLoader
9898 * @since 3.1
9999 * @param aTransaction Observed transaction.
100100 * @param aEvent Event to be processed
101  * @return
 101 * @return TInt
102102 */
103  void HandleSpecialEventL( CBaseTransaction& aTransaction, TInt aEvent );
 103 TInt HandleSpecialEventL( CBaseTransaction& aTransaction, TInt aEvent );
104104
105105 protected: // from CUrlLoader
106106
19805

WebKit/ResourceLoader/inc/BaseTransaction.h

@@class MTransactionObserver
115115 * @since 3.1
116116 * @param aTransaction Observed transaction.
117117 * @param aEvent Event to be processed
118  * @return
 118 * @return TInt
119119 */
120  virtual void HandleSpecialEventL( CBaseTransaction& aTransaction, TInt aEvent ) = 0;
 120 virtual TInt HandleSpecialEventL( CBaseTransaction& aTransaction, TInt aEvent ) = 0;
121121
122122 /**
123123 * This function is called when an error happens to the transaction.
19805

WebKit/ResourceLoader/inc/BufferLoader.h

@@class CBufferLoader : public CUrlLoader
112112 * @since 3.1
113113 * @param aTransaction Observed transaction.
114114 * @param aEvent Event to be processed
115  * @return
 115 * @return TInt
116116 */
117  void HandleSpecialEventL( CBaseTransaction& aTransaction, TInt aEvent );
 117 TInt HandleSpecialEventL( CBaseTransaction& aTransaction, TInt aEvent );
118118
119119 protected: // from CUrlLoader
120120
19805

WebKit/ResourceLoader/inc/DataLoader.h

@@class CDataLoader : public CUrlLoader
9898 * @since 3.1
9999 * @param aTransaction Observed transaction.
100100 * @param aEvent Event to be processed
101  * @return
 101 * @return TInt
102102 */
103  void HandleSpecialEventL( CBaseTransaction& aTransaction, TInt aEvent );
 103 TInt HandleSpecialEventL( CBaseTransaction& aTransaction, TInt aEvent );
104104
105105 protected: // from CUrlLoader
106106
19805

WebKit/ResourceLoader/inc/FileLoader.h

@@class CFileLoader : public CUrlLoader
109109 * @since 3.1
110110 * @param aTransaction Observed transaction.
111111 * @param aEvent Event to be processed
112  * @return
 112 * @return TInt
113113 */
114  void HandleSpecialEventL( CBaseTransaction& aTransaction, TInt aEvent );
 114 TInt HandleSpecialEventL( CBaseTransaction& aTransaction, TInt aEvent );
115115
116116 protected: // from CUrlLoader
117117
19805

WebKit/ResourceLoader/inc/HttpLoader.h

@@class CHttpLoader : public CUrlLoader
156156 * @since 3.1
157157 * @param aTransaction Observed transaction.
158158 * @param aEvent Event to be processed
159  * @return
 159 * @return TInt
160160 */
161  void HandleSpecialEventL( CBaseTransaction& aTransaction, TInt aEvent );
 161 TInt HandleSpecialEventL( CBaseTransaction& aTransaction, TInt aEvent );
162162
163163 /**
164164 * This function is called when an error happens to the transaction.
19805

WebKit/ResourceLoader/src/AboutLoader.cpp

@@void CAboutLoader::CloseL()
127127//
128128// -----------------------------------------------------------------------------
129129//
130 void CAboutLoader::HandleSpecialEventL(
 130TInt CAboutLoader::HandleSpecialEventL(
131131 CBaseTransaction& /*aTransaction*/,
132132 TInt /*aEvent*/ )
133133 {
 134 return KErrNone;
134135 }
135136
136137// -----------------------------------------------------------------------------
19805

WebKit/ResourceLoader/src/BufferLoader.cpp

@@void CBufferLoader::CloseL()
146146//
147147// -----------------------------------------------------------------------------
148148//
149 void CBufferLoader::HandleSpecialEventL(
 149TInt CBufferLoader::HandleSpecialEventL(
150150 CBaseTransaction& /*aTransaction*/,
151151 TInt /*aEvent*/ )
152152 {
 153 return KErrNone;
153154 }
154155
155156// -----------------------------------------------------------------------------
19805

WebKit/ResourceLoader/src/DataLoader.cpp

@@void CDataLoader::CloseL()
127127//
128128// -----------------------------------------------------------------------------
129129//
130 void CDataLoader::HandleSpecialEventL(
 130TInt CDataLoader::HandleSpecialEventL(
131131 CBaseTransaction& /*aTransaction*/,
132132 TInt /*aEvent*/ )
133133 {
 134 return KErrNone;
134135 }
135136
136137// -----------------------------------------------------------------------------
19805

WebKit/ResourceLoader/src/FileLoader.cpp

@@void CFileLoader::CloseL()
150150//
151151// -----------------------------------------------------------------------------
152152//
153 void CFileLoader::HandleSpecialEventL(
 153TInt CFileLoader::HandleSpecialEventL(
154154 CBaseTransaction& /*aTransaction*/,
155155 TInt /*aEvent*/ )
156156 {
 157 return KErrNone;
157158 }
158159
159160// -----------------------------------------------------------------------------
19805

WebKit/ResourceLoader/src/HttpLoader.cpp

@@void CHttpLoader::CloseL()
406406//
407407// -----------------------------------------------------------------------------
408408//
409 void CHttpLoader::HandleSpecialEventL(
 409TInt CHttpLoader::HandleSpecialEventL(
410410 CBaseTransaction& aTransaction,
411411 TInt aEvent )
412412 {
 413 TInt ret( KErrNone );
 414
413415 switch( aEvent )
414416 {
415417 case THTTPEvent::ERedirectRequiresConfirmation:
416418 {
417419 // Display a Redirect Confirmation dialog, before proceeding
418  TInt ret( KErrNone );
419 
420420 ret = iHttpLoaderToUiEventListener->AboutToLoadPage( ERedirectConfirmation );
421421
422422 if( ret == KErrNone )

@@void CHttpLoader::HandleSpecialEventL(
426426 RHTTPTransaction* httpTrans = trans.HttpTransaction();
427427
428428 TRAP( ret, httpTrans->SubmitL() );
 429 return ret;
429430 }
430431 else
431432 {
432  aTransaction.CancelTransaction( KErrCancel );
 433 return KErrCancel;
433434 }
434435 break;
435436 }
436  case THTTPEvent::ERedirectedPermanently:
 437 case THTTPEvent::ERedirectedPermanently:
437438 case THTTPEvent::ERedirectedTemporarily:
438  if(CheckForSecurityStatusChange(aTransaction) != KErrNone)
439  {
440  aTransaction.CancelTransaction( KErrCancel );
441  }
442  else
443  CheckForNonHttpRedirect(aTransaction);
444  break;
 439 if(CheckForSecurityStatusChange(aTransaction) != KErrNone)
 440 {
 441 return KErrCancel;
 442 }
 443 else
 444 {
 445 CheckForNonHttpRedirect(aTransaction);
 446 }
 447 break;
445448 case KErrNotSupported:
446449 {
447450 // get download manager

@@void CHttpLoader::HandleSpecialEventL(
469472 break;
470473 }
471474 }
 475 return ret;
472476 }
473477
474478// -----------------------------------------------------------------------------
19805

WebKit/ResourceLoader/src/HttpTransaction.cpp

@@void CHttpTransaction::MHFRunL(
373373 }
374374 case THTTPEvent::ERedirectRequiresConfirmation:
375375 {
376  iTransactionObserver->HandleSpecialEventL( *this,
 376 TInt ret = iTransactionObserver->HandleSpecialEventL( *this,
377377 THTTPEvent::ERedirectRequiresConfirmation );
 378 //check return value
 379 if (ret == KErrCancel)
 380 {
 381 CancelTransaction( KErrCancel );
 382 }
378383 break;
379384 }
380385 case THTTPEvent::ERedirectedPermanently:

@@void CHttpTransaction::MHFRunL(
401406 iFragment = HBufC::NewL( fragment.Length() );
402407 iFragment->Des().Copy( fragment );
403408 }
404  iTransactionObserver->HandleSpecialEventL( *this, aEvent.iStatus );
405  //set the redirection flag
406  SetIsRedirected(ETrue);
407  iUrlRequestInfo->SetRedirectedUrlL( aTransaction.Request().URI().UriDes() );
 409
 410 TInt ret = iTransactionObserver->HandleSpecialEventL( *this, aEvent.iStatus );
 411
 412 //check return value
 413 if (ret == KErrCancel)
 414 {
 415 CancelTransaction( KErrCancel );
 416 }
 417 else
 418 {
 419 if (ret == KErrNone)
 420 {
 421 //set the redirection flag
 422 SetIsRedirected(ETrue);
 423 iUrlRequestInfo->SetRedirectedUrlL( aTransaction.Request().URI().UriDes() );
 424 }
 425 }
408426 break;
409427 }
410428 case THTTPEvent::EGotResponseTrailerHeaders:
19805