webengine/osswebengine/WebCore/platform/network/symbian/ResourceLoaderDelegate.cpp
changeset 13 10e98eab6f85
parent 0 dd21522fd290
child 16 a359256acfc6
equal deleted inserted replaced
8:7c90e6132015 13:10e98eab6f85
    91 void ResourceLoaderDelegate::download(ResourceHandle* handle, const ResourceRequest& request,
    91 void ResourceLoaderDelegate::download(ResourceHandle* handle, const ResourceRequest& request,
    92                                       const WebCore::ResourceResponse& response)
    92                                       const WebCore::ResourceResponse& response)
    93 {
    93 {
    94     MUrlConnection* connection = handle->getInternal()->m_connection;
    94     MUrlConnection* connection = handle->getInternal()->m_connection;
    95     connection->download(handle, request, response);
    95     connection->download(handle, request, response);
       
    96 }
       
    97 
       
    98 static void cleanupConnection( TAny* connection )
       
    99 {
       
   100     delete (ResolvedConnection*) connection;
    96 }
   101 }
    97 
   102 
    98 MUrlConnection* ResourceLoaderDelegate::checkLinkResolverL(ResourceHandle* handle, Frame* frame)
   103 MUrlConnection* ResourceLoaderDelegate::checkLinkResolverL(ResourceHandle* handle, Frame* frame)
    99 {
   104 {
   100     CBrCtl* brctl = control(frame);
   105     CBrCtl* brctl = control(frame);
   115                     currentUrl->Des().Copy(currentUrl8);
   120                     currentUrl->Des().Copy(currentUrl8);
   116                     currentUrlPtr.Set(currentUrl->Des());
   121                     currentUrlPtr.Set(currentUrl->Des());
   117                 }
   122                 }
   118             }            
   123             }            
   119             connection = new (ELeave) ResolvedConnection(handle, frame);
   124             connection = new (ELeave) ResolvedConnection(handle, frame);
   120             CleanupStack::PushL(connection);
   125             TCleanupItem cleaner( cleanupConnection, connection );
       
   126             CleanupStack::PushL(cleaner);
   121             TBool ret = brctl->brCtlLinkResolver()->ResolveLinkL(url->Des(), currentUrlPtr, *connection);
   127             TBool ret = brctl->brCtlLinkResolver()->ResolveLinkL(url->Des(), currentUrlPtr, *connection);
   122             CleanupStack::Pop(); // connection
   128             CleanupStack::Pop(); // cleaner( connection )
   123             if (!ret) {
   129             if (!ret) {
   124                 delete connection;
   130                 delete connection;
   125                 connection = NULL;
   131                 connection = NULL;
   126             }
   132             }
   127         }
   133         }
   139                     currentUrl->Des().Copy(currentUrl8);
   145                     currentUrl->Des().Copy(currentUrl8);
   140                     currentUrlPtr.Set(currentUrl->Des());
   146                     currentUrlPtr.Set(currentUrl->Des());
   141                 }
   147                 }
   142             }            
   148             }            
   143             connection = new (ELeave) ResolvedConnection(handle, frame);
   149             connection = new (ELeave) ResolvedConnection(handle, frame);
   144             CleanupStack::PushL(connection);
   150             TCleanupItem cleaner( cleanupConnection, connection );
       
   151             CleanupStack::PushL(cleaner);
   145             TBool ret = brctl->brCtlLinkResolver()->ResolveEmbeddedLinkL(url->Des(), currentUrlPtr,
   152             TBool ret = brctl->brCtlLinkResolver()->ResolveEmbeddedLinkL(url->Des(), currentUrlPtr,
   146                 ELoadContentTypeAny, *connection);
   153                 ELoadContentTypeAny, *connection);
   147             CleanupStack::Pop(); // connection
   154             CleanupStack::Pop(); // cleaner( connection )
   148             if (!ret) {
   155             if (!ret) {
   149                 delete connection;
   156                 delete connection;
   150                 connection = NULL;
   157                 connection = NULL;
   151             }
   158             }
   152         }
   159         }