diff -r 0ed94ceaa377 -r cb62a4f66ebe webengine/osswebengine/WebKit/s60/webview/BrCtl.cpp --- a/webengine/osswebengine/WebKit/s60/webview/BrCtl.cpp Thu Dec 17 09:20:16 2009 +0200 +++ b/webengine/osswebengine/WebKit/s60/webview/BrCtl.cpp Thu Jan 07 13:31:38 2010 +0200 @@ -34,7 +34,7 @@ #include #include //tot:fixme -//#include +//#include "oom.h" #include "config.h" #include "BrCtl.h" @@ -414,6 +414,7 @@ , m_commandIdBase(aCommandIdBase) , m_capabilities(aBrCtlCapabilities) , m_suspendTimers(false) + , m_pageLoadFinished(false) , m_wmlEngineInterface(NULL) , m_brCtlDownloadObserver(aBrCtlDownloadObserver) , m_windoCloseTimer(NULL) @@ -495,6 +496,9 @@ } LoadResourceFileL(); + + MemoryManager::InitOOMDialog(); + // Set the rect for BrowserControl (a CCoeControl). SetRect(aRect); CCoeEnv::Static()->DisableExitChecks(true); @@ -583,6 +587,7 @@ switch (aLoadEvent) { case TBrCtlDefs::EEventNewContentStart: + m_pageLoadFinished = false; if (m_webView->pageScalerEnabled()) m_webView->pageScaler()->DocumentStarted(); if (m_webView->formFillPopup() && m_webView->formFillPopup()->IsVisible()) @@ -590,9 +595,10 @@ break; case TBrCtlDefs::EEventContentFinished: case TBrCtlDefs::EEventUploadFinished: + m_pageLoadFinished = true; if (m_suspendTimers) { m_suspendTimers = false; - HandleCommandL(TBrCtlDefs::ECommandAppBackground); + setDeferringTimers(true); } #ifndef BRDO_WML_DISABLED_FF if (m_wmlUnloadPending) @@ -770,10 +776,20 @@ case TBrCtlDefs::ECommandAppBackground: { #ifndef PERF_REGRESSION_LOG - if (m_webView->isLoading()) - m_suspendTimers = true; - else if (!isDeferringTimers()) - setDeferringTimers(true); + if(m_webView->widgetExtension()) + { + if(m_pageLoadFinished) + setDeferringTimers(true); + else + m_suspendTimers = true; + } + else + { + if (m_webView->isLoading()) + m_suspendTimers = true; + else if (!isDeferringTimers()) + setDeferringTimers(true); + } #endif //Disable the zooming bar when it goes to background