--- 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);