webengine/osswebengine/WebKit/s60/webview/BrCtl.cpp
changeset 65 5bfc169077b2
parent 42 d39add9822e2
child 68 92a765b5b3e7
equal deleted inserted replaced
42:d39add9822e2 65:5bfc169077b2
    14 * Description:   Implementation of the Browser Control
    14 * Description:   Implementation of the Browser Control
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 // INCLUDE FILES
    18 // INCLUDE FILES
    19 #include <browser_platform_variant.hrh>
    19 #include <Browser_platform_variant.hrh>
    20 #include <../bidi.h>
    20 #include <../bidi.h>
    21 #include <avkon.hrh>
    21 #include <avkon.hrh>
    22 #include <apmrec.h>
    22 #include <apmrec.h>
    23 #include <apgcli.h>
    23 #include <apgcli.h>
    24 #include <badesca.h>
    24 #include <badesca.h>
    30 #else
    30 #else
    31 #include <Webkit.rsg>
    31 #include <Webkit.rsg>
    32 #endif
    32 #endif
    33 #include <GULICON.h>
    33 #include <GULICON.h>
    34 #include <e32uid.h>
    34 #include <e32uid.h>
    35 #include <browserdialogsprovider.h>
    35 #include <BrowserDialogsProvider.h>
    36 //tot:fixme
    36 //tot:fixme
    37 //#include "oom.h"
    37 //#include <oom.h>
    38 
    38 
    39 #include "config.h"
    39 #include "config.h"
    40 #include "BrCtl.h"
    40 #include "BrCtl.h"
    41 #include "WebView.h"
    41 #include "WebView.h"
    42 #include "WebFrame.h"
    42 #include "WebFrame.h"
    66 #include "Node.h"
    66 #include "Node.h"
    67 #include "Element.h"
    67 #include "Element.h"
    68 #include "WebCursor.h"
    68 #include "WebCursor.h"
    69 #include "WebUtil.h"
    69 #include "WebUtil.h"
    70 #include "WebCharsetData.h"
    70 #include "WebCharsetData.h"
    71 #include "httpcachemanager.h"
    71 #include "HttpCacheManager.h"
    72 #include "ResourceLoaderDelegate.h"
    72 #include "ResourceLoaderDelegate.h"
    73 #include "EventHandler.h"
    73 #include "EventHandler.h"
    74 #include "timer.h"
    74 #include "timer.h"
    75 #include "page.h"
    75 #include "page.h"
    76 #include "range.h"
    76 #include "range.h"
    84 #include "WidgetExtension.h"
    84 #include "WidgetExtension.h"
    85 #include "PluginSkin.h"
    85 #include "PluginSkin.h"
    86 #include "HttpUiCallbacks.h"
    86 #include "HttpUiCallbacks.h"
    87 #include "PluginWin.h"
    87 #include "PluginWin.h"
    88 #include <BrowserVersion.h>
    88 #include <BrowserVersion.h>
    89 #include <cuseragent.h>
    89 #include <CUserAgent.h>
    90 
    90 
    91 #ifndef BRDO_WML_DISABLED_FF
    91 #ifndef BRDO_WML_DISABLED_FF
    92 #include "wmlinterface.h"
    92 #include "wmlinterface.h"
    93 #include "WmlInterfaceImpl.h"
    93 #include "WmlInterfaceImpl.h"
    94 #include "WmlEngineInterface.h"
    94 #include "WmlEngineInterface.h"
   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)
       
   418    , m_wmlEngineInterface(NULL)
   417    , m_wmlEngineInterface(NULL)
   419    , m_brCtlDownloadObserver(aBrCtlDownloadObserver)
   418    , m_brCtlDownloadObserver(aBrCtlDownloadObserver)
   420    , m_windoCloseTimer(NULL)
   419    , m_windoCloseTimer(NULL)
   421 {
   420 {
   422     m_documentHeight = 0;
   421     m_documentHeight = 0;
   494         m_brCtlWindowObserver = new (ELeave) CBrCtlWindowObserver();
   493         m_brCtlWindowObserver = new (ELeave) CBrCtlWindowObserver();
   495         m_ownsWindowObserver = true;
   494         m_ownsWindowObserver = true;
   496         }
   495         }
   497     
   496     
   498     LoadResourceFileL();
   497     LoadResourceFileL();
   499 
       
   500     MemoryManager::InitOOMDialog();
       
   501     
       
   502     // Set the rect for BrowserControl (a CCoeControl).
   498     // Set the rect for BrowserControl (a CCoeControl).
   503     SetRect(aRect);
   499     SetRect(aRect);
   504     CCoeEnv::Static()->DisableExitChecks(true);
   500     CCoeEnv::Static()->DisableExitChecks(true);
   505     Window().AllocPointerMoveBuffer(256, 0);
   501     Window().AllocPointerMoveBuffer(256, 0);
   506     Window().DisablePointerMoveBuffer();
   502     Window().DisablePointerMoveBuffer();
   585     for (int i = 0; i < iLoadEventObserversArray.Count(); i++)
   581     for (int i = 0; i < iLoadEventObserversArray.Count(); i++)
   586         iLoadEventObserversArray[i]->HandleBrowserLoadEventL(aLoadEvent, aSize, aTransactionId);
   582         iLoadEventObserversArray[i]->HandleBrowserLoadEventL(aLoadEvent, aSize, aTransactionId);
   587 
   583 
   588     switch (aLoadEvent) {
   584     switch (aLoadEvent) {
   589         case TBrCtlDefs::EEventNewContentStart:
   585         case TBrCtlDefs::EEventNewContentStart:
   590             m_pageLoadFinished = false;
       
   591             if (m_webView->pageScalerEnabled())
   586             if (m_webView->pageScalerEnabled())
   592                 m_webView->pageScaler()->DocumentStarted();
   587                 m_webView->pageScaler()->DocumentStarted();
   593             if (m_webView->formFillPopup() && m_webView->formFillPopup()->IsVisible()) 
   588             if (m_webView->formFillPopup() && m_webView->formFillPopup()->IsVisible()) 
   594                 m_webView->formFillPopup()->handleCommandL(TBrCtlDefs::ECommandCancel);            
   589                 m_webView->formFillPopup()->handleCommandL(TBrCtlDefs::ECommandCancel);            
   595             break;
   590             break;
   596         case TBrCtlDefs::EEventContentFinished:
   591         case TBrCtlDefs::EEventContentFinished:
   597         case TBrCtlDefs::EEventUploadFinished:
   592         case TBrCtlDefs::EEventUploadFinished:
   598             m_pageLoadFinished = true;
       
   599             if (m_suspendTimers) {
   593             if (m_suspendTimers) {
   600                 m_suspendTimers = false;
   594                 m_suspendTimers = false;
   601                 setDeferringTimers(true);
   595                 HandleCommandL(TBrCtlDefs::ECommandAppBackground);
   602             }
   596             }
   603 #ifndef BRDO_WML_DISABLED_FF
   597 #ifndef BRDO_WML_DISABLED_FF
   604             if (m_wmlUnloadPending)
   598             if (m_wmlUnloadPending)
   605                 {
   599                 {
   606                 UnloadDllWmlEngine();
   600                 UnloadDllWmlEngine();
   774                 break;
   768                 break;
   775             }
   769             }
   776         case TBrCtlDefs::ECommandAppBackground:
   770         case TBrCtlDefs::ECommandAppBackground:
   777             {
   771             {
   778 #ifndef PERF_REGRESSION_LOG
   772 #ifndef PERF_REGRESSION_LOG
   779                 if(m_webView->widgetExtension())
   773                 if (m_webView->isLoading())
   780                     {
   774                     m_suspendTimers = true;
   781                     if(m_pageLoadFinished)
   775                 else if (!isDeferringTimers())
   782                         setDeferringTimers(true);
   776                     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                     }
       
   793 #endif
   777 #endif
   794 
   778 
   795                 //Disable the zooming bar when it goes to background
   779                 //Disable the zooming bar when it goes to background
   796                 m_webView->hideZoomSliderL();
   780                 m_webView->hideZoomSliderL();
   797                 break;
   781                 break;
  2465     return m_brCtlDownloadObserver;
  2449     return m_brCtlDownloadObserver;
  2466 }
  2450 }
  2467 
  2451 
  2468 
  2452 
  2469 
  2453 
       
  2454 void CBrCtl::HandlePointerBufferReadyL()
       
  2455 {
       
  2456     m_webView->HandlePointerBufferReadyL();
       
  2457 }
       
  2458 
       
  2459