browserui/browser/BrowserAppSrc/BrowserAppUi.cpp
changeset 19 16a119033e3e
parent 18 4530440261a8
child 31 868cceedabd3
equal deleted inserted replaced
18:4530440261a8 19:16a119033e3e
   818         case EWmlCmdOneStepBack:
   818         case EWmlCmdOneStepBack:
   819             {
   819             {
   820 			BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandIdBase + (TInt)TBrCtlDefs::ECommandOneStepBack );
   820 			BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandIdBase + (TInt)TBrCtlDefs::ECommandOneStepBack );
   821             break;
   821             break;
   822             }
   822             }
       
   823         case EEikCmdEditPaste:
       
   824             {
       
   825             TKeyEvent keyEvent;
       
   826             keyEvent.iCode = EKeyF18;  //member of TKeyCode	
       
   827             keyEvent.iScanCode = EEikCmdEditPaste;	
       
   828             keyEvent.iModifiers = EModifierCtrl;
       
   829             keyEvent.iRepeats = 0;
       
   830             TRAP_IGNORE( BrCtlInterface().OfferKeyEventL(keyEvent, EEventKey));
       
   831             }
       
   832             break;
   823 	    //=====================================================================
   833 	    //=====================================================================
   824         default:
   834         default:
   825             {
   835             {
   826             if( iStartedUp )
   836             if( iStartedUp )
   827                 {
   837                 {
  3768 //
  3778 //
  3769 void CBrowserAppUi::HandleApplicationSpecificEventL(TInt aEventType, const TWsEvent& aWsEvent)
  3779 void CBrowserAppUi::HandleApplicationSpecificEventL(TInt aEventType, const TWsEvent& aWsEvent)
  3770     {
  3780     {
  3771     CAknAppUi::HandleApplicationSpecificEventL(aEventType, aWsEvent);
  3781     CAknAppUi::HandleApplicationSpecificEventL(aEventType, aWsEvent);
  3772 
  3782 
       
  3783     /*
       
  3784      * Note:  Even though we get these memory events from the system for handling OOM, and we pass them off
       
  3785      * to the command handler, there is no code further down the line that actually handles them (it would 
       
  3786      * normally be in BrCtl).  We totally ignore these events.  This is because the system has too high of an OOM threshold.
       
  3787      * I.e. the system may only have 6m left and think it's out of memory, however, the browser can still render
       
  3788      * many pages in only 6m.  So, these system events are ignored and the browser handles OOM with its own mechanism.
       
  3789      * (See OOMStopper and OOMHandler)
       
  3790      */
  3773 	if(aEventType == KAppOomMonitor_FreeRam )
  3791 	if(aEventType == KAppOomMonitor_FreeRam )
  3774 		{
  3792 		{
  3775 		iWindowManager->CloseAllWindowsExceptCurrent();
  3793 		iWindowManager->CloseAllWindowsExceptCurrent();
       
  3794 		// If we were really doing anything about this event, why do we not want to do it to the foreground?
  3776 		if(!iIsForeground)
  3795 		if(!iIsForeground)
  3777 		    {
  3796 		    {
  3778             BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandFreeMemory + (TInt)TBrCtlDefs::ECommandIdBase);
  3797             BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandFreeMemory + (TInt)TBrCtlDefs::ECommandIdBase);
  3779 		    }
  3798 		    }
  3780 		}
  3799 		}