412 , m_brCtlSoftkeysObserver(aBrCtlSoftkeysObserver) |
412 , m_brCtlSoftkeysObserver(aBrCtlSoftkeysObserver) |
413 , m_brCtlLayoutObserver(aBrCtlLayoutObserver) |
413 , m_brCtlLayoutObserver(aBrCtlLayoutObserver) |
414 , m_commandIdBase(aCommandIdBase) |
414 , m_commandIdBase(aCommandIdBase) |
415 , m_capabilities(aBrCtlCapabilities) |
415 , m_capabilities(aBrCtlCapabilities) |
416 , m_suspendTimers(false) |
416 , m_suspendTimers(false) |
|
417 , m_pageLoadFinished(false) |
417 , m_wmlEngineInterface(NULL) |
418 , m_wmlEngineInterface(NULL) |
418 , m_brCtlDownloadObserver(aBrCtlDownloadObserver) |
419 , m_brCtlDownloadObserver(aBrCtlDownloadObserver) |
419 , m_windoCloseTimer(NULL) |
420 , m_windoCloseTimer(NULL) |
420 { |
421 { |
421 m_documentHeight = 0; |
422 m_documentHeight = 0; |
493 m_brCtlWindowObserver = new (ELeave) CBrCtlWindowObserver(); |
494 m_brCtlWindowObserver = new (ELeave) CBrCtlWindowObserver(); |
494 m_ownsWindowObserver = true; |
495 m_ownsWindowObserver = true; |
495 } |
496 } |
496 |
497 |
497 LoadResourceFileL(); |
498 LoadResourceFileL(); |
|
499 |
|
500 MemoryManager::InitOOMDialog(); |
|
501 |
498 // Set the rect for BrowserControl (a CCoeControl). |
502 // Set the rect for BrowserControl (a CCoeControl). |
499 SetRect(aRect); |
503 SetRect(aRect); |
500 CCoeEnv::Static()->DisableExitChecks(true); |
504 CCoeEnv::Static()->DisableExitChecks(true); |
501 Window().AllocPointerMoveBuffer(256, 0); |
505 Window().AllocPointerMoveBuffer(256, 0); |
502 Window().DisablePointerMoveBuffer(); |
506 Window().DisablePointerMoveBuffer(); |
581 for (int i = 0; i < iLoadEventObserversArray.Count(); i++) |
585 for (int i = 0; i < iLoadEventObserversArray.Count(); i++) |
582 iLoadEventObserversArray[i]->HandleBrowserLoadEventL(aLoadEvent, aSize, aTransactionId); |
586 iLoadEventObserversArray[i]->HandleBrowserLoadEventL(aLoadEvent, aSize, aTransactionId); |
583 |
587 |
584 switch (aLoadEvent) { |
588 switch (aLoadEvent) { |
585 case TBrCtlDefs::EEventNewContentStart: |
589 case TBrCtlDefs::EEventNewContentStart: |
|
590 m_pageLoadFinished = false; |
586 if (m_webView->pageScalerEnabled()) |
591 if (m_webView->pageScalerEnabled()) |
587 m_webView->pageScaler()->DocumentStarted(); |
592 m_webView->pageScaler()->DocumentStarted(); |
588 if (m_webView->formFillPopup() && m_webView->formFillPopup()->IsVisible()) |
593 if (m_webView->formFillPopup() && m_webView->formFillPopup()->IsVisible()) |
589 m_webView->formFillPopup()->handleCommandL(TBrCtlDefs::ECommandCancel); |
594 m_webView->formFillPopup()->handleCommandL(TBrCtlDefs::ECommandCancel); |
590 break; |
595 break; |
591 case TBrCtlDefs::EEventContentFinished: |
596 case TBrCtlDefs::EEventContentFinished: |
592 case TBrCtlDefs::EEventUploadFinished: |
597 case TBrCtlDefs::EEventUploadFinished: |
|
598 m_pageLoadFinished = true; |
593 if (m_suspendTimers) { |
599 if (m_suspendTimers) { |
594 m_suspendTimers = false; |
600 m_suspendTimers = false; |
595 HandleCommandL(TBrCtlDefs::ECommandAppBackground); |
601 setDeferringTimers(true); |
596 } |
602 } |
597 #ifndef BRDO_WML_DISABLED_FF |
603 #ifndef BRDO_WML_DISABLED_FF |
598 if (m_wmlUnloadPending) |
604 if (m_wmlUnloadPending) |
599 { |
605 { |
600 UnloadDllWmlEngine(); |
606 UnloadDllWmlEngine(); |
768 break; |
774 break; |
769 } |
775 } |
770 case TBrCtlDefs::ECommandAppBackground: |
776 case TBrCtlDefs::ECommandAppBackground: |
771 { |
777 { |
772 #ifndef PERF_REGRESSION_LOG |
778 #ifndef PERF_REGRESSION_LOG |
773 if (m_webView->isLoading()) |
779 if(m_webView->widgetExtension()) |
774 m_suspendTimers = true; |
780 { |
775 else if (!isDeferringTimers()) |
781 if(m_pageLoadFinished) |
776 setDeferringTimers(true); |
782 setDeferringTimers(true); |
|
783 else |
|
784 m_suspendTimers = true; |
|
785 } |
|
786 else |
|
787 { |
|
788 if (m_webView->isLoading()) |
|
789 m_suspendTimers = true; |
|
790 else if (!isDeferringTimers()) |
|
791 setDeferringTimers(true); |
|
792 } |
777 #endif |
793 #endif |
778 |
794 |
779 //Disable the zooming bar when it goes to background |
795 //Disable the zooming bar when it goes to background |
780 m_webView->hideZoomSliderL(); |
796 m_webView->hideZoomSliderL(); |
781 break; |
797 break; |