--- a/browserplugins/browseraudiovideoplugin/inc/BavpPlugin.h Thu Jul 15 18:42:04 2010 +0300
+++ b/browserplugins/browseraudiovideoplugin/inc/BavpPlugin.h Thu Aug 19 09:57:56 2010 +0300
@@ -281,6 +281,7 @@
TBool iPauseState;
TBool iIsForeGround;
TBool iPauseInBackground;
+ TBool iPlayFromFile;
};
/**
--- a/browserplugins/browseraudiovideoplugin/src/BavpPlugin.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserplugins/browseraudiovideoplugin/src/BavpPlugin.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -46,7 +46,8 @@
iMimeType( NULL ),
iPauseState ( EFalse ),
iIsForeGround ( ETrue ),
- iPauseInBackground (EFalse)
+ iPauseInBackground (EFalse),
+ iPlayFromFile(EFalse)
{
}
@@ -188,6 +189,7 @@
// -----------------------------------------------------------------------------
void CBavpPlugin::OpenAndPlayFileL( const TDesC& aFilename, const HBufC* originalFileName )
{
+ iPlayFromFile = ETrue;
Log( EFalse, _L("CBavpPlugin::OpenAndPlayFileL"), (TInt)this );
if ( !iBavpView )
@@ -261,6 +263,7 @@
// -----------------------------------------------------------------------------
void CBavpPlugin::OpenAndPlayUrlL( const TDesC& aUrl )
{
+ iPlayFromFile = EFalse;
Log( EFalse, _L("CBavpPlugin::OpenAndPlayUrlL"), (TInt)this );
if ( iBavpController )
@@ -415,6 +418,19 @@
iBavpController->PlayL();
}
break;
+ case EAccesPointChanged :
+ if (iBavpController && !iPlayFromFile) {
+ bool state = (iBavpController->State() == EBavpPaused ||
+ iBavpController->State() == EBavpPlaying ||
+ iBavpController->State() == EBavpBuffering ||
+ iBavpController->State() == EBavpFastForwarding ||
+ iBavpController->State() == EBavpRewinding );
+ iBavpController->Stop();
+ if (state)
+ iBavpController->PlayL();
+ }
+ break;
+
default:
// Not implemented
break;
--- a/browserui/browser/BrowserAppSrc/BrowserAppEntryPoint.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/BrowserAppSrc/BrowserAppEntryPoint.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -16,7 +16,7 @@
*
*
*/
-
+
#include "BrowserApplication.h"
#include <e32std.h>
@@ -24,13 +24,23 @@
#include <eikapp.h>
#include <eikstart.h>
#include <MemoryManager.h>
-#include <OOMMonitorSession.h>
+#include <avkon.rsg>
+#include <BrowserNG.rsg>
+#include <bautils.h>
+#include <f32file.h>
+#include <data_caging_path_literals.hrh>
+#include <hal.h>
+#include <barsc.h>
+
+_LIT(KBrowserResourceFile, "BrowserNG.rsc");
+
const int KFreeMemoryTarget = 6000000;
+
LOCAL_C CApaApplication* NewApplication( )
{
- return new CBrowserApplication;
+ return new CBrowserApplication;
}
// -----------------------------------------------------------------------------
@@ -63,24 +73,110 @@
return r;
}
+
+// ---------------------------------------------------------------------------
+// GetUiUtilitiesResourceFilenameL
+// ---------------------------------------------------------------------------
+//
+TInt GetCorrectResourceFilenameL(TFileName& aResourceFileName)
+ {
+
+ TParse parse;
+ parse.Set(KBrowserResourceFile, &KDC_APP_RESOURCE_DIR, NULL);
+ aResourceFileName.Copy(parse.FullName());
+
+ RFs fs;
+ User::LeaveIfError(fs.Connect());
+ CleanupClosePushL( fs );
+
+ // Resource File Name on C:
+ aResourceFileName.Insert( 0, TDriveUnit( EDriveC).Name() );
+ // try to locate the localised resource
+ BaflUtils::NearestLanguageFile( fs, aResourceFileName );
+
+ // if the localised resource is found, the file name is changed to the localised name (z:\resources\webkit.r001)
+ if( !BaflUtils::FileExists( fs, aResourceFileName ) ) {
+
+ aResourceFileName.Replace( 0, KMaxDriveName, TDriveUnit( EDriveZ ).Name() );
+ // not found on c drive, try z try to locate the localised resource again
+ BaflUtils::NearestLanguageFile( fs, aResourceFileName );
+
+ // if file was not found this time, there is no localised resource with the name
+ if (!BaflUtils::FileExists( fs, aResourceFileName ) ) {
+ User::Leave(KErrNotFound);
+ }
+ }
+ CleanupStack::PopAndDestroy( &fs );
+ return KErrNone;
+ }
+
+void ShowOOMDialogWithNotifierL()
+ {
+
+ TFileName resourceFileName;
+ User::LeaveIfError(GetCorrectResourceFilenameL(resourceFileName));
+
+ RFs fsSession;
+ User::LeaveIfError(fsSession.Connect());
+ CleanupClosePushL(fsSession);
+
+ RResourceFile resFile;
+ resFile.OpenL(fsSession,resourceFileName );
+ resFile.ConfirmSignatureL(0);
+
+ HBufC8* dataOkButtonBuffer = resFile.AllocReadLC(R_QTN_OK_BUTTON);
+ HBufC8* dataOOMMessageBuffer = resFile.AllocReadLC(R_QTN_BROWSER_DIALOG_OOM);
+
+ TPtrC16 OkButtonBuffer( ( TUint16* ) dataOkButtonBuffer->Ptr(),dataOkButtonBuffer->Length() / 2 );
+ TPtrC16 OOMMessageBuffer( ( TUint16* ) dataOOMMessageBuffer->Ptr(),dataOOMMessageBuffer->Length() / 2 );
+
+ _LIT(KTxtEmptyLine," ");
+ _LIT(KTxtEmptyButton,"");
+
+ RNotifier notifier;
+ TInt err = notifier.Connect();
+ if(err == KErrNone) {
+ TInt whichbutton(-1);
+ TRequestStatus stat;
+ notifier.Notify(OOMMessageBuffer,KTxtEmptyLine,OkButtonBuffer,KTxtEmptyButton,whichbutton,stat);
+ User::WaitForRequest(stat);
+ }
+
+ notifier.Close();
+
+ //this will clear OkButtonBuffer and OOMMessageBuffer
+ CleanupStack::PopAndDestroy(2);
+ resFile.Close();
+ CleanupStack::PopAndDestroy(&fsSession);
+
+ }
+
// -----------------------------------------------------------------------------
// E32Main
// -----------------------------------------------------------------------------
GLDEF_C TInt E32Main()
- {
- ROomMonitorSession oomMs;
- TInt result = oomMs.Connect();
- if ( result == KErrNone )
- {
- result = oomMs.RequestFreeMemory( KFreeMemoryTarget );
- oomMs.Close();
+ {
+ //Initilize memory manager...
+ MemoryManager::InitFastAllocator();
+
+ TInt freeRAM = 0;
+ TInt r = HAL::Get(HAL::EMemoryRAMFree, freeRAM);
+
+ if ((r != KErrNone) || freeRAM < KFreeMemoryTarget)
+ {
+ // create clean-up stack as none is created
+ CTrapCleanup* cleanup=CTrapCleanup::New();
+
+ // Show OOM message through RNotifier ...
+ TRAP_IGNORE(ShowOOMDialogWithNotifierL());
+
+ // destroy clean-up stack
+ delete cleanup;
+ return KErrNoMemory;
}
-
- // initialize MemmoryManager
- MemoryManager::InitFastAllocator();
- // run application event loop
- return EikStart::RunApplication(NewApplication);
+ // Run application event loop
+ return EikStart::RunApplication(NewApplication);
}
// End of File
--- a/browserui/browser/BrowserAppSrc/BrowserAppUi.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/BrowserAppSrc/BrowserAppUi.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -289,8 +289,14 @@
#else
BaseConstructL( EAknEnableSkin | EAknEnableMSK );
#endif
+
+
if ( !IsEmbeddedModeOn( ) )
{
+ // This is for handling low phone memory (c:) condition. Just leave in case phone memory is not sufficient.
+ TBool lowdisk = SysUtil::DiskSpaceBelowCriticalLevelL(&(CCoeEnv::Static()->FsSession()), KMinimumCDriveDiskSpace, EDriveC );
+ if (lowdisk) User::Leave(KErrDiskFull);
+
#ifdef BRDO_PERF_IMPROVEMENTS_ENABLED_FF
InitBookmarksL();
#else
@@ -531,16 +537,7 @@
void CBrowserAppUi::DelayedInitL()
{
LOG_ENTERFN("CBrowserAppUi::DelayedInitL");
- // Check for ciritical disk space
- RFs fs;
- User::LeaveIfError(fs.Connect());
- TInt drive( EDriveC );
- TBool isSpace( EFalse );
- TInt err( KErrNone );
- TRAP( err, isSpace = !SysUtil::DiskSpaceBelowCriticalLevelL(&fs, KMinimumCDriveDiskSpace, drive ));
- fs.Close();
- if (!isSpace) User::Leave(KErrDiskFull);
-
+
// Create Favengine session
User::LeaveIfError( iFavouritesSess.Connect() );
@@ -1119,6 +1116,11 @@
//
TBool CBrowserAppUi::IsPageLoaded()
{
+#ifdef BRDO_PERF_IMPROVEMENTS_ENABLED_FF
+ if(!iStartedUp) // ContentView/WindowMgr is not yet up => no page loaded
+ return EFalse;
+#endif
+
TBool ret( EFalse );
TInt winCount( WindowMgr().WindowCount() );
@@ -1155,7 +1157,12 @@
// use load obs., remove ifetchstate from this class and use from loadobs.
// iLoadState
//return ( iFetchState == MFetchObserver::ELoadStart );
- return ( LoadObserver().LoadState() != CBrowserLoadObserver::ELoadStateIdle );
+#ifdef BRDO_PERF_IMPROVEMENTS_ENABLED_FF
+ if (!iStartedUp) // ContentView is not yet started up, so we are not fetching
+ return EFalse;
+ else
+#endif
+ return ( LoadObserver().LoadState() != CBrowserLoadObserver::ELoadStateIdle );
}
// -----------------------------------------------------------------------------
// CBrowserAppUi::ContentDisplayed()
@@ -1683,7 +1690,7 @@
// if browser is embedded, should not call Exit(),
// just delete the object, otherwise leave occurs.
if( ( IsEmbeddedInOperatorMenu() || IsEmbeddedModeOn() ) &&
- !ExitInProgress() &&
+ !ExitInProgress() && iStartedUp &&
((LoadObserver().LoadUrlType() == CBrowserLoadObserver::ELoadUrlTypeEmbeddedBrowserWithUrl) ||
(LoadObserver().LoadUrlType() == CBrowserLoadObserver::ELoadUrlTypeOther) ) )
// ELoadUrlTypeEmbeddedBrowserWithUrl is typical for load via Phonebook, MMS, OperatorMenu
@@ -1721,13 +1728,10 @@
}
#endif
}
- if (SpecialLoadObserver().IsConnectionStarted())
+ if (iStartedUp && SpecialLoadObserver().IsConnectionStarted())
{
- if ( iWindowManager )
- {
BROWSER_LOG( ( _L( " iWindowManager->SetUserExit( iUserExit )" ) ) );
iWindowManager->SetUserExit( iUserExit );
- }
delete iWindowManager;
BROWSER_LOG( ( _L( " User::Exit(KErrNone)" ) ) );
User::Exit(KErrNone);
@@ -1755,7 +1759,7 @@
}
#endif
}
- if (SpecialLoadObserver().IsConnectionStarted()) // If Connection request is in processing calling CAknAppUI::Exit() causes crash (JSAA-84RG9R)
+ if (iStartedUp && SpecialLoadObserver().IsConnectionStarted()) // If Connection request is in processing calling CAknAppUI::Exit() causes crash (JSAA-84RG9R)
{
//ensure that the params are saved in BrCtl
if ( iWindowManager )
@@ -2124,6 +2128,7 @@
// The browser is in embedded mode and it is not initialized yet
if ( IsEmbeddedModeOn() && !iStartedUp)
{
+ EnableLocalScreenClearer( EFalse );
return EFalse;
}
@@ -2150,7 +2155,8 @@
HBufC* buf = HBufC::NewLC( KMaxHomePgUrlLength ); // cleanupstack
TPtr ptr( buf->Des() );
-
+ TInt pgFound( KErrNotFound );
+ pgFound = Preferences().HomePageUrlL( ptr );
HBufC* searchScheme = HBufC::NewLC( KMaxHomePgUrlLength ); // cleanupstack
TPtr searchSchemePtr( searchScheme->Des() );
@@ -2321,7 +2327,7 @@
else
{
if (iStartedUp)
- ContentView()->SetFullScreenOffL();
+ ContentView()->SetFullScreenOffL();
if ( !IsEmbeddedModeOn() )
{
@@ -2425,8 +2431,9 @@
}
else
{
- // Cancel history view, mini map, toolbar or any other active control on the current window
- BrCtlInterface().HandleCommandL( TBrCtlDefs::ECommandCancel + TBrCtlDefs::ECommandIdBase );
+ // Cancel history view, mini map, toolbar or any other active control on the current window
+ if (iStartedUp)
+ BrCtlInterface().HandleCommandL( TBrCtlDefs::ECommandCancel + TBrCtlDefs::ECommandIdBase );
TRAP( err, FetchL( *url,
KNullDesC,
KNullDesC,
@@ -2488,8 +2495,9 @@
}
else
{
- // Cancel history view, mini map, toolbar or any other active control on the current window
- BrCtlInterface().HandleCommandL( TBrCtlDefs::ECommandCancel + TBrCtlDefs::ECommandIdBase );
+ // Cancel history view, mini map, toolbar or any other active control on the current window
+ if (iStartedUp)
+ BrCtlInterface().HandleCommandL( TBrCtlDefs::ECommandCancel + TBrCtlDefs::ECommandIdBase );
TRAP( err, FetchL( *url,
KNullDesC,
KNullDesC,
@@ -2545,8 +2553,9 @@
}
else
{
- // Cancel history view, mini map, toolbar or any other active control on the current window
- BrCtlInterface().HandleCommandL( TBrCtlDefs::ECommandCancel + TBrCtlDefs::ECommandIdBase );
+ // Cancel history view, mini map, toolbar or any other active control on the current window
+ if (iStartedUp)
+ BrCtlInterface().HandleCommandL( TBrCtlDefs::ECommandCancel + TBrCtlDefs::ECommandIdBase );
TRAP( err, FetchBookmarkL( dataId ) );
}
@@ -3041,17 +3050,11 @@
//
void CBrowserAppUi::ClearHistoryL()
{
- if (iWindowManager)
+ if (iWindowManager)
{
iWindowManager->SendCommandToAllWindowsL(
(TInt)TBrCtlDefs::ECommandClearHistory + (TInt)TBrCtlDefs::ECommandIdBase);
}
- else
- {
- BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandClearHistory +
- (TInt)TBrCtlDefs::ECommandIdBase );
-
- }
if (!(Preferences().AdaptiveBookmarks()==EWmlSettingsAdaptiveBookmarksOff ))
{
@@ -3289,7 +3292,7 @@
}
else
{
- if ( ContentView()->GetPreviousViewID() == KUidBrowserBookmarksViewId )
+ if ( iStartedUp && ContentView()->GetPreviousViewID() == KUidBrowserBookmarksViewId )
{
if ( GetBookmarksView()->GetAdaptiveBookmarksFolderWasActive() )
{
@@ -3412,6 +3415,9 @@
void CBrowserAppUi::FetchHomePageL()
{
LOG_ENTERFN( "CBrowserAppUi::FetchHomePageL" );
+ if(!iStartedUp) // just in case, not done
+ CompleteDelayedInit();
+
if ( !Fetching() )
{
UpdateSoftKeys();
--- a/browserui/browser/BrowserAppSrc/BrowserContentView.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/BrowserAppSrc/BrowserContentView.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -1119,16 +1119,13 @@
TVwsViewId activeViewId;
if ( AppUi()->GetActiveViewId( activeViewId ) == KErrNone )
{
- if ( activeViewId.iViewUid == KUidBrowserContentViewId )
- {
- Cba()->MakeVisible( ETrue );
- UpdateCbaL();
- if ( Layout_Meta_Data::IsLandscapeOrientation() )
- StatusPane()->SwitchLayoutL(R_AVKON_STATUS_PANE_LAYOUT_USUAL);
- StatusPane()->ApplyCurrentSettingsL();
- StatusPane()->MakeVisible( ETrue );
- iContainer->SetRect( ClientRect() );
- }
+ Cba()->MakeVisible( ETrue );
+ UpdateCbaL();
+ if ( Layout_Meta_Data::IsLandscapeOrientation() )
+ StatusPane()->SwitchLayoutL(R_AVKON_STATUS_PANE_LAYOUT_USUAL);
+ StatusPane()->ApplyCurrentSettingsL();
+ StatusPane()->MakeVisible( ETrue );
+ iContainer->SetRect( ClientRect() );
}
}
@@ -1161,7 +1158,9 @@
TRAP_IGNORE( ApiProvider().Display().UpdateSecureIndicatorL(
EAknIndicatorStateOff ));
iContainer->SetFocus( EFalse );
-
+
+ EnableFullScreenModeL( EFalse);
+
TRAP_IGNORE( ApiProvider().BrCtlInterface().HandleCommandL(
(TInt)TBrCtlDefs::ECommandLoseFocus +
(TInt)TBrCtlDefs::ECommandIdBase ) );
@@ -2222,8 +2221,8 @@
{
iNaviDecorator = iNaviPane->CreateNavigationLabelL(_L(""));
}
- }
- iNaviPane->PushL( *iNaviDecorator );
+ iNaviPane->PushL( *iNaviDecorator );
+ }
}
else
{
@@ -3166,6 +3165,9 @@
//
void CBrowserContentView::EnableFullScreenModeL( TBool aEnableFullScreen )
{
+ if( iContentFullScreenMode == aEnableFullScreen )
+ return;
+
TInt command( KErrNotFound );
if ( aEnableFullScreen )
{
--- a/browserui/browser/BrowserAppSrc/BrowserContentViewContainer.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/BrowserAppSrc/BrowserContentViewContainer.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -541,16 +541,12 @@
iApiProvider.BrCtlInterface().SetRect( TRect( oldRect.iTl, Size() ) );
}
}
-
- if ( iFindKeywordPane->IsFocused() )
- {
+
+ if ( iFindKeywordPane->IsVisible() )
iFindKeywordPane->HandleFindSizeChanged();
- }
- else
- {
+ if ( iGotoPane->IsVisible() )
iGotoPane->HandleFindSizeChanged();
- }
-
+
}
//---------------------------------------------------------------------------
--- a/browserui/browser/BrowserAppSrc/BrowserGotoPane.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/BrowserAppSrc/BrowserGotoPane.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -582,34 +582,38 @@
{
if ( iSearchInputFrame->Rect().Contains(aPointerEvent.iPosition))
{
- if ( iSearchPaneActive )
- {
- iSearchEditor->HandlePointerEventL(aPointerEvent);
-#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
- ActivateVKB();
-#endif
- }
- else
+ if ( !iSearchPaneActive )
{
SetSearchPaneActiveL();
}
+#ifndef BRDO_SINGLE_CLICK_ENABLED_FF
+ else
+ {
+#endif
+ iSearchEditor->HandlePointerEventL(aPointerEvent);
+#ifndef BRDO_SINGLE_CLICK_ENABLED_FF
+ }
+#endif
+
#if defined(BRDO_SEARCH_INTEGRATION_FF)
iSearchEditor->RemoveFlagFromUserFlags( CEikEdwin::EAvkonDisableVKB);
#endif
}
else
{
- if ( iGotoPaneActive )
- {
- iEditor->HandlePointerEventL(aPointerEvent);
-#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
- ActivateVKB();
-#endif
- }
- else
+ if ( !iGotoPaneActive )
{
SetGotoPaneActiveL();
}
+#ifndef BRDO_SINGLE_CLICK_ENABLED_FF
+ else
+ {
+#endif
+ iEditor->HandlePointerEventL(aPointerEvent);
+#ifndef BRDO_SINGLE_CLICK_ENABLED_FF
+ }
+#endif
+
#if defined(BRDO_SEARCH_INTEGRATION_FF)
iEditor->RemoveFlagFromUserFlags( CEikEdwin::EAvkonDisableVKB);
#endif
--- a/browserui/browser/BrowserAppSrc/BrowserLoadObserver.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/BrowserAppSrc/BrowserLoadObserver.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -123,6 +123,9 @@
{
if(LoadStatus( ELoadStatusSecurePage ))
{
+ ClearStatus( ELoadStatusSecurePage );
+ ClearStatus( ELoadStatusAllItemIsSecure );
+ SetStatus ( ELoadStatusSecurePageVisited );
UpdateSecureIndicatorL();
}
ClearStatus();
--- a/browserui/browser/BrowserAppSrc/BrowserShortcutKeyMap.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/BrowserAppSrc/BrowserShortcutKeyMap.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -333,6 +333,7 @@
for(TInt i = 0; i < KNumCells; i++)
{
TKeymapCellData* cellData = new (ELeave) TKeymapCellData();
+ CleanupStack::PushL(cellData);
TInt shortcutAssign;
@@ -409,8 +410,8 @@
// add to the data array
iCellData.Append(cellData);
- // remove keytext, linetext from stack
- CleanupStack::Pop(2);
+ // remove cellData, keytext, linetext from stack
+ CleanupStack::Pop(3);
}
}
--- a/browserui/browser/BrowserAppSrc/BrowserWindowManager.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/BrowserAppSrc/BrowserWindowManager.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -544,6 +544,7 @@
{
// sets the window status
windowQue->iStatus |= CBrowserWindowQue::EWindowDeleted;
+ windowQue->iWindow->BrCtlInterface().HandleCommandL((TInt)TBrCtlDefs::ECommandNotifyPluginFocusChangeEvent + (TInt)TBrCtlDefs::ECommandIdBase);
windowQue->iWindow->DeactivateL();
// maintain deleted windows' count
++iDeletedWindowCount;
@@ -557,6 +558,7 @@
{
// sets the window status
windowQue->iStatus |= CBrowserWindowQue::EWindowDeleted;
+ windowQue->iWindow->BrCtlInterface().HandleCommandL((TInt)TBrCtlDefs::ECommandNotifyPluginFocusChangeEvent + (TInt)TBrCtlDefs::ECommandIdBase);
windowQue->iWindow->DeactivateL();
// maintain deleted windows' count
++iDeletedWindowCount;
@@ -589,6 +591,7 @@
if( windowQue != iCurrentWindow )
{
wdnSwitching = ETrue;
+ iCurrentWindow->iWindow->BrCtlInterface().HandleCommandL((TInt)TBrCtlDefs::ECommandNotifyPluginFocusChangeEvent + (TInt)TBrCtlDefs::ECommandIdBase);
iCurrentWindow->iWindow->DeactivateL();
iCurrentWindow = windowQue;
}
@@ -597,6 +600,7 @@
//is a background redirection
if(!iCurrentWindow->iWindow->IsWindowActive() && (!iContentView->IsHistoryViewUp() || wdnSwitching))
{
+ iCurrentWindow->iWindow->BrCtlInterface().HandleCommandL((TInt)TBrCtlDefs::ECommandNotifyPluginFocusChangeEvent + (TInt)TBrCtlDefs::ECommandIdBase);
iCurrentWindow->iWindow->ActivateL( aDraw );
iContentView->UpdateCbaL();
}
--- a/browserui/browser/FavouritesSrc/BrowserBookmarksContainer.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/FavouritesSrc/BrowserBookmarksContainer.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -743,26 +743,36 @@
{
if( iGotoPane->Rect().Contains( aPointerEvent.iPosition) )
{
- if( iGotoPaneActive )
- {
- iGotoPane->HandlePointerEventL(aPointerEvent);
- }
- else
+ if( !iGotoPaneActive )
{
SetGotoActiveL();
}
+#ifndef BRDO_SINGLE_CLICK_ENABLED_FF
+ else
+ {
+#endif
+ iGotoPane->HandlePointerEventL(aPointerEvent);
+#ifndef BRDO_SINGLE_CLICK_ENABLED_FF
+ }
+#endif
+
iGotoPane->SetVKBFlag( ETrue );
}
else if( iSearchPane->Rect().Contains( aPointerEvent.iPosition) )
{
- if( iSearchPaneActive )
+ if( !iSearchPaneActive )
{
- iSearchPane->HandlePointerEventL(aPointerEvent);
+ SetSearchActiveL();
}
+#ifndef BRDO_SINGLE_CLICK_ENABLED_FF
else
{
- SetSearchActiveL();
+#endif
+ iSearchPane->HandlePointerEventL(aPointerEvent);
+#ifndef BRDO_SINGLE_CLICK_ENABLED_FF
}
+#endif
+
iSearchPane->SetVKBFlag( ETrue );
}
else
--- a/browserui/browser/FavouritesSrc/BrowserBookmarksGotoPane.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/FavouritesSrc/BrowserBookmarksGotoPane.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -705,9 +705,6 @@
if(iEditor && Rect().Contains(aPointerEvent.iPosition))
{
iEditor->HandlePointerEventL(aPointerEvent);
-#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
- ActivateVkbL();
-#endif
if ( !iEditing )
{
SetEditingL( ETrue );
@@ -719,8 +716,8 @@
{
if(aPointerEvent.iType == TPointerEvent::EButton1Down)
{
- // pointer outside of control
- CBrowserAppUi::Static()->ActiveView()->HandleCommandL(EWmlCmdGotoPaneCancel);
+ // pointer outside of control
+ CBrowserAppUi::Static()->ActiveView()->HandleCommandL(EWmlCmdGotoPaneCancel);
}
}
}
--- a/browserui/browser/FavouritesSrc/BrowserBookmarksView.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/FavouritesSrc/BrowserBookmarksView.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -451,6 +451,9 @@
#ifdef __RSS_FEEDS
case EWmlCmdOpenFeedsFolder:
{
+ //complete remaining startup in Browser and then proceed
+ if ( !ApiProvider().StartedUp() )
+ ApiProvider().CompleteDelayedInit();
ApiProvider().FeedsClientUtilities().ShowFolderViewL();
break;
}
@@ -930,8 +933,7 @@
aRsk.setPair(EBrowserBookmarksCmdBack, R_BROWSER_BOOKMARKS_DYN_SK_TEXT_SOFTKEY_BACK);
// OR, it could be exit under these conditions
- if ( !ApiProvider().StartedUp() ||
- (!iInAdaptiveBookmarksFolder && !ApiProvider().IsPageLoaded() && !ApiProvider().Fetching()) )
+ if ( (!iInAdaptiveBookmarksFolder && !ApiProvider().IsPageLoaded() && !ApiProvider().Fetching()) )
{
if ( iCurrentFolder == KFavouritesRootUid )
{
@@ -1215,7 +1217,7 @@
}
}
- if ( TheContainer()->Listbox()->CurrentItem()->IsFolder() )
+ if ( TheContainer()->Listbox()->CurrentItem() && TheContainer()->Listbox()->CurrentItem()->IsFolder() )
{
SetEmptyTextL();
}
@@ -1360,7 +1362,7 @@
case R_GOTO_SUBMENU:
{
// back to page
- if ( !ApiProvider().StartedUp() || (!ApiProvider().IsPageLoaded() && !ApiProvider().Fetching()))
+ if ( !ApiProvider().IsPageLoaded() && !ApiProvider().Fetching())
{
aMenuPane->SetItemDimmed( EWmlCmdBackToPage, ETrue );
}
@@ -2154,7 +2156,9 @@
}
// complete remaining application launch process, aynchronously
- iAsyncComplete = CIdle::NewL( CActive::EPriorityIdle );
+ // complete remaining init as soon as possible, otherwise it can be dangerous (crash)
+ // since UI code (views) are interdependent
+ iAsyncComplete = CIdle::NewL( CActive::EPriorityHigh );
iAsyncComplete->Start( TCallBack( CompleteAppInitCallback, &iApiProvider ) );
return;
}
@@ -2244,7 +2248,8 @@
//
void CBrowserBookmarksView::UpdateFavIconsL()
{
- Container()->Listbox()->UpdateFavIconsL();
+ if ( Container() && Container()->Listbox() )
+ Container()->Listbox()->UpdateFavIconsL();
}
--- a/browserui/browser/FavouritesSrc/BrowserFavouritesModel.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/FavouritesSrc/BrowserFavouritesModel.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -794,6 +794,7 @@
}
case KFavouritesNullUid:
+ default:
{
// Check first if the item added has the same name as any of the special folders
@@ -831,17 +832,13 @@
else
{
// New item addition.
- err = iDb.Add( aItem, aRenameMode == EAutoRename );
+ if ( aUid == KFavouritesNullUid)
+ err = iDb.Add( aItem, aRenameMode == EAutoRename );
+ else // Existing item update.
+ err = iDb.Update( aItem, aUid, aRenameMode == EAutoRename );
}
break;
}
-
- default:
- {
- // Existing item update.
- err = iDb.Update( aItem, aUid, aRenameMode == EAutoRename );
- break;
- }
}
CommitL();
--- a/browserui/browser/FavouritesSrc/BrowserFavouritesView.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/FavouritesSrc/BrowserFavouritesView.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -579,7 +579,7 @@
TInt tempUid( KFavouritesNullUid );
temp = new CBrowserFavouritesListboxState;
- if ( temp!=NULL )
+ if ( iContainer && temp!=NULL )
{
delete iSavedListboxState;
iSavedListboxState = temp;
--- a/browserui/browser/FeedsInc/FeedsFeedContainer.h Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/FeedsInc/FeedsFeedContainer.h Thu Aug 19 09:57:56 2010 +0300
@@ -78,6 +78,12 @@
*/
virtual TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
+ /**
+ * HandlePointerEventL
+ * From CCoeControl
+ *
+ */
+ void HandlePointerEventL(const TPointerEvent& aPointerEvent);
#ifdef __SERIES60_HELP
/**
* Get help context for the control.
--- a/browserui/browser/FeedsSrc/FeedsFeedContainer.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/FeedsSrc/FeedsFeedContainer.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -25,7 +25,7 @@
#include <brctlinterface.h>
#include <CharConv.H>
#include <StringLoader.h>
-
+#include <AknToolbar.h>
#ifdef __SERIES60_HELP
// Context-Sensitve Help File
#include <csxhelp/browser.hlp.hrh>
@@ -181,7 +181,14 @@
}
response = iBrowserControl->OfferKeyEventL(aKeyEvent, aType);
-
+ if(iBrowserControl->FocusedElementType() != TBrCtlDefs::EElementAnchor && iView->Toolbar() )
+ {
+ iView->Toolbar()->SetItemDimmed(EFeedsSeeFullStory, ETrue, ETrue);
+ }
+ else
+ {
+ iView->Toolbar()->SetItemDimmed(EFeedsSeeFullStory, EFalse, ETrue);
+ }
// now "simulate" another key event for proper handling of middle-softkey
if ( (aKeyEvent.iScanCode == EStdKeyDevice3) && (aType == EEventKeyDown) )
{
@@ -543,7 +550,8 @@
{
iCurrentItem = 0;
}
-
+ if (iView->Toolbar())
+ iView->Toolbar()->SetItemDimmed(EFeedsSeeFullStory, EFalse, ETrue);
ShowFeedItemL();
}
@@ -569,7 +577,8 @@
{
iCurrentItem = iFeed->GetChildren().Count() - 1;
}
-
+ if (iView->Toolbar())
+ iView->Toolbar()->SetItemDimmed(EFeedsSeeFullStory, EFalse, ETrue);
ShowFeedItemL();
}
@@ -1111,3 +1120,12 @@
}
return retParamValue;
}
+
+void CFeedsFeedContainer::HandlePointerEventL(const TPointerEvent& aPointerEvent)
+ {
+ iBrowserControl->HandlePointerEventL(aPointerEvent);
+ if(iBrowserControl->FocusedElementType()!= TBrCtlDefs::EElementAnchor && iView->Toolbar() )
+ {
+ iView->Toolbar()->SetItemDimmed(EFeedsSeeFullStory, ETrue, ETrue);
+ }
+ }
--- a/browserui/browser/FeedsSrc/FeedsFeedView.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/FeedsSrc/FeedsFeedView.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -309,13 +309,14 @@
if ( iContainer->ItemCount() > 1 )
{
Toolbar()->SetItemDimmed(EFeedsShowPrevItem, EFalse, ETrue);
- Toolbar()->SetItemDimmed(EFeedsShowNextItem, EFalse, ETrue);
+ Toolbar()->SetItemDimmed(EFeedsShowNextItem, EFalse, ETrue);
}
else
{
Toolbar()->SetItemDimmed(EFeedsShowPrevItem, ETrue, ETrue);
- Toolbar()->SetItemDimmed(EFeedsShowNextItem, ETrue, ETrue);
+ Toolbar()->SetItemDimmed(EFeedsShowNextItem, ETrue, ETrue);
}
+ Toolbar()->SetItemDimmed(EFeedsSeeFullStory, EFalse, ETrue);
}
// ---------------------------------------------------------------------------
--- a/browserui/browser/Group/BrowserNG.mmp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/Group/BrowserNG.mmp Thu Aug 19 09:57:56 2010 +0300
@@ -70,6 +70,8 @@
LIBRARY cmmanager.lib
LIBRARY browserengine.lib
LIBRARY edbms.lib
+LIBRARY hal.lib
+
#ifdef BRDO_APP_GALLERY_SUPPORTED_FF
LIBRARY MGXMediaFileAPI.lib
--- a/browserui/browser/Launcher2/group/BrowserLauncher.mmp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/Launcher2/group/BrowserLauncher.mmp Thu Aug 19 09:57:56 2010 +0300
@@ -57,7 +57,8 @@
LIBRARY eikcore.lib
LIBRARY estor.lib
LIBRARY servicehandler.lib
-LIBRARY centralrepository.lib
+LIBRARY centralrepository.lib
+LIBRARY sysutil.lib
#if defined( I__BROWSER_LOG_ENABLED )
LIBRARY flogger.lib
--- a/browserui/browser/Launcher2/src/BrowserLauncher.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/Launcher2/src/BrowserLauncher.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -29,11 +29,13 @@
#include <eikenv.h>
#include <centralrepository.h>
#include <favouritesdb.h>
+#include <SysUtil.h>
// CONSTANTS
const TInt KBrowserAppUid = 0x10008D39;
const TInt KBrowserSeamlessParamLength = 20;
_LIT( KBookmarkStarterString, "1 " );
+const TInt KMinimumCDriveDiskSpace = 512 * 1024;
// ============================ MEMBER FUNCTIONS ===============================
@@ -229,7 +231,19 @@
LOG_WRITE_FORMAT(" aExitObserver: 0x%x", aExitObserver);
LOG_WRITE_FORMAT(" aSettings: 0x%x", aSettings);
- TInt folderUid = 0;
+ // Check for ciritical disk space if starts as embeded
+ RFs fs;
+ User::LeaveIfError(fs.Connect());
+ TInt drive( EDriveC );
+ TBool isSpace( EFalse );
+ TInt err( KErrNone );
+ TRAP( err, isSpace = !SysUtil::DiskSpaceBelowCriticalLevelL(&fs, KMinimumCDriveDiskSpace, drive ));
+ fs.Close();
+ if (!isSpace)
+ User::Leave(KErrDiskFull);
+
+
+ TInt folderUid = 0;
TInt folderPreferredUid = 0;
// keep a local ptr to aSettings
--- a/browserui/browser/Launcher2/src/LauncherServerBase.cpp Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/Launcher2/src/LauncherServerBase.cpp Thu Aug 19 09:57:56 2010 +0300
@@ -11,7 +11,7 @@
*
* Contributors:
*
-* Description:
+* Description:
* Implementation of CLauncherServerBase
*
*
@@ -28,27 +28,30 @@
#include "eikenv.h"
#include "eikappui.h"
#include "logger.h"
+#include <SysUtil.h>
+
+const TInt KMinimumCDriveDiskSpace = 512 * 1024;
// -----------------------------------------------------------------------------
-// CLauncherServerBase::CBrowserLauncherService()
+// CLauncherServerBase::CBrowserLauncherService()
// -----------------------------------------------------------------------------
//
-EXPORT_C CLauncherServerBase::CLauncherServerBase()
+EXPORT_C CLauncherServerBase::CLauncherServerBase()
{
LOG_ENTERFN( "CLauncherServerBase::CLauncherServerBase" );
-
+
iClientBuffer = NULL;
CEikonEnv* browserAppEnv = CEikonEnv::Static();
if ( browserAppEnv )
- {
- iBrowserAppUi = ( CBrowserAppUi* ) browserAppEnv->EikAppUi();
- if ( iBrowserAppUi )
+ {
+ iBrowserAppUi = ( CBrowserAppUi* ) browserAppEnv->EikAppUi();
+ if ( iBrowserAppUi )
{
iBrowserDocument = ( CBrowserAppDocument* ) iBrowserAppUi->Document();
}
- }
+ }
}
-
+
// -----------------------------------------------------------------------------
// CLauncherServerBase::ServiceL()
// -----------------------------------------------------------------------------
@@ -57,7 +60,7 @@
{
LOG_ENTERFN( "CLauncherServerBase::ServiceL" );
LOG_WRITE_FORMAT(" Function: %d", aMessage.Function());
-
+
switch ( aMessage.Function() )
{
case ELauncherSendSync :
@@ -122,44 +125,44 @@
void CLauncherServerBase::HandleMessageSyncL()
{
LOG_ENTERFN( "CLauncherServerBase::HandleMessageSyncL" );
-
+
// Client parameters. These will be filled by function
// UnPackLauncherDataL()...
TUid embeddingApplicationUid;
TBrowserOverriddenSettings settings;
- TBrowserOverriddenSettings* pSettings;
+ TBrowserOverriddenSettings* pSettings;
TInt folderUid;
TPtrC seamlessParam;
TBool isContentHandlerRegistered( EFalse );
- TBool isOverridenSettings( EFalse );
+ TBool isOverridenSettings( EFalse );
TInt result; // The result of the processed data.
-
+
// Read the recieved data buffer
HBufC8* incomingDataBuffer = HBufC8::NewMaxLC( iMySyncMessage.GetDesLengthL( 0 ) );
TPtr8 incomingDataPointer = incomingDataBuffer->Des( );
iMySyncMessage.ReadL( 0, incomingDataPointer );
LOG_WRITE(" ReadL OK");
-
- // Unpack the recieved data buffer
- pSettings = &settings;
- TLauncherPackageUtils::UnPackLauncherDataL( embeddingApplicationUid,
- pSettings,
- folderUid,
- seamlessParam,
- incomingDataPointer,
- isContentHandlerRegistered,
- isOverridenSettings );
-
+
+ // Unpack the recieved data buffer
+ pSettings = &settings;
+ TLauncherPackageUtils::UnPackLauncherDataL( embeddingApplicationUid,
+ pSettings,
+ folderUid,
+ seamlessParam,
+ incomingDataPointer,
+ isContentHandlerRegistered,
+ isOverridenSettings );
+
// Process the unpacked data.
result = ProcessMessageSyncL( embeddingApplicationUid,
- settings,
- folderUid,
- seamlessParam,
- isContentHandlerRegistered );
+ settings,
+ folderUid,
+ seamlessParam,
+ isContentHandlerRegistered );
// Cleanup, and complete the client`s request.
- CleanupStack::PopAndDestroy( ); // incomingDataBuffer
+ CleanupStack::PopAndDestroy( ); // incomingDataBuffer
iMySyncMessage.Complete( result );
}
@@ -170,40 +173,51 @@
void CLauncherServerBase::HandleMessageASyncL()
{
LOG_ENTERFN( "CLauncherServerBase::HandleMessageASyncL" );
-
+
+ // Check for ciritical disk space if starts in embeded mode
+ RFs fs;
+ User::LeaveIfError(fs.Connect());
+ TInt drive( EDriveC );
+ TBool isSpace( EFalse );
+ TInt err( KErrNone );
+ TRAP( err, isSpace = !SysUtil::DiskSpaceBelowCriticalLevelL(&fs, KMinimumCDriveDiskSpace, drive ));
+ fs.Close();
+ if (!isSpace)
+ User::Leave(KErrDiskFull);
+
// Client parameters. These will be filled by function
// UnPackLauncherDataL()...
- TUid embeddingApplicationUid;
+ TUid embeddingApplicationUid;
TBrowserOverriddenSettings settings;
- TBrowserOverriddenSettings* pSettings;
+ TBrowserOverriddenSettings* pSettings;
TInt folderUid;
TPtrC seamlessParam;
TBool isContentHandlerRegistered( EFalse );
TBool isOverridenSettings( EFalse );
-
+
// Read the recieved data buffer
HBufC8* incomingDataBuffer = HBufC8::NewMaxLC( iMyAsyncMessage.GetDesLengthL( 0 ) );
TPtr8 incomingDataPointer = incomingDataBuffer->Des( );
iMyAsyncMessage.ReadL( 0, incomingDataPointer );
LOG_WRITE(" ReadL OK");
-
- // Unpack the recieved data buffer
- pSettings = &settings;
- TLauncherPackageUtils::UnPackLauncherDataL( embeddingApplicationUid,
- pSettings,
- folderUid,
- seamlessParam,
- incomingDataPointer,
- isContentHandlerRegistered,
- isOverridenSettings );
+
+ // Unpack the recieved data buffer
+ pSettings = &settings;
+ TLauncherPackageUtils::UnPackLauncherDataL( embeddingApplicationUid,
+ pSettings,
+ folderUid,
+ seamlessParam,
+ incomingDataPointer,
+ isContentHandlerRegistered,
+ isOverridenSettings );
// Process the unpacked data.
ProcessMessageASyncL( embeddingApplicationUid,
- settings,
- folderUid,
- seamlessParam,
- isContentHandlerRegistered,
- isOverridenSettings );
+ settings,
+ folderUid,
+ seamlessParam,
+ isContentHandlerRegistered,
+ isOverridenSettings );
// Cleanup.
CleanupStack::PopAndDestroy( ); // incomingDataBuffer
@@ -212,29 +226,29 @@
void CLauncherServerBase::HandleMessageSyncBufferL()
{
LOG_ENTERFN( "CLauncherServerBase::HandleMessageSyncBufferL" );
-
+
ProcessMessageSyncBufferL();
// And complete client`s request.
iMySyncMessage.Complete( KErrNone );
}
-
+
void CLauncherServerBase::HandleMessageSyncBoolsL()
{
LOG_ENTERFN( "CLauncherServerBase::HandleMessageSyncBoolsL" );
-
+
TBool clientWantsToContinue = iMySyncMessage.Int0();
TBool wasContentHandled = iMySyncMessage.Int1();
ProcessBoolsL( clientWantsToContinue, wasContentHandled );
// And complete client`s request.
iMySyncMessage.Complete( KErrNone );
}
-
+
void CLauncherServerBase::HandleBrowserExit()
{
- LOG_ENTERFN( "CLauncherServerBase::HandleBrowserExit" );
+ LOG_ENTERFN( "CLauncherServerBase::HandleBrowserExit" );
DoBrowserExit( );
}
-
+
/* Capability check will come later...
CLauncherServerBase::CLauncherServerBase(TCapability aClientReqs = ECapability_None):iClientReqs(aClientReqs)
{
--- a/browserui/browser/SrcData/BrowserNG.rss Thu Jul 15 18:42:04 2010 +0300
+++ b/browserui/browser/SrcData/BrowserNG.rss Thu Aug 19 09:57:56 2010 +0300
@@ -20,6 +20,7 @@
#include "Browser.rss"
#include "BrowserWindowSelection.rssi"
#include "BrowserInitial.rssi"
+#include <Avkon.loc>
#ifdef __RSS_FEEDS
#include "Feeds.rssi"
#endif // __RSS_FEEDS
@@ -34,3 +35,7 @@
RESOURCE TBUF r_qtn_browser_keyword_find_no_matches { buf = qtn_browser_keyword_find_no_matches; }
RESOURCE TBUF r_qtn_browser_keyword_find_wraparound { buf = qtn_browser_keyword_find_wraparound; }
RESOURCE TBUF r_qtn_browser_keyword_find_all_content_searched { buf = qtn_browser_keyword_find_all_content_searched; }
+
+// Misc dialogs
+RESOURCE TBUF r_qtn_browser_dialog_oom { buf=qtn_memlo_ram_out_of_mem; }
+RESOURCE TBUF r_qtn_OK_button { buf= text_softkey_ok; }
Binary file browserui/browser/help/data/xhtml.zip has changed