browserui/browser/BrowserAppSrc/BrowserAppUi.cpp
changeset 11 16a119033e3e
parent 10 4530440261a8
child 24 868cceedabd3
--- a/browserui/browser/BrowserAppSrc/BrowserAppUi.cpp	Thu Aug 27 07:42:55 2009 +0300
+++ b/browserui/browser/BrowserAppSrc/BrowserAppUi.cpp	Thu Sep 24 12:40:29 2009 +0300
@@ -820,6 +820,16 @@
 			BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandIdBase + (TInt)TBrCtlDefs::ECommandOneStepBack );
             break;
             }
+        case EEikCmdEditPaste:
+            {
+            TKeyEvent keyEvent;
+            keyEvent.iCode = EKeyF18;  //member of TKeyCode	
+            keyEvent.iScanCode = EEikCmdEditPaste;	
+            keyEvent.iModifiers = EModifierCtrl;
+            keyEvent.iRepeats = 0;
+            TRAP_IGNORE( BrCtlInterface().OfferKeyEventL(keyEvent, EEventKey));
+            }
+            break;
 	    //=====================================================================
         default:
             {
@@ -3770,9 +3780,18 @@
     {
     CAknAppUi::HandleApplicationSpecificEventL(aEventType, aWsEvent);
 
+    /*
+     * Note:  Even though we get these memory events from the system for handling OOM, and we pass them off
+     * to the command handler, there is no code further down the line that actually handles them (it would 
+     * normally be in BrCtl).  We totally ignore these events.  This is because the system has too high of an OOM threshold.
+     * I.e. the system may only have 6m left and think it's out of memory, however, the browser can still render
+     * many pages in only 6m.  So, these system events are ignored and the browser handles OOM with its own mechanism.
+     * (See OOMStopper and OOMHandler)
+     */
 	if(aEventType == KAppOomMonitor_FreeRam )
 		{
 		iWindowManager->CloseAllWindowsExceptCurrent();
+		// If we were really doing anything about this event, why do we not want to do it to the foreground?
 		if(!iIsForeground)
 		    {
             BrCtlInterface().HandleCommandL( (TInt)TBrCtlDefs::ECommandFreeMemory + (TInt)TBrCtlDefs::ECommandIdBase);