diff -r 7c90e6132015 -r 10e98eab6f85 webengine/osswebengine/WebKit/s60/webview/BrCtl.cpp --- a/webengine/osswebengine/WebKit/s60/webview/BrCtl.cpp Fri May 08 08:25:06 2009 +0300 +++ b/webengine/osswebengine/WebKit/s60/webview/BrCtl.cpp Fri Jul 03 15:54:40 2009 +0100 @@ -284,110 +284,6 @@ void CBrCtl::Draw(const TRect& aRect) const { - if (m_webView->isPluginFullscreen()) return; //don't draw if in plugin fullscreen mode - - if (!(m_capabilities & TBrCtlDefs::ECapabilityDisplayScrollBar) - || (getMainScrollbarWidth() == 0) - || AknLayoutUtils::PenEnabled()) { //touch screen scrollbar is drawn - return; //by WebScrollbarDrawer - } - CWindowGc& gc = SystemGc(); - TRect rect(Rect()); - int documentHeight = (m_displayHeight > m_documentHeight) ? m_displayHeight : m_documentHeight; - int documentWidth = (m_displayWidth > m_documentWidth) ? m_displayWidth : m_documentWidth; - gc.SetDrawMode(CGraphicsContext::EDrawModePEN); - if (AknLayoutUtils::LayoutMirrored()) { - // rtl - if (m_hasHorizontalScrollbar) { - TRect vertical(0, 0, KMainScrollbarWidth, rect.Height() - KMainScrollbarWidth); - TRect horizontal(KMainScrollbarWidth, rect.Height() - KMainScrollbarWidth, rect.Width(), rect.Height()); - TRect verticalThumb(0, (m_displayPosY * m_displayHeight) / documentHeight, - KMainScrollbarWidth, (m_displayPosY * m_displayHeight + m_displayHeight * m_displayHeight) / documentHeight); - TRect horizontalThumb(KMainScrollbarWidth + (m_displayPosX * m_displayWidth) / documentWidth, rect.Height() - KMainScrollbarWidth, - KMainScrollbarWidth + (m_displayPosX * m_displayWidth + m_displayWidth * m_displayWidth) / documentWidth, rect.Height()); - TRect corner(0, rect.Height() - KMainScrollbarWidth, KMainScrollbarWidth, rect.Height()); - vertical.Intersection(aRect); - horizontal.Intersection(aRect); - if (!(vertical.IsEmpty() || horizontal.IsEmpty())) { - gc.SetBrushStyle(CGraphicsContext::ESolidBrush); - gc.SetBrushColor(KGray); - gc.SetPenStyle(CGraphicsContext::ESolidPen); - gc.SetPenSize(TSize(1, 1)); - gc.SetPenColor(KBlack); - gc.DrawRect(vertical); - gc.DrawRect(horizontal); - gc.SetBrushColor(KDarkGray); - gc.DrawRect(verticalThumb); - gc.DrawRect(horizontalThumb); - gc.SetBrushColor(KWhite); - gc.SetPenColor(KWhite); - gc.DrawRect(corner); - } - } - else { - TRect vertical(0, 0, KMainScrollbarWidth, rect.Height()); - TRect verticalThumb(0, (m_displayPosY * m_displayHeight) / documentHeight, - KMainScrollbarWidth, (m_displayPosY * m_displayHeight + m_displayHeight * m_displayHeight) / documentHeight); - vertical.Intersection(aRect); - if (!vertical.IsEmpty()) { - gc.SetBrushStyle(CGraphicsContext::ESolidBrush); - gc.SetBrushColor(KGray); - gc.SetPenStyle(CGraphicsContext::ESolidPen); - gc.SetPenSize(TSize(1, 1)); - gc.SetPenColor(KBlack); - gc.DrawRect(vertical); - gc.SetBrushColor(KDarkGray); - gc.DrawRect(verticalThumb); - } - } - } - else { - // ltr - if (m_hasHorizontalScrollbar) { - TRect vertical(rect.Width() - KMainScrollbarWidth, 0, rect.Width(), rect.Height() - KMainScrollbarWidth); - TRect horizontal(0, rect.Height() - KMainScrollbarWidth, rect.Width() - KMainScrollbarWidth, rect.Height()); - TRect verticalThumb(rect.Width() - KMainScrollbarWidth, (m_displayPosY * m_displayHeight) / documentHeight, - rect.Width(), (m_displayPosY * m_displayHeight + m_displayHeight * m_displayHeight) / documentHeight); - TRect horizontalThumb((m_displayPosX * m_displayWidth) / documentWidth, rect.Height() - KMainScrollbarWidth, - (m_displayPosX * m_displayWidth + m_displayWidth * m_displayWidth) / documentWidth, rect.Height()); - TRect corner(rect.Width() - KMainScrollbarWidth, rect.Height() - KMainScrollbarWidth, rect.Width(), rect.Height()); - vertical.Intersection(aRect); - horizontal.Intersection(aRect); - if (!(vertical.IsEmpty() || horizontal.IsEmpty())) { - gc.SetBrushStyle(CGraphicsContext::ESolidBrush); - gc.SetBrushColor(KGray); - gc.SetPenStyle(CGraphicsContext::ESolidPen); - gc.SetPenSize(TSize(1, 1)); - gc.SetPenColor(KBlack); - gc.DrawRect(vertical); - gc.DrawRect(horizontal); - gc.SetBrushColor(KDarkGray); - gc.DrawRect(verticalThumb); - gc.DrawRect(horizontalThumb); - gc.SetBrushColor(KWhite); - gc.SetPenColor(KWhite); - gc.DrawRect(corner); - } - } - else - { - TRect vertical(rect.Width() - KMainScrollbarWidth, 0, rect.Width(), rect.Height()); - TRect verticalThumb(rect.Width() - KMainScrollbarWidth, (m_displayPosY * m_displayHeight) / documentHeight, - rect.Width(), (m_displayPosY * m_displayHeight + m_displayHeight * m_displayHeight) / documentHeight); - vertical.Intersection(aRect); - if (!vertical.IsEmpty()) { - gc.SetBrushStyle(CGraphicsContext::ESolidBrush); - gc.SetBrushColor(KGray); - gc.SetPenStyle(CGraphicsContext::ESolidPen); - gc.SetPenSize(TSize(1, 1)); - gc.SetPenColor(KBlack); - gc.DrawRect(vertical); - gc.SetBrushColor(KDarkGray); - gc.DrawRect(verticalThumb); - } - } - } - } @@ -548,9 +444,9 @@ m_webView = WebView::NewL(*aParent, this); m_historyHandler = HistoryHandler::initWithHandle(this); m_settingsContainer = new (ELeave) SettingsContainer(m_webView, m_historyHandler->historyController()); - m_settingsContainer->setTabbedNavigation(!(capabilities()&TBrCtlDefs::ECapabilityCursorNavigation)); + m_settingsContainer->setNavigationType((capabilities()&TBrCtlDefs::ECapabilityCursorNavigation) ? SettingsContainer::NavigationTypeCursor : SettingsContainer::NavigationTypeTabbed); - m_usrAgnt = CUserAgent::NewL(); + m_usrAgnt = CUserAgent::NewL(); if (m_brCtlLayoutObserver == NULL) { @@ -1078,9 +974,6 @@ TUid aCharsetUid) { const TText* charset = charsetForUid(aCharsetUid.iUid); - if (charset == NULL) { - charset = _S("iso-8859-1"); - } HBufC8* url = HBufC8::NewLC(aUrl.Length()); url->Des().Copy(aUrl); @@ -1852,7 +1745,7 @@ // void CBrCtl::SizeChanged() { - if (m_webView->isPluginFullscreen()) return; + if (StaticObjectsContainer::instance()->isPluginFullscreen()) return; TRect adjustedRect( Rect() ); TBool callDoLayout = EFalse; TInt scrollBarWidth = getMainScrollbarWidth(); @@ -2122,7 +2015,14 @@ if (m_brCtlWindowObserver) { newBrctl = m_brCtlWindowObserver->FindWindowL(windowName); if (!newBrctl) - newBrctl = m_brCtlWindowObserver->OpenWindowL(emptyUrl, &windowName, userGesture, 0); + { + if(StaticObjectsContainer::instance()->isPluginFullscreen()) + { + PluginSkin* plugin=m_webView->mainFrame()->focusedPlugin(); + plugin->deActivate(); + } + newBrctl = m_brCtlWindowObserver->OpenWindowL(emptyUrl, &windowName, userGesture, 0); + } } return static_cast(newBrctl); } @@ -2475,7 +2375,6 @@ int CBrCtl::getMainScrollbarWidth() const { - //return (AknLayoutUtils::PenEnabled() ? 0 : KMainScrollbarWidth); return 0; } @@ -2486,6 +2385,9 @@ } return m_brCtlDownloadObserver; } + + + void CBrCtl::HandlePointerBufferReadyL() { m_webView->HandlePointerBufferReadyL();