diff -r c68061d56109 -r 69d8e75812b7 omadrm/drmhelper/src/drmhelper.cpp --- a/omadrm/drmhelper/src/drmhelper.cpp Fri Jun 11 15:44:45 2010 +0300 +++ b/omadrm/drmhelper/src/drmhelper.cpp Thu Jun 24 12:39:58 2010 +0300 @@ -59,12 +59,12 @@ #include -#include // for handling URLs #include "DRMHelperServer.h" #include "ConsumeData.h" #include "DRMTypes.h" #include "DRMClockClient.h" #include "DRMPointerArray.h" +#include #include // for secondary display support #include @@ -862,7 +862,6 @@ FeatureManager::UnInitializeLib(); - delete iSchemeHandler; delete iEventProvider; } @@ -5549,25 +5548,14 @@ i = 0; } - CSchemeHandler* schemeHandler( CSchemeHandler::NewL( ptr.Mid( i ) ) ); - CleanupStack::PushL( schemeHandler ); - if ( iUseCoeEnv ) - { - // launch embedded - schemeHandler->Observer( this ); - schemeHandler->HandleUrlEmbeddedL(); - CleanupStack::Pop( schemeHandler ); - iSchemeHandler = schemeHandler; - iWait.Start(); - } - else - { - // no CoeEnv, launch standalone with scheme app - schemeHandler->HandleUrlStandaloneL(); - CleanupStack::PopAndDestroy( schemeHandler ); - } - schemeHandler = NULL; - + // convert given URL to QUrl format + DRM::CDrmBrowserLauncher* browserLauncher = DRM::CDrmBrowserLauncher::NewLC(); + + browserLauncher->LaunchUrlL(ptr); + + CleanupStack::PopAndDestroy(); // browserLauncher + + // delete newUrl if needed if ( newUrl ) { @@ -7048,17 +7036,11 @@ // void CDRMHelper::HandleServerAppExit( TInt aReason ) { - if ( aReason == EAknCmdExit && !iSchemeHandler ) + if ( aReason == EAknCmdExit ) { CAknEnv::RunAppShutter(); } - if ( iSchemeHandler ) - { - delete iSchemeHandler; - iSchemeHandler = NULL; - } - if ( iWait.IsStarted() ) { iWait.AsyncStop();