webengine/osswebengine/WebKit/s60/webview/BrCtl.cpp
branchRCL_3
changeset 40 8bfb9186a8b8
parent 38 4917f9bf7995
child 41 4bd5176e1bc8
equal deleted inserted replaced
38:4917f9bf7995 40:8bfb9186a8b8
   418    , m_suspendTimers(false)
   418    , m_suspendTimers(false)
   419    , m_pageLoadFinished(false)
   419    , m_pageLoadFinished(false)
   420    , m_wmlEngineInterface(NULL)
   420    , m_wmlEngineInterface(NULL)
   421    , m_brCtlDownloadObserver(aBrCtlDownloadObserver)
   421    , m_brCtlDownloadObserver(aBrCtlDownloadObserver)
   422    , m_windoCloseTimer(NULL)
   422    , m_windoCloseTimer(NULL)
       
   423    , m_didFirstLayout(false)
   423 {
   424 {
   424     m_documentHeight = 0;
   425     m_documentHeight = 0;
   425     m_displayHeight = 0;
   426     m_displayHeight = 0;
   426     m_displayPosY = 0;
   427     m_displayPosY = 0;
   427     m_documentWidth = 0;
   428     m_documentWidth = 0;
   592                 m_webView->pageScaler()->DocumentStarted();
   593                 m_webView->pageScaler()->DocumentStarted();
   593             if (m_webView->formFillPopup() && m_webView->formFillPopup()->IsVisible()) 
   594             if (m_webView->formFillPopup() && m_webView->formFillPopup()->IsVisible()) 
   594                 m_webView->formFillPopup()->handleCommandL(TBrCtlDefs::ECommandCancel);            
   595                 m_webView->formFillPopup()->handleCommandL(TBrCtlDefs::ECommandCancel);            
   595             break;
   596             break;
   596         case TBrCtlDefs::EEventNewContentDisplayed:
   597         case TBrCtlDefs::EEventNewContentDisplayed:
   597             if(m_brCtlLayoutObserver && m_webView)
   598             if(m_brCtlLayoutObserver && m_webView && !m_didFirstLayout)  {
   598                 m_brCtlLayoutObserver->NotifyLayoutChange( (webView()->mainFrame()->bridge()->m_rtl ? EOriginTopRight : EOriginTopLeft));
   599                 m_brCtlLayoutObserver->NotifyLayoutChange( (webView()->mainFrame()->bridge()->m_rtl ? EOriginTopRight : EOriginTopLeft));
       
   600                 m_didFirstLayout = true;
       
   601             }
   599             break;
   602             break;
   600         case TBrCtlDefs::EEventContentFinished:
   603         case TBrCtlDefs::EEventContentFinished:
   601         case TBrCtlDefs::EEventUploadFinished:
   604         case TBrCtlDefs::EEventUploadFinished:
   602             m_pageLoadFinished = true;
   605             m_pageLoadFinished = true;
       
   606             m_didFirstLayout= false;
   603             if (m_suspendTimers) {
   607             if (m_suspendTimers) {
   604                 m_suspendTimers = false;
   608                 m_suspendTimers = false;
   605                 setDeferringTimers(true);
   609                 setDeferringTimers(true);
   606             }
   610             }
   607 #ifndef BRDO_WML_DISABLED_FF
   611 #ifndef BRDO_WML_DISABLED_FF
   662                 else if (FocusedElementType() == TBrCtlDefs::EElementActivatedObjectBox) {
   666                 else if (FocusedElementType() == TBrCtlDefs::EElementActivatedObjectBox) {
   663                     Frame* coreFrame = m_webView->page()->focusController()->focusedOrMainFrame();
   667                     Frame* coreFrame = m_webView->page()->focusController()->focusedOrMainFrame();
   664                     if (coreFrame)
   668                     if (coreFrame)
   665                         coreFrame->eventHandler()->deactivatedEvent();
   669                         coreFrame->eventHandler()->deactivatedEvent();
   666                 }
   670                 }
       
   671                 m_webView->setEditable(EFalse);
   667                 break;
   672                 break;
   668             }
   673             }
   669         case TBrCtlDefs::ECommandCancelFetch:
   674         case TBrCtlDefs::ECommandCancelFetch:
   670             {
   675             {
   671                 m_webView->Stop();
   676                 m_webView->Stop();
   775 #ifndef PERF_REGRESSION_LOG
   780 #ifndef PERF_REGRESSION_LOG
   776                 if (isDeferringTimers())
   781                 if (isDeferringTimers())
   777                     setDeferringTimers(false);
   782                     setDeferringTimers(false);
   778                 m_suspendTimers = false;
   783                 m_suspendTimers = false;
   779 #endif
   784 #endif
   780 
   785                 m_webView->resumeJsTimers();
   781                 break;
   786                 break;
   782             }
   787             }
   783         case TBrCtlDefs::ECommandAppBackground:
   788         case TBrCtlDefs::ECommandAppBackground:
   784             {
   789             {
   785 #ifndef PERF_REGRESSION_LOG
   790 #ifndef PERF_REGRESSION_LOG
   799                     }
   804                     }
   800 #endif
   805 #endif
   801 
   806 
   802                 //Disable the zooming bar when it goes to background
   807                 //Disable the zooming bar when it goes to background
   803                 m_webView->hideZoomSliderL();
   808                 m_webView->hideZoomSliderL();
       
   809                 m_webView->pauseJsTimers();
   804                 break;
   810                 break;
   805             }
   811             }
   806         case TBrCtlDefs::ECommandClearAutoFormFillData:
   812         case TBrCtlDefs::ECommandClearAutoFormFillData:
   807             {
   813             {
   808                 StaticObjectsContainer::instance()->formFillController()->clearFormData();
   814                 StaticObjectsContainer::instance()->formFillController()->clearFormData();
   954             break;
   960             break;
   955             }
   961             }
   956 
   962 
   957        case TBrCtlDefs::ECommandEnterFullscreenBrowsing:
   963        case TBrCtlDefs::ECommandEnterFullscreenBrowsing:
   958             {
   964             {
       
   965              m_webView->resumeJsTimers();
   959              m_webView->EnterFullscreenBrowsingL();
   966              m_webView->EnterFullscreenBrowsingL();
   960              break;
   967              break;
   961             }
   968             }
   962 
   969 
   963        case TBrCtlDefs::ECommandLeaveFullscreenBrowsing:
   970        case TBrCtlDefs::ECommandLeaveFullscreenBrowsing:
  1003                connPtr->Name( name );
  1010                connPtr->Name( name );
  1004                StaticObjectsContainer::instance()->resourceLoaderDelegate()->httpSessionManager()->httpDownload()->connect(name);
  1011                StaticObjectsContainer::instance()->resourceLoaderDelegate()->httpSessionManager()->httpDownload()->connect(name);
  1005                }
  1012                }
  1006            break;
  1013            break;
  1007            }
  1014            }
  1008        
  1015        case TBrCtlDefs::ECommandLoseFocus:
       
  1016        case TBrCtlDefs::ECommandPauseScriptTimers:
       
  1017            {
       
  1018            m_webView->pauseJsTimers();
       
  1019            break;
       
  1020            }
       
  1021            
       
  1022        case TBrCtlDefs::ECommandGainFocus:
       
  1023        case TBrCtlDefs::ECommandResumeScriptTimers:
       
  1024            {
       
  1025            m_webView->resumeJsTimers();
       
  1026            break;
       
  1027            }
       
  1028        case TBrCtlDefs::ECommandCancelQueuedTransactions:
       
  1029            {
       
  1030            StaticObjectsContainer::instance()->resourceLoaderDelegate()->httpSessionManager()->cancelQueuedTransactions();
       
  1031 		   break;
       
  1032            }		   
  1009       default:
  1033       default:
  1010             {
  1034             {
  1011             if ( m_wmlEngineInterface &&
  1035             if ( m_wmlEngineInterface &&
  1012                  (TUint)aCommand >= m_commandIdBase + TBrCtlDefs::ECommandIdWMLBase &&
  1036                  (TUint)aCommand >= m_commandIdBase + TBrCtlDefs::ECommandIdWMLBase &&
  1013                  (TUint)aCommand <= m_commandIdBase + TBrCtlDefs::ECommandIdRange )
  1037                  (TUint)aCommand <= m_commandIdBase + TBrCtlDefs::ECommandIdRange )
  1715     // Check that we got a valid url
  1739     // Check that we got a valid url
  1716     if (url.Ptr() == NULL || url.Length() == 0)
  1740     if (url.Ptr() == NULL || url.Length() == 0)
  1717         User::Leave(KErrArgument);
  1741         User::Leave(KErrArgument);
  1718     // convert to 8
  1742     // convert to 8
  1719 
  1743 
       
  1744     // reset timers ptr, if paused from last page
       
  1745     m_webView->resetJsTimers();
       
  1746         
  1720     _LIT(KJs, "javascript:");
  1747     _LIT(KJs, "javascript:");
  1721     if (url.Length() > KJs().Length()) {
  1748     if (url.Length() > KJs().Length()) {
  1722         if (url.Left(KJs().Length()).FindF(KJs) == 0) {
  1749         if (url.Left(KJs().Length()).FindF(KJs) == 0) {
  1723             core(m_webView->mainFrame())->loader()->executeScript(String(url.Mid(KJs().Length())), true);
  1750             core(m_webView->mainFrame())->loader()->executeScript(String(url.Mid(KJs().Length())), true);
  1724             return;
  1751             return;
  2529 
  2556 
  2530 
  2557 
  2531 
  2558 
  2532 
  2559 
  2533 
  2560 
       
  2561