webengine/osswebengine/WebCore/platform/network/symbian/HttpUiCallbacks.cpp
changeset 10 a359256acfc6
parent 0 dd21522fd290
child 11 c8a366e56285
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpUiCallbacks.cpp	Fri Jul 03 15:54:40 2009 +0100
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpUiCallbacks.cpp	Thu Aug 27 07:44:59 2009 +0300
@@ -48,6 +48,7 @@
 {
     m_error = KErrNone;
     m_scheduler = NULL;
+    m_brctl = NULL;
 }
 
 HttpUiCallbacks::~HttpUiCallbacks()
@@ -56,6 +57,12 @@
         m_scheduler->Cancel();
         delete m_scheduler;
     }
+    m_brctl = NULL;
+}
+
+void HttpUiCallbacks::SetBrowserControl(CBrCtl* aBrctl)
+{
+    m_brctl = aBrctl;        
 }
 
 TInt HttpUiCallbacks::handleErrorCb(TAny* aPtr)
@@ -79,7 +86,14 @@
 {
     TInt error = KErrNone;
     if( aConnectionPtr && aSockSvrHandle && aNewConn ){
-        TRAP(error, brctl()->brCtlSpecialLoadObserver()->NetworkConnectionNeededL(aConnectionPtr, aSockSvrHandle, aNewConn, aBearerType));
+        if(m_brctl && m_brctl->webView()->widgetExtension()){
+            TRAP(error, m_brctl->brCtlSpecialLoadObserver()->NetworkConnectionNeededL(aConnectionPtr, aSockSvrHandle, aNewConn, aBearerType));        
+            }
+        else 
+            {
+            TRAP(error, brctl()->brCtlSpecialLoadObserver()->NetworkConnectionNeededL(aConnectionPtr, aSockSvrHandle, aNewConn, aBearerType));        
+            }     
+ 
         if( error == KErrNone && *aConnectionPtr ) {
             RConnection* connPtr = REINTERPRET_CAST( RConnection*, *aConnectionPtr );
             TConnectionInfoBuf connInfoBuf;
@@ -195,7 +209,12 @@
                 event = TBrCtlDefs::EEventSecureItemInNonSecurePage;
                 break;
             }
-        
+        case EReEnteringSecurePage:
+            {
+                resId = 0;
+                event = TBrCtlDefs::EEventEnteringSecurePage;
+                break;
+            }
         default:
             {
                 resId = 0;