Changeset 90458 in webkit


Ignore:
Timestamp:
Jul 6, 2011 8:22:45 AM (13 years ago)
Author:
andreas.kling@nokia.com
Message:

2011-07-06 Andreas Kling <kling@webkit.org>

[Qt][WK2] Split Qt API into two different web views (touch and desktop)
https://bugs.webkit.org/show_bug.cgi?id=63950

Co-authored with Benjamin Poulain <benjamin@webkit.org>.

Reviewed by Kenneth Rohde Christiansen.

Port WTR/Qt to use QDesktopWebView and force a 800x600 viewport.

The Qt MiniBrowser now defaults to QDesktopWebView but can be started
in QTouchWebView mode by passing -touch on the command line.

A lot of functionality has been removed and/or disabled from
MiniBrowser until we reintroduce the necessary API's.

  • MiniBrowser/qt/BrowserView.cpp: (BrowserView::BrowserView): (BrowserView::~BrowserView): (BrowserView::load): (BrowserView::view): (BrowserView::touchWebView): (BrowserView::desktopWebView):
  • MiniBrowser/qt/BrowserView.h:
  • MiniBrowser/qt/BrowserWindow.cpp: (newPageFunction): (BrowserWindow::BrowserWindow): (BrowserWindow::webView): (BrowserWindow::newWindow): (BrowserWindow::showUserAgentDialog): (BrowserWindow::updateUserAgentList):
  • MiniBrowser/qt/BrowserWindow.h:
  • MiniBrowser/qt/MiniBrowserApplication.cpp: (MiniBrowserApplication::handleUserOptions):
  • MiniBrowser/qt/MiniBrowserApplication.h: (WindowOptions::WindowOptions):
  • MiniBrowser/qt/UrlLoader.cpp: (UrlLoader::UrlLoader):
  • MiniBrowser/qt/main.cpp: (main):
  • WebKitTestRunner/qt/PlatformWebViewQt.cpp: (WTR::WebView::wkView): (WTR::WebView::pageRef): (WTR::WebView::WebView): (WTR::PlatformWebView::page): (WTR::PlatformWebView::windowFrame): (WTR::PlatformWebView::setWindowFrame):

2011-07-06 Andreas Kling <kling@webkit.org>

[Qt][WK2] Split Qt API into two different web views (touch and desktop)
https://bugs.webkit.org/show_bug.cgi?id=63950

Co-authored with Benjamin Poulain <benjamin@webkit.org>.

Reviewed by Kenneth Rohde Christiansen.

Replace the QGraphicsWKView/QWKPage mess with QDesktopWebView and QTouchWebView.

QDesktopWebView is a traditional web view, similar to QGraphicsWebView. It will
will have the expected "desktop" behavior for things like subframes and
fixed-position elements.

QTouchWebView is intended for use on touch devices, and will manage the viewport,
gestures, tiled rendering, and other things that the user should never have to
worry about. It will use "resize to contents" and frame flattening by default.

API-wise, the biggest difference between the two is that QTouchWebView is really
a viewport that contains a QTouchWebPage. These are decoupled for flexibility in
UI design. This decoupling is not necessary for the desktop use-case, and so
QDesktopWebView is the only class we need.

Much of the Qt/WebKit2 API has been removed (snapshots, history, preferences..)
but will be re-added incrementally in a way that fits the new API vision.

  • UIProcess/API/qt/WKView.h:
  • UIProcess/API/qt/qdesktopwebview.cpp: Added. (QDesktopWebViewPrivate::QDesktopWebViewPrivate): (QDesktopWebViewPrivate::setViewNeedsDisplay): (QDesktopWebViewPrivate::drawingAreaSize): (QDesktopWebViewPrivate::contentSizeChanged): (QDesktopWebViewPrivate::isActive): (QDesktopWebViewPrivate::hasFocus): (QDesktopWebViewPrivate::isVisible): (QDesktopWebViewPrivate::startDrag): (QDesktopWebViewPrivate::didChangeUrl): (QDesktopWebViewPrivate::didChangeTitle): (QDesktopWebViewPrivate::didChangeToolTip): (QDesktopWebViewPrivate::didChangeStatusText): (QDesktopWebViewPrivate::didChangeCursor): (QDesktopWebViewPrivate::loadDidBegin): (QDesktopWebViewPrivate::loadDidSucceed): (QDesktopWebViewPrivate::didChangeLoadProgress): (QDesktopWebViewPrivate::showContextMenu): (QDesktopWebViewPrivate::hideContextMenu): (QDesktopWebView::QDesktopWebView): (QDesktopWebView::init): (QDesktopWebView::~QDesktopWebView): (QDesktopWebView::load): (QDesktopWebView::url): (QDesktopWebView::title): (QDesktopWebView::resizeEvent): (QDesktopWebView::paint): (QDesktopWebView::event): (QDesktopWebView::pageRef):
  • UIProcess/API/qt/qdesktopwebview.h: Added.
  • UIProcess/API/qt/qdesktopwebview_p.h: Added.
  • UIProcess/API/qt/qgraphicswkview.cpp: Removed.
  • UIProcess/API/qt/qgraphicswkview.h: Removed.
  • UIProcess/API/qt/qtouchwebpage.cpp: Added. (QTouchWebPage::QTouchWebPage): (QTouchWebPage::~QTouchWebPage): (QTouchWebPage::paint): (QTouchWebPage::load): (QTouchWebPage::url): (QTouchWebPage::title): (QTouchWebPage::focusNextPrevChildCallback): (QTouchWebPage::focusNextPrevChild): (QTouchWebPage::event): (QTouchWebPage::timerEvent): (QTouchWebPage::resizeEvent): (QTouchWebPagePrivate::QTouchWebPagePrivate): (QTouchWebPage::visibleRect): (QTouchWebPagePrivate::prepareScaleChange): (QTouchWebPagePrivate::commitScaleChange): (QTouchWebPagePrivate::onScaleChanged): (QTouchWebPagePrivate::setPage):
  • UIProcess/API/qt/qtouchwebpage.h: Added.
  • UIProcess/API/qt/qtouchwebpage_p.h: Added. (QTouchWebPagePrivate::getPageViewPrivate):
  • UIProcess/API/qt/qtouchwebview.cpp: Added. (QTouchWebViewPrivate::QTouchWebViewPrivate): (QTouchWebView::QTouchWebView): (QTouchWebView::~QTouchWebView): (QTouchWebView::page):
  • UIProcess/API/qt/qtouchwebview.h: Added.
  • UIProcess/API/qt/qtouchwebview_p.h: Added.
  • UIProcess/API/qt/qwkpage.cpp: Removed.
  • UIProcess/API/qt/qwkpage.h: Removed.
  • UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Added.
  • UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Added. (tst_CommonViewTests::init): (tst_CommonViewTests::cleanup): (tst_CommonViewTests::baseUrl): (tst_CommonViewTests::loadEmptyUrl): (tst_CommonViewTests::loadEmptyPageViewVisible): (tst_CommonViewTests::loadEmptyPageViewHidden): (tst_CommonViewTests::show):
  • UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Added. (WebViewAbstraction::WebViewAbstraction): (WebViewAbstraction::show): (WebViewAbstraction::hide): (WebViewAbstraction::load): (WebViewAbstraction::url): (WebViewAbstraction::touchViewLoadStarted): (WebViewAbstraction::desktopViewLoadStarted): (WebViewAbstraction::touchViewLoadSucceeded): (WebViewAbstraction::desktopViewLoadSucceeded): (WebViewAbstraction::touchWebView): (WebViewAbstraction::desktopWebView):
  • UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Copied from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp.
  • UIProcess/API/qt/tests/html/a.htm: Removed.
  • UIProcess/API/qt/tests/html/b.htm: Removed.
  • UIProcess/API/qt/tests/html/c.htm: Removed.
  • UIProcess/API/qt/tests/html/d.htm: Removed.
  • UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro.
  • UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp. (tst_QDesktopWebView::init): (tst_QDesktopWebView::cleanup): (tst_QDesktopWebView::webView):
  • UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: Removed.
  • UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkhistory/qwkhistory.pro.
  • UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Added. (tst_QTouchWebView::tst_QTouchWebView): (tst_QTouchWebView::init): (tst_QTouchWebView::cleanup): (tst_QTouchWebView::webView): (tst_QTouchWebView::accessPage):
  • UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp: Removed.
  • UIProcess/API/qt/tests/qwkpage/qwkpage.pro: Removed.
  • UIProcess/API/qt/tests/tests.pro:
  • UIProcess/API/qt/tests/testwindow.h: Added. (TestWindow::TestWindow): (TestWindow::resizeEvent):
  • UIProcess/TiledDrawingAreaProxy.cpp:
  • UIProcess/TiledDrawingAreaProxy.h:
  • UIProcess/WebFullScreenManagerProxy.h:
  • UIProcess/qt/ClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.cpp. (toQWKContext): (toQtWebPageProxy): (loadFinished): (qt_wk_didStartProvisionalLoadForFrame): (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame): (qt_wk_didFailProvisionalLoadWithErrorForFrame): (qt_wk_didCommitLoadForFrame): (qt_wk_didFinishDocumentLoadForFrame): (qt_wk_didFinishLoadForFrame): (qt_wk_didFailLoadWithErrorForFrame): (qt_wk_didReceiveTitleForFrame): (qt_wk_didFirstLayoutForFrame): (qt_wk_didRemoveFrameFromHierarchy): (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame): (qt_wk_didStartProgress): (qt_wk_didChangeProgress): (qt_wk_didFinishProgress): (qt_wk_didBecomeUnresponsive): (qt_wk_didBecomeResponsive): (qt_wk_createNewPage): (qt_wk_showPage): (qt_wk_close): (qt_wk_takeFocus): (qt_wk_runJavaScriptAlert): (qt_wk_setStatusText): (qt_wk_didSameDocumentNavigationForFrame): (qt_wk_didChangeIconForPageURL): (qt_wk_didRemoveAllIcons):
  • UIProcess/qt/ClientImpl.h: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.h.
  • UIProcess/qt/QtWebPageProxy.cpp: Added. (defaultWKContext): (contextMenuActionForWebAction): (dragOperationToDropActions): (dropActionToDragOperation): (QtWebPageProxy::QtWebPageProxy): (QtWebPageProxy::init): (QtWebPageProxy::~QtWebPageProxy): (QtWebPageProxy::handleEvent): (QtWebPageProxy::handleKeyPressEvent): (QtWebPageProxy::handleKeyReleaseEvent): (QtWebPageProxy::handleFocusInEvent): (QtWebPageProxy::handleFocusOutEvent): (QtWebPageProxy::setCursor): (QtWebPageProxy::setViewNeedsDisplay): (QtWebPageProxy::displayView): (QtWebPageProxy::scrollView): (QtWebPageProxy::viewSize): (QtWebPageProxy::isViewWindowActive): (QtWebPageProxy::isViewFocused): (QtWebPageProxy::isViewVisible): (QtWebPageProxy::isViewInWindow): (QtWebPageProxy::enterAcceleratedCompositingMode): (QtWebPageProxy::exitAcceleratedCompositingMode): (QtWebPageProxy::pageDidRequestScroll): (QtWebPageProxy::didChangeContentsSize): (QtWebPageProxy::toolTipChanged): (QtWebPageProxy::registerEditCommand): (QtWebPageProxy::clearAllEditCommands): (QtWebPageProxy::canUndoRedo): (QtWebPageProxy::executeUndoRedo): (QtWebPageProxy::convertToDeviceSpace): (QtWebPageProxy::screenToWindow): (QtWebPageProxy::windowToScreen): (QtWebPageProxy::convertToUserSpace): (QtWebPageProxy::selectionChanged): (QtWebPageProxy::doneWithKeyEvent): (QtWebPageProxy::createPopupMenuProxy): (QtWebPageProxy::createContextMenuProxy): (QtWebPageProxy::setFindIndicator): (QtWebPageProxy::didCommitLoadForMainFrame): (QtWebPageProxy::didFinishLoadingDataForCustomRepresentation): (QtWebPageProxy::flashBackingStoreUpdates): (QtWebPageProxy::pageRef): (QtWebPageProxy::didChangeUrl): (QtWebPageProxy::didChangeTitle): (QtWebPageProxy::didChangeStatusText): (QtWebPageProxy::showContextMenu): (QtWebPageProxy::hideContextMenu): (QtWebPageProxy::loadDidBegin): (QtWebPageProxy::loadDidSucceed): (QtWebPageProxy::didChangeLoadProgress): (QtWebPageProxy::paint): (QtWebPageProxy::updateAction): (QtWebPageProxy::updateNavigationActions): (QtWebPageProxy::webActionTriggered): (QtWebPageProxy::didRelaunchProcess): (QtWebPageProxy::processDidCrash): (QtWebPageProxy::setActualVisibleContentsRect): (QtWebPageProxy::preferences): (QtWebPageProxy::setCreateNewPageFunction): (QtWebPageProxy::setCustomUserAgent): (QtWebPageProxy::customUserAgent): (QtWebPageProxy::load): (QtWebPageProxy::url): (QtWebPageProxy::title): (QtWebPageProxy::setDrawingAreaSize): (QtWebPageProxy::textZoomFactor): (QtWebPageProxy::setTextZoomFactor): (QtWebPageProxy::pageZoomFactor): (QtWebPageProxy::setPageZoomFactor): (QtWebPageProxy::setPageAndTextZoomFactors): (QtWebPageProxy::history): (QtWebPageProxy::setResizesToContentsUsingLayoutSize): (QtWebPageProxy::triggerAction): (QtWebPageProxy::action): (QtWebPageProxy::findZoomableAreaForPoint): (QtWebPageProxy::didFindZoomableArea): (QtWebPageProxy::startDrag): (QtWebPageProxy::viewportVisibleRect): (QtWebPageProxy::isConnectedToEngine): (QtWebPageProxy::setPageIsVisible):
  • UIProcess/qt/QtWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpage_p.h. (QtWebPageProxy::pageClosed): (QtWebPageProxy::customRepresentationZoomFactor): (QtWebPageProxy::setCustomRepresentationZoomFactor): (QtWebPageProxy::didChangeScrollbarsForMainFrame): (QtWebPageProxy::findStringInCustomRepresentation): (QtWebPageProxy::countStringMatchesInCustomRepresentation): (QtWebPageProxy::userSpaceScaleFactor): (QtWebPageProxy::createNewPageFunction):
  • UIProcess/qt/TiledDrawingAreaProxyQt.cpp: (WebKit::TiledDrawingAreaProxy::page):
  • UIProcess/qt/TouchViewInterface.cpp: Added. (WebKit::TouchViewInterface::TouchViewInterface): (WebKit::TouchViewInterface::setViewNeedsDisplay): (WebKit::TouchViewInterface::drawingAreaSize): (WebKit::TouchViewInterface::contentSizeChanged): (WebKit::TouchViewInterface::isActive): (WebKit::TouchViewInterface::hasFocus): (WebKit::TouchViewInterface::isVisible): (WebKit::TouchViewInterface::startDrag): (WebKit::TouchViewInterface::didChangeUrl): (WebKit::TouchViewInterface::didChangeTitle): (WebKit::TouchViewInterface::didChangeToolTip): (WebKit::TouchViewInterface::didChangeStatusText): (WebKit::TouchViewInterface::didChangeCursor): (WebKit::TouchViewInterface::loadDidBegin): (WebKit::TouchViewInterface::loadDidSucceed): (WebKit::TouchViewInterface::didChangeLoadProgress): (WebKit::TouchViewInterface::showContextMenu): (WebKit::TouchViewInterface::hideContextMenu):
  • UIProcess/qt/TouchViewInterface.h: Added. (WebKit::TouchViewInterface::pageView):
  • UIProcess/qt/ViewInterface.cpp: Added. (WebKit::ViewInterface::ownerWidget):
  • UIProcess/qt/ViewInterface.h: Added.
  • UIProcess/qt/WebContextMenuProxyQt.cpp: (WebKit::webActionForContextMenuAction): (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt): (WebKit::WebContextMenuProxyQt::create): (WebKit::WebContextMenuProxyQt::showContextMenu): (WebKit::WebContextMenuProxyQt::hideContextMenu): (WebKit::WebContextMenuProxyQt::createContextMenu):
  • UIProcess/qt/WebContextMenuProxyQt.h:
  • UIProcess/qt/qdesktopwebpageproxy.cpp: Added. (dragOperationToDropAction): (QDesktopWebPageProxy::QDesktopWebPageProxy): (QDesktopWebPageProxy::createDrawingAreaProxy): (QDesktopWebPageProxy::paintContent): (QDesktopWebPageProxy::setViewportArguments): (QDesktopWebPageProxy::handleEvent): (QDesktopWebPageProxy::handleMouseMoveEvent): (QDesktopWebPageProxy::handleMousePressEvent): (QDesktopWebPageProxy::handleMouseReleaseEvent): (QDesktopWebPageProxy::handleMouseDoubleClickEvent): (QDesktopWebPageProxy::handleWheelEvent): (QDesktopWebPageProxy::handleHoverMoveEvent): (QDesktopWebPageProxy::handleDragEnterEvent): (QDesktopWebPageProxy::handleDragLeaveEvent): (QDesktopWebPageProxy::handleDragMoveEvent): (QDesktopWebPageProxy::handleDropEvent): (QDesktopWebPageProxy::timerEvent):
  • UIProcess/qt/qdesktopwebpageproxy.h: Added.
  • UIProcess/qt/qtouchwebpageproxy.cpp: Added. (QTouchWebPageProxy::QTouchWebPageProxy): (QTouchWebPageProxy::createDrawingAreaProxy): (QTouchWebPageProxy::paintContent): (QTouchWebPageProxy::setViewportArguments): (QTouchWebPageProxy::handleEvent): (QTouchWebPageProxy::touchEvent):
  • UIProcess/qt/qtouchwebpageproxy.h: Added. (QTouchWebPageProxy::touchViewInterface): (QTouchWebPageProxy::pageView):
  • UIProcess/qt/qwkcontext.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.cpp. (initializePlatformStrategiesIfNeeded): (QWKContextPrivate::QWKContextPrivate): (QWKContextPrivate::~QWKContextPrivate): (QWKContext::QWKContext): (QWKContext::~QWKContext): (QWKContext::setIconDatabasePath): (QWKContext::iconForPageURL):
  • UIProcess/qt/qwkcontext.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.h.
  • UIProcess/qt/qwkcontext_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext_p.h.
  • UIProcess/qt/qwkhistory.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.cpp. (QWKHistoryItemPrivate::QWKHistoryItemPrivate): (QWKHistoryItemPrivate::~QWKHistoryItemPrivate): (QWKHistoryItem::QWKHistoryItem): (QWKHistoryItem::QWKHistoryItem::operator=): (QWKHistoryItem::~QWKHistoryItem): (QWKHistoryItem::title): (QWKHistoryItem::url): (QWKHistoryPrivate::QWKHistoryPrivate): (QWKHistoryPrivate::createHistory): (QWKHistoryPrivate::~QWKHistoryPrivate): (QWKHistory::QWKHistory): (QWKHistory::~QWKHistory): (QWKHistory::backListCount): (QWKHistory::forwardListCount): (QWKHistory::count): (QWKHistory::currentItem): (QWKHistory::backItem): (QWKHistory::forwardItem): (QWKHistory::itemAt): (QWKHistory::goToItemAt): (QWKHistory::backItems): (QWKHistory::forwardItems):
  • UIProcess/qt/qwkhistory.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.h.
  • UIProcess/qt/qwkhistory_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory_p.h.
  • UIProcess/qt/qwkpreferences.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp. (QWKPreferencesPrivate::createPreferences): (QWKPreferencesPrivate::createSharedPreferences): (QWKPreferences::sharedPreferences): (QWKPreferences::QWKPreferences): (QWKPreferences::~QWKPreferences): (QWKPreferences::setFontFamily): (QWKPreferences::fontFamily): (QWKPreferences::testAttribute): (QWKPreferences::setAttribute): (QWKPreferences::setFontSize): (QWKPreferences::fontSize):
  • UIProcess/qt/qwkpreferences.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.h.
  • UIProcess/qt/qwkpreferences_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences_p.h.
  • WebKit2.pro:
  • WebKit2API.pri:
  • WebProcess/WebPage/TiledDrawingArea.cpp:
  • WebProcess/WebPage/TiledDrawingArea.h:
Location:
trunk
Files:
42 added
26 deleted
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r90457 r90458  
     12011-07-06  Andreas Kling  <kling@webkit.org>
     2
     3        [Qt][WK2] Split Qt API into two different web views (touch and desktop)
     4        https://bugs.webkit.org/show_bug.cgi?id=63950
     5
     6        Co-authored with Benjamin Poulain <benjamin@webkit.org>.
     7
     8        Reviewed by Kenneth Rohde Christiansen.
     9
     10        Replace the QGraphicsWKView/QWKPage mess with QDesktopWebView and QTouchWebView.
     11
     12        QDesktopWebView is a traditional web view, similar to QGraphicsWebView. It will
     13        will have the expected "desktop" behavior for things like subframes and
     14        fixed-position elements.
     15
     16        QTouchWebView is intended for use on touch devices, and will manage the viewport,
     17        gestures, tiled rendering, and other things that the user should never have to
     18        worry about. It will use "resize to contents" and frame flattening by default.
     19
     20        API-wise, the biggest difference between the two is that QTouchWebView is really
     21        a viewport that contains a QTouchWebPage. These are decoupled for flexibility in
     22        UI design. This decoupling is not necessary for the desktop use-case, and so
     23        QDesktopWebView is the only class we need.
     24
     25        Much of the Qt/WebKit2 API has been removed (snapshots, history, preferences..)
     26        but will be re-added incrementally in a way that fits the new API vision.
     27
     28        * UIProcess/API/qt/WKView.h:
     29        * UIProcess/API/qt/qdesktopwebview.cpp: Added.
     30        (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
     31        (QDesktopWebViewPrivate::setViewNeedsDisplay):
     32        (QDesktopWebViewPrivate::drawingAreaSize):
     33        (QDesktopWebViewPrivate::contentSizeChanged):
     34        (QDesktopWebViewPrivate::isActive):
     35        (QDesktopWebViewPrivate::hasFocus):
     36        (QDesktopWebViewPrivate::isVisible):
     37        (QDesktopWebViewPrivate::startDrag):
     38        (QDesktopWebViewPrivate::didChangeUrl):
     39        (QDesktopWebViewPrivate::didChangeTitle):
     40        (QDesktopWebViewPrivate::didChangeToolTip):
     41        (QDesktopWebViewPrivate::didChangeStatusText):
     42        (QDesktopWebViewPrivate::didChangeCursor):
     43        (QDesktopWebViewPrivate::loadDidBegin):
     44        (QDesktopWebViewPrivate::loadDidSucceed):
     45        (QDesktopWebViewPrivate::didChangeLoadProgress):
     46        (QDesktopWebViewPrivate::showContextMenu):
     47        (QDesktopWebViewPrivate::hideContextMenu):
     48        (QDesktopWebView::QDesktopWebView):
     49        (QDesktopWebView::init):
     50        (QDesktopWebView::~QDesktopWebView):
     51        (QDesktopWebView::load):
     52        (QDesktopWebView::url):
     53        (QDesktopWebView::title):
     54        (QDesktopWebView::resizeEvent):
     55        (QDesktopWebView::paint):
     56        (QDesktopWebView::event):
     57        (QDesktopWebView::pageRef):
     58        * UIProcess/API/qt/qdesktopwebview.h: Added.
     59        * UIProcess/API/qt/qdesktopwebview_p.h: Added.
     60        * UIProcess/API/qt/qgraphicswkview.cpp: Removed.
     61        * UIProcess/API/qt/qgraphicswkview.h: Removed.
     62        * UIProcess/API/qt/qtouchwebpage.cpp: Added.
     63        (QTouchWebPage::QTouchWebPage):
     64        (QTouchWebPage::~QTouchWebPage):
     65        (QTouchWebPage::paint):
     66        (QTouchWebPage::load):
     67        (QTouchWebPage::url):
     68        (QTouchWebPage::title):
     69        (QTouchWebPage::focusNextPrevChildCallback):
     70        (QTouchWebPage::focusNextPrevChild):
     71        (QTouchWebPage::event):
     72        (QTouchWebPage::timerEvent):
     73        (QTouchWebPage::resizeEvent):
     74        (QTouchWebPagePrivate::QTouchWebPagePrivate):
     75        (QTouchWebPage::visibleRect):
     76        (QTouchWebPagePrivate::prepareScaleChange):
     77        (QTouchWebPagePrivate::commitScaleChange):
     78        (QTouchWebPagePrivate::onScaleChanged):
     79        (QTouchWebPagePrivate::setPage):
     80        * UIProcess/API/qt/qtouchwebpage.h: Added.
     81        * UIProcess/API/qt/qtouchwebpage_p.h: Added.
     82        (QTouchWebPagePrivate::getPageViewPrivate):
     83        * UIProcess/API/qt/qtouchwebview.cpp: Added.
     84        (QTouchWebViewPrivate::QTouchWebViewPrivate):
     85        (QTouchWebView::QTouchWebView):
     86        (QTouchWebView::~QTouchWebView):
     87        (QTouchWebView::page):
     88        * UIProcess/API/qt/qtouchwebview.h: Added.
     89        * UIProcess/API/qt/qtouchwebview_p.h: Added.
     90        * UIProcess/API/qt/qwkpage.cpp: Removed.
     91        * UIProcess/API/qt/qwkpage.h: Removed.
     92        * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Added.
     93        * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Added.
     94        (tst_CommonViewTests::init):
     95        (tst_CommonViewTests::cleanup):
     96        (tst_CommonViewTests::baseUrl):
     97        (tst_CommonViewTests::loadEmptyUrl):
     98        (tst_CommonViewTests::loadEmptyPageViewVisible):
     99        (tst_CommonViewTests::loadEmptyPageViewHidden):
     100        (tst_CommonViewTests::show):
     101        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Added.
     102        (WebViewAbstraction::WebViewAbstraction):
     103        (WebViewAbstraction::show):
     104        (WebViewAbstraction::hide):
     105        (WebViewAbstraction::load):
     106        (WebViewAbstraction::url):
     107        (WebViewAbstraction::touchViewLoadStarted):
     108        (WebViewAbstraction::desktopViewLoadStarted):
     109        (WebViewAbstraction::touchViewLoadSucceeded):
     110        (WebViewAbstraction::desktopViewLoadSucceeded):
     111        (WebViewAbstraction::touchWebView):
     112        (WebViewAbstraction::desktopWebView):
     113        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Copied from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp.
     114        * UIProcess/API/qt/tests/html/a.htm: Removed.
     115        * UIProcess/API/qt/tests/html/b.htm: Removed.
     116        * UIProcess/API/qt/tests/html/c.htm: Removed.
     117        * UIProcess/API/qt/tests/html/d.htm: Removed.
     118        * UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro.
     119        * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp.
     120        (tst_QDesktopWebView::init):
     121        (tst_QDesktopWebView::cleanup):
     122        (tst_QDesktopWebView::webView):
     123        * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: Removed.
     124        * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkhistory/qwkhistory.pro.
     125        * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Added.
     126        (tst_QTouchWebView::tst_QTouchWebView):
     127        (tst_QTouchWebView::init):
     128        (tst_QTouchWebView::cleanup):
     129        (tst_QTouchWebView::webView):
     130        (tst_QTouchWebView::accessPage):
     131        * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp: Removed.
     132        * UIProcess/API/qt/tests/qwkpage/qwkpage.pro: Removed.
     133        * UIProcess/API/qt/tests/tests.pro:
     134        * UIProcess/API/qt/tests/testwindow.h: Added.
     135        (TestWindow::TestWindow):
     136        (TestWindow::resizeEvent):
     137        * UIProcess/TiledDrawingAreaProxy.cpp:
     138        * UIProcess/TiledDrawingAreaProxy.h:
     139        * UIProcess/WebFullScreenManagerProxy.h:
     140        * UIProcess/qt/ClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.cpp.
     141        (toQWKContext):
     142        (toQtWebPageProxy):
     143        (loadFinished):
     144        (qt_wk_didStartProvisionalLoadForFrame):
     145        (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
     146        (qt_wk_didFailProvisionalLoadWithErrorForFrame):
     147        (qt_wk_didCommitLoadForFrame):
     148        (qt_wk_didFinishDocumentLoadForFrame):
     149        (qt_wk_didFinishLoadForFrame):
     150        (qt_wk_didFailLoadWithErrorForFrame):
     151        (qt_wk_didReceiveTitleForFrame):
     152        (qt_wk_didFirstLayoutForFrame):
     153        (qt_wk_didRemoveFrameFromHierarchy):
     154        (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
     155        (qt_wk_didStartProgress):
     156        (qt_wk_didChangeProgress):
     157        (qt_wk_didFinishProgress):
     158        (qt_wk_didBecomeUnresponsive):
     159        (qt_wk_didBecomeResponsive):
     160        (qt_wk_createNewPage):
     161        (qt_wk_showPage):
     162        (qt_wk_close):
     163        (qt_wk_takeFocus):
     164        (qt_wk_runJavaScriptAlert):
     165        (qt_wk_setStatusText):
     166        (qt_wk_didSameDocumentNavigationForFrame):
     167        (qt_wk_didChangeIconForPageURL):
     168        (qt_wk_didRemoveAllIcons):
     169        * UIProcess/qt/ClientImpl.h: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.h.
     170        * UIProcess/qt/QtWebPageProxy.cpp: Added.
     171        (defaultWKContext):
     172        (contextMenuActionForWebAction):
     173        (dragOperationToDropActions):
     174        (dropActionToDragOperation):
     175        (QtWebPageProxy::QtWebPageProxy):
     176        (QtWebPageProxy::init):
     177        (QtWebPageProxy::~QtWebPageProxy):
     178        (QtWebPageProxy::handleEvent):
     179        (QtWebPageProxy::handleKeyPressEvent):
     180        (QtWebPageProxy::handleKeyReleaseEvent):
     181        (QtWebPageProxy::handleFocusInEvent):
     182        (QtWebPageProxy::handleFocusOutEvent):
     183        (QtWebPageProxy::setCursor):
     184        (QtWebPageProxy::setViewNeedsDisplay):
     185        (QtWebPageProxy::displayView):
     186        (QtWebPageProxy::scrollView):
     187        (QtWebPageProxy::viewSize):
     188        (QtWebPageProxy::isViewWindowActive):
     189        (QtWebPageProxy::isViewFocused):
     190        (QtWebPageProxy::isViewVisible):
     191        (QtWebPageProxy::isViewInWindow):
     192        (QtWebPageProxy::enterAcceleratedCompositingMode):
     193        (QtWebPageProxy::exitAcceleratedCompositingMode):
     194        (QtWebPageProxy::pageDidRequestScroll):
     195        (QtWebPageProxy::didChangeContentsSize):
     196        (QtWebPageProxy::toolTipChanged):
     197        (QtWebPageProxy::registerEditCommand):
     198        (QtWebPageProxy::clearAllEditCommands):
     199        (QtWebPageProxy::canUndoRedo):
     200        (QtWebPageProxy::executeUndoRedo):
     201        (QtWebPageProxy::convertToDeviceSpace):
     202        (QtWebPageProxy::screenToWindow):
     203        (QtWebPageProxy::windowToScreen):
     204        (QtWebPageProxy::convertToUserSpace):
     205        (QtWebPageProxy::selectionChanged):
     206        (QtWebPageProxy::doneWithKeyEvent):
     207        (QtWebPageProxy::createPopupMenuProxy):
     208        (QtWebPageProxy::createContextMenuProxy):
     209        (QtWebPageProxy::setFindIndicator):
     210        (QtWebPageProxy::didCommitLoadForMainFrame):
     211        (QtWebPageProxy::didFinishLoadingDataForCustomRepresentation):
     212        (QtWebPageProxy::flashBackingStoreUpdates):
     213        (QtWebPageProxy::pageRef):
     214        (QtWebPageProxy::didChangeUrl):
     215        (QtWebPageProxy::didChangeTitle):
     216        (QtWebPageProxy::didChangeStatusText):
     217        (QtWebPageProxy::showContextMenu):
     218        (QtWebPageProxy::hideContextMenu):
     219        (QtWebPageProxy::loadDidBegin):
     220        (QtWebPageProxy::loadDidSucceed):
     221        (QtWebPageProxy::didChangeLoadProgress):
     222        (QtWebPageProxy::paint):
     223        (QtWebPageProxy::updateAction):
     224        (QtWebPageProxy::updateNavigationActions):
     225        (QtWebPageProxy::webActionTriggered):
     226        (QtWebPageProxy::didRelaunchProcess):
     227        (QtWebPageProxy::processDidCrash):
     228        (QtWebPageProxy::setActualVisibleContentsRect):
     229        (QtWebPageProxy::preferences):
     230        (QtWebPageProxy::setCreateNewPageFunction):
     231        (QtWebPageProxy::setCustomUserAgent):
     232        (QtWebPageProxy::customUserAgent):
     233        (QtWebPageProxy::load):
     234        (QtWebPageProxy::url):
     235        (QtWebPageProxy::title):
     236        (QtWebPageProxy::setDrawingAreaSize):
     237        (QtWebPageProxy::textZoomFactor):
     238        (QtWebPageProxy::setTextZoomFactor):
     239        (QtWebPageProxy::pageZoomFactor):
     240        (QtWebPageProxy::setPageZoomFactor):
     241        (QtWebPageProxy::setPageAndTextZoomFactors):
     242        (QtWebPageProxy::history):
     243        (QtWebPageProxy::setResizesToContentsUsingLayoutSize):
     244        (QtWebPageProxy::triggerAction):
     245        (QtWebPageProxy::action):
     246        (QtWebPageProxy::findZoomableAreaForPoint):
     247        (QtWebPageProxy::didFindZoomableArea):
     248        (QtWebPageProxy::startDrag):
     249        (QtWebPageProxy::viewportVisibleRect):
     250        (QtWebPageProxy::isConnectedToEngine):
     251        (QtWebPageProxy::setPageIsVisible):
     252        * UIProcess/qt/QtWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpage_p.h.
     253        (QtWebPageProxy::pageClosed):
     254        (QtWebPageProxy::customRepresentationZoomFactor):
     255        (QtWebPageProxy::setCustomRepresentationZoomFactor):
     256        (QtWebPageProxy::didChangeScrollbarsForMainFrame):
     257        (QtWebPageProxy::findStringInCustomRepresentation):
     258        (QtWebPageProxy::countStringMatchesInCustomRepresentation):
     259        (QtWebPageProxy::userSpaceScaleFactor):
     260        (QtWebPageProxy::createNewPageFunction):
     261        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
     262        (WebKit::TiledDrawingAreaProxy::page):
     263        * UIProcess/qt/TouchViewInterface.cpp: Added.
     264        (WebKit::TouchViewInterface::TouchViewInterface):
     265        (WebKit::TouchViewInterface::setViewNeedsDisplay):
     266        (WebKit::TouchViewInterface::drawingAreaSize):
     267        (WebKit::TouchViewInterface::contentSizeChanged):
     268        (WebKit::TouchViewInterface::isActive):
     269        (WebKit::TouchViewInterface::hasFocus):
     270        (WebKit::TouchViewInterface::isVisible):
     271        (WebKit::TouchViewInterface::startDrag):
     272        (WebKit::TouchViewInterface::didChangeUrl):
     273        (WebKit::TouchViewInterface::didChangeTitle):
     274        (WebKit::TouchViewInterface::didChangeToolTip):
     275        (WebKit::TouchViewInterface::didChangeStatusText):
     276        (WebKit::TouchViewInterface::didChangeCursor):
     277        (WebKit::TouchViewInterface::loadDidBegin):
     278        (WebKit::TouchViewInterface::loadDidSucceed):
     279        (WebKit::TouchViewInterface::didChangeLoadProgress):
     280        (WebKit::TouchViewInterface::showContextMenu):
     281        (WebKit::TouchViewInterface::hideContextMenu):
     282        * UIProcess/qt/TouchViewInterface.h: Added.
     283        (WebKit::TouchViewInterface::pageView):
     284        * UIProcess/qt/ViewInterface.cpp: Added.
     285        (WebKit::ViewInterface::ownerWidget):
     286        * UIProcess/qt/ViewInterface.h: Added.
     287        * UIProcess/qt/WebContextMenuProxyQt.cpp:
     288        (WebKit::webActionForContextMenuAction):
     289        (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
     290        (WebKit::WebContextMenuProxyQt::create):
     291        (WebKit::WebContextMenuProxyQt::showContextMenu):
     292        (WebKit::WebContextMenuProxyQt::hideContextMenu):
     293        (WebKit::WebContextMenuProxyQt::createContextMenu):
     294        * UIProcess/qt/WebContextMenuProxyQt.h:
     295        * UIProcess/qt/qdesktopwebpageproxy.cpp: Added.
     296        (dragOperationToDropAction):
     297        (QDesktopWebPageProxy::QDesktopWebPageProxy):
     298        (QDesktopWebPageProxy::createDrawingAreaProxy):
     299        (QDesktopWebPageProxy::paintContent):
     300        (QDesktopWebPageProxy::setViewportArguments):
     301        (QDesktopWebPageProxy::handleEvent):
     302        (QDesktopWebPageProxy::handleMouseMoveEvent):
     303        (QDesktopWebPageProxy::handleMousePressEvent):
     304        (QDesktopWebPageProxy::handleMouseReleaseEvent):
     305        (QDesktopWebPageProxy::handleMouseDoubleClickEvent):
     306        (QDesktopWebPageProxy::handleWheelEvent):
     307        (QDesktopWebPageProxy::handleHoverMoveEvent):
     308        (QDesktopWebPageProxy::handleDragEnterEvent):
     309        (QDesktopWebPageProxy::handleDragLeaveEvent):
     310        (QDesktopWebPageProxy::handleDragMoveEvent):
     311        (QDesktopWebPageProxy::handleDropEvent):
     312        (QDesktopWebPageProxy::timerEvent):
     313        * UIProcess/qt/qdesktopwebpageproxy.h: Added.
     314        * UIProcess/qt/qtouchwebpageproxy.cpp: Added.
     315        (QTouchWebPageProxy::QTouchWebPageProxy):
     316        (QTouchWebPageProxy::createDrawingAreaProxy):
     317        (QTouchWebPageProxy::paintContent):
     318        (QTouchWebPageProxy::setViewportArguments):
     319        (QTouchWebPageProxy::handleEvent):
     320        (QTouchWebPageProxy::touchEvent):
     321        * UIProcess/qt/qtouchwebpageproxy.h: Added.
     322        (QTouchWebPageProxy::touchViewInterface):
     323        (QTouchWebPageProxy::pageView):
     324        * UIProcess/qt/qwkcontext.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.cpp.
     325        (initializePlatformStrategiesIfNeeded):
     326        (QWKContextPrivate::QWKContextPrivate):
     327        (QWKContextPrivate::~QWKContextPrivate):
     328        (QWKContext::QWKContext):
     329        (QWKContext::~QWKContext):
     330        (QWKContext::setIconDatabasePath):
     331        (QWKContext::iconForPageURL):
     332        * UIProcess/qt/qwkcontext.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.h.
     333        * UIProcess/qt/qwkcontext_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext_p.h.
     334        * UIProcess/qt/qwkhistory.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.cpp.
     335        (QWKHistoryItemPrivate::QWKHistoryItemPrivate):
     336        (QWKHistoryItemPrivate::~QWKHistoryItemPrivate):
     337        (QWKHistoryItem::QWKHistoryItem):
     338        (QWKHistoryItem::QWKHistoryItem::operator=):
     339        (QWKHistoryItem::~QWKHistoryItem):
     340        (QWKHistoryItem::title):
     341        (QWKHistoryItem::url):
     342        (QWKHistoryPrivate::QWKHistoryPrivate):
     343        (QWKHistoryPrivate::createHistory):
     344        (QWKHistoryPrivate::~QWKHistoryPrivate):
     345        (QWKHistory::QWKHistory):
     346        (QWKHistory::~QWKHistory):
     347        (QWKHistory::backListCount):
     348        (QWKHistory::forwardListCount):
     349        (QWKHistory::count):
     350        (QWKHistory::currentItem):
     351        (QWKHistory::backItem):
     352        (QWKHistory::forwardItem):
     353        (QWKHistory::itemAt):
     354        (QWKHistory::goToItemAt):
     355        (QWKHistory::backItems):
     356        (QWKHistory::forwardItems):
     357        * UIProcess/qt/qwkhistory.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.h.
     358        * UIProcess/qt/qwkhistory_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory_p.h.
     359        * UIProcess/qt/qwkpreferences.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp.
     360        (QWKPreferencesPrivate::createPreferences):
     361        (QWKPreferencesPrivate::createSharedPreferences):
     362        (QWKPreferences::sharedPreferences):
     363        (QWKPreferences::QWKPreferences):
     364        (QWKPreferences::~QWKPreferences):
     365        (QWKPreferences::setFontFamily):
     366        (QWKPreferences::fontFamily):
     367        (QWKPreferences::testAttribute):
     368        (QWKPreferences::setAttribute):
     369        (QWKPreferences::setFontSize):
     370        (QWKPreferences::fontSize):
     371        * UIProcess/qt/qwkpreferences.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.h.
     372        * UIProcess/qt/qwkpreferences_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences_p.h.
     373        * WebKit2.pro:
     374        * WebKit2API.pri:
     375        * WebProcess/WebPage/TiledDrawingArea.cpp:
     376        * WebProcess/WebPage/TiledDrawingArea.h:
     377
    13782011-07-05  Jeff Miller  <jeffm@apple.com>
    2379
  • trunk/Source/WebKit2/UIProcess/API/qt/WKView.h

    r83297 r90458  
    2121#define WKView_h
    2222
    23 #include <WebKit2/qgraphicswkview.h>
    24 #include <WebKit2/qwkcontext.h>
    25 #include <WebKit2/qwkhistory.h>
    26 #include <WebKit2/qwkpage.h>
    27 #include <WebKit2/qwkpreferences.h>
     23#include <WebKit2/qdesktopwebview.h>
     24#include <WebKit2/qtouchwebview.h>
     25#include <WebKit2/qtouchwebpage.h>
    2826
    2927#endif /* WKView_h */
  • trunk/Source/WebKit2/UIProcess/API/qt/tests/tests.pro

    r87727 r90458  
    11TEMPLATE = subdirs
    2 SUBDIRS = qgraphicswkview qwkpage qwkhistory
     2SUBDIRS = qtouchwebview qdesktopwebview commonviewtests
  • trunk/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp

    r89803 r90458  
    175175}
    176176
    177 void TiledDrawingAreaProxy::takeSnapshot(const IntSize& size, const IntRect& contentsRect)
    178 {
    179     WebPageProxy* page = this->page();
    180     page->process()->send(Messages::DrawingArea::TakeSnapshot(size, contentsRect), page->pageID());
    181 }
    182 
    183177void TiledDrawingAreaProxy::invalidate(const IntRect& contentsDirtyRect)
    184178{
  • trunk/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.h

    r88463 r90458  
    4545#endif
    4646#elif PLATFORM(QT)
    47 class QGraphicsWKView;
     47class QTouchWebPage;
    4848#include <QImage>
    4949#endif
     
    6060typedef WebView PlatformWebView;
    6161#elif PLATFORM(QT)
    62 typedef QGraphicsWKView PlatformWebView;
     62typedef QTouchWebPage PlatformWebView;
    6363#endif
    6464
     
    7272    float contentsScale() const { return m_contentsScale; }
    7373    void setContentsScale(float);
    74 
    75     void takeSnapshot(const WebCore::IntSize& size, const WebCore::IntRect& contentsRect);
    7674
    7775#if USE(ACCELERATED_COMPOSITING)
     
    107105    WebCore::IntRect webViewVisibleRect();
    108106    void updateWebView(const Vector<WebCore::IntRect>& paintedArea);
    109 
    110     void snapshotTaken(ShareableBitmap*);
    111107
    112108    // DrawingAreaProxy
  • trunk/Source/WebKit2/UIProcess/WebFullScreenManagerProxy.h

    r87839 r90458  
    5555typedef WebView PlatformWebView;
    5656#elif PLATFORM(QT)
    57 typedef QGraphicsWKView PlatformWebView;
     57// FIXME: We need to investigate how to abstract QDesktopWebView/QTouchWebView here.
     58typedef QObject PlatformWebView;
    5859#elif PLATFORM(GTK)
    5960class WebView;
  • trunk/Source/WebKit2/UIProcess/qt/TiledDrawingAreaProxyQt.cpp

    r88463 r90458  
    3333#include "WebPageProxy.h"
    3434
    35 #include "qgraphicswkview.h"
     35#include "qtouchwebpage.h"
    3636
    3737using namespace WebCore;
     
    5858WebPageProxy* TiledDrawingAreaProxy::page()
    5959{
    60     return toImpl(m_webView->page()->pageRef());
    61 }
    62 
    63 void TiledDrawingAreaProxy::snapshotTaken(ShareableBitmap* bitmap)
    64 {
    65     emit m_webView->snapshotTaken(bitmap->createQImage());
     60    return m_webPageProxy;
    6661}
    6762
  • trunk/Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.cpp

    r85603 r90458  
    3232#include <WebContextMenuItemData.h>
    3333#include <qmenu.h>
    34 #include <qwkpage.h>
     34#include <QtWebPageProxy.h>
    3535
    3636using namespace WebCore;
     
    3838namespace WebKit {
    3939
    40 static QWKPage::WebAction webActionForContextMenuAction(WebCore::ContextMenuAction action)
     40static QtWebPageProxy::WebAction webActionForContextMenuAction(WebCore::ContextMenuAction action)
    4141{
    4242    switch (action) {
    4343    case WebCore::ContextMenuItemTagOpenLink:
    44         return QWKPage::OpenLink;
     44        return QtWebPageProxy::OpenLink;
    4545    case WebCore::ContextMenuItemTagOpenLinkInNewWindow:
    46         return QWKPage::OpenLinkInNewWindow;
     46        return QtWebPageProxy::OpenLinkInNewWindow;
    4747    case WebCore::ContextMenuItemTagCopyLinkToClipboard:
    48         return QWKPage::CopyLinkToClipboard;
     48        return QtWebPageProxy::CopyLinkToClipboard;
    4949    case WebCore::ContextMenuItemTagOpenImageInNewWindow:
    50         return QWKPage::OpenImageInNewWindow;
     50        return QtWebPageProxy::OpenImageInNewWindow;
    5151    case WebCore::ContextMenuItemTagGoBack:
    52         return QWKPage::Back;
     52        return QtWebPageProxy::Back;
    5353    case WebCore::ContextMenuItemTagGoForward:
    54         return QWKPage::Forward;
     54        return QtWebPageProxy::Forward;
    5555    case WebCore::ContextMenuItemTagStop:
    56         return QWKPage::Stop;
     56        return QtWebPageProxy::Stop;
    5757    case WebCore::ContextMenuItemTagReload:
    58         return QWKPage::Reload;
     58        return QtWebPageProxy::Reload;
    5959    case WebCore::ContextMenuItemTagCut:
    60         return QWKPage::Cut;
     60        return QtWebPageProxy::Cut;
    6161    case WebCore::ContextMenuItemTagCopy:
    62         return QWKPage::Copy;
     62        return QtWebPageProxy::Copy;
    6363    case WebCore::ContextMenuItemTagPaste:
    64         return QWKPage::Paste;
     64        return QtWebPageProxy::Paste;
    6565    case WebCore::ContextMenuItemTagSelectAll:
    66         return QWKPage::SelectAll;
     66        return QtWebPageProxy::SelectAll;
    6767    default:
    6868        break;
    6969    }
    70     return QWKPage::NoWebAction;
     70    return QtWebPageProxy::NoWebAction;
    7171}
    7272
    73 WebContextMenuProxyQt::WebContextMenuProxyQt(QWKPage* page)
     73WebContextMenuProxyQt::WebContextMenuProxyQt(QtWebPageProxy* page)
    7474    : m_page(page)
    7575{
    7676}
    7777
    78 PassRefPtr<WebContextMenuProxyQt> WebContextMenuProxyQt::create(QWKPage* page)
     78PassRefPtr<WebContextMenuProxyQt> WebContextMenuProxyQt::create(QtWebPageProxy* page)
    7979{
    8080    return adoptRef(new WebContextMenuProxyQt(page));
     
    8888    OwnPtr<QMenu> menu = createContextMenu(items);
    8989
    90     // We send the signal, even with no items, because the client should be able to show custom items
    91     // even if WebKit has nothing to show.
     90    // We call showContextMenu(), even with no items, because the client should be able to show custom items
     91    // if WebKit has nothing to show.
    9292    if (!menu)
    9393        menu = adoptPtr(new QMenu);
    9494
    9595    menu->move(position);
    96     emit m_page->showContextMenu(QSharedPointer<QMenu>(menu.leakPtr()));
     96    m_page->showContextMenu(QSharedPointer<QMenu>(menu.leakPtr()));
    9797}
    9898
    9999void WebContextMenuProxyQt::hideContextMenu()
    100100{
     101    m_page->hideContextMenu();
    101102}
    102103
     
    109110        case WebCore::CheckableActionType: /* fall through */
    110111        case WebCore::ActionType: {
    111             QWKPage::WebAction action = webActionForContextMenuAction(item.action());
     112            QtWebPageProxy::WebAction action = webActionForContextMenuAction(item.action());
    112113            QAction* qtAction = m_page->action(action);
    113114            if (qtAction) {
  • trunk/Source/WebKit2/UIProcess/qt/WebContextMenuProxyQt.h

    r79316 r90458  
    3232
    3333class QMenu;
    34 class QWKPage;
     34class QtWebPageProxy;
    3535class WebContextMenuItemData;
    3636
     
    3939class WebContextMenuProxyQt : public WebContextMenuProxy {
    4040public:
    41     static PassRefPtr<WebContextMenuProxyQt> create(QWKPage*);
     41    static PassRefPtr<WebContextMenuProxyQt> create(QtWebPageProxy*);
    4242
    4343private:
    44     WebContextMenuProxyQt(QWKPage*);
     44    WebContextMenuProxyQt(QtWebPageProxy*);
    4545
    4646    virtual void showContextMenu(const WebCore::IntPoint&, const Vector<WebContextMenuItemData>&);
     
    4949    PassOwnPtr<QMenu> createContextMenu(const Vector<WebContextMenuItemData>& items) const;
    5050
    51     QWKPage* const m_page;
     51    QtWebPageProxy* const m_page;
    5252};
    5353
  • trunk/Source/WebKit2/WebKit2.pro

    r90162 r90458  
    235235    UIProcess/WebResourceLoadClient.h \
    236236    UIProcess/WebUIClient.h \
     237    UIProcess/qt/ClientImpl.h \
     238    UIProcess/qt/TouchViewInterface.h \
     239    UIProcess/qt/qdesktopwebpageproxy.h \
     240    UIProcess/qt/qtouchwebpageproxy.h \
     241    UIProcess/qt/QtWebPageProxy.h \
     242    UIProcess/qt/qwkcontext.h \
     243    UIProcess/qt/qwkcontext_p.h \
     244    UIProcess/qt/qwkhistory.h \
     245    UIProcess/qt/qwkhistory_p.h \
     246    UIProcess/qt/qwkpreferences.h \
     247    UIProcess/qt/qwkpreferences_p.h \
     248    UIProcess/qt/ViewInterface.h \
    237249    UIProcess/qt/WebUndoCommandQt.h \
    238250    UIProcess/qt/WebContextMenuProxyQt.h \
     
    452464    UIProcess/WebResourceLoadClient.cpp \
    453465    UIProcess/WebUIClient.cpp \
     466    UIProcess/qt/ClientImpl.cpp \
     467    UIProcess/qt/TouchViewInterface.cpp \
     468    UIProcess/qt/qdesktopwebpageproxy.cpp \
     469    UIProcess/qt/qtouchwebpageproxy.cpp \
     470    UIProcess/qt/QtWebPageProxy.cpp \
     471    UIProcess/qt/qwkcontext.cpp \
     472    UIProcess/qt/qwkhistory.cpp \
     473    UIProcess/qt/qwkpreferences.cpp \
     474    UIProcess/qt/ViewInterface.cpp \
    454475    UIProcess/qt/TiledDrawingAreaProxyQt.cpp \
    455476    UIProcess/qt/TiledDrawingAreaTileQt.cpp \
  • trunk/Source/WebKit2/WebKit2API.pri

    r86694 r90458  
    4545    $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt/WKStringQt.cpp \
    4646    $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt/WKURLQt.cpp \
    47     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/ClientImpl.cpp \
    48     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qgraphicswkview.cpp \
    49     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkcontext.cpp \
    50     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkhistory.cpp \
    51     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpage.cpp \
    52     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpreferences.cpp \
     47    $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qdesktopwebview.cpp \
     48    $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qtouchwebpage.cpp \
     49    $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qtouchwebview.cpp \
    5350    $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp \
    5451    $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp \
     
    123120    $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt/WKStringQt.h \
    124121    $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt/WKURLQt.h \
    125     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/ClientImpl.h \
    126     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qgraphicswkview.h \
    127     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkcontext.h \
    128     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkcontext_p.h \
    129     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkhistory.h \
    130     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkhistory_p.h \
    131     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpage.h \
    132     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpage_p.h \
    133     $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpreferences.h \
     122    $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qdesktopwebview.h \
     123    $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qdesktopwebview_p.h \
     124    $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qtouchwebpage.h \
     125    $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h \
     126    $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qtouchwebview.h \
     127    $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qtouchwebview_p.h \
    134128    $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h \
    135129    $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h \
  • trunk/Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.cpp

    r88463 r90458  
    205205}
    206206
    207 void TiledDrawingArea::takeSnapshot(const WebCore::IntSize& targetSize, const WebCore::IntRect& contentsRect)
    208 {
    209     m_webPage->layoutIfNeeded();
    210 
    211     WebCore::IntRect rect(contentsRect);
    212     rect.intersect(IntRect(IntPoint::zero(), m_webPage->mainFrame()->coreFrame()->view()->contentsSize()));
    213 
    214     float targetScale = float(targetSize.width()) / rect.width();
    215     IntRect tileRect(IntPoint(rect.x() * targetScale, rect.y() * targetScale), targetSize);
    216 
    217     UpdateInfo updateInfo;
    218     updateInfo.updateRectBounds = tileRect;
    219     RefPtr<ShareableBitmap> bitmap = ShareableBitmap::createShareable(tileRect.size(), ShareableBitmap::SupportsAlpha);
    220     bitmap->createHandle(updateInfo.bitmapHandle);
    221 
    222     paintIntoBitmap(bitmap.get(), tileRect, targetScale);
    223     m_webPage->send(Messages::DrawingAreaProxy::SnapshotTaken(updateInfo));
    224 }
    225 
    226207} // namespace WebKit
    227208
  • trunk/Source/WebKit2/WebProcess/WebPage/TiledDrawingArea.h

    r88463 r90458  
    6565    virtual void cancelTileUpdate(int tileID);
    6666    virtual void requestTileUpdate(int tileID, const WebCore::IntRect& dirtyRect, float scale);
    67     virtual void takeSnapshot(const WebCore::IntSize& targetSize, const WebCore::IntRect& contentsRect);
    6867
    6968    // Platform overrides
  • trunk/Tools/ChangeLog

    r90449 r90458  
     12011-07-06  Andreas Kling  <kling@webkit.org>
     2
     3        [Qt][WK2] Split Qt API into two different web views (touch and desktop)
     4        https://bugs.webkit.org/show_bug.cgi?id=63950
     5
     6        Co-authored with Benjamin Poulain <benjamin@webkit.org>.
     7
     8        Reviewed by Kenneth Rohde Christiansen.
     9
     10        Port WTR/Qt to use QDesktopWebView and force a 800x600 viewport.
     11
     12        The Qt MiniBrowser now defaults to QDesktopWebView but can be started
     13        in QTouchWebView mode by passing -touch on the command line.
     14
     15        A lot of functionality has been removed and/or disabled from
     16        MiniBrowser until we reintroduce the necessary API's.
     17
     18        * MiniBrowser/qt/BrowserView.cpp:
     19        (BrowserView::BrowserView):
     20        (BrowserView::~BrowserView):
     21        (BrowserView::load):
     22        (BrowserView::view):
     23        (BrowserView::touchWebView):
     24        (BrowserView::desktopWebView):
     25        * MiniBrowser/qt/BrowserView.h:
     26        * MiniBrowser/qt/BrowserWindow.cpp:
     27        (newPageFunction):
     28        (BrowserWindow::BrowserWindow):
     29        (BrowserWindow::webView):
     30        (BrowserWindow::newWindow):
     31        (BrowserWindow::showUserAgentDialog):
     32        (BrowserWindow::updateUserAgentList):
     33        * MiniBrowser/qt/BrowserWindow.h:
     34        * MiniBrowser/qt/MiniBrowserApplication.cpp:
     35        (MiniBrowserApplication::handleUserOptions):
     36        * MiniBrowser/qt/MiniBrowserApplication.h:
     37        (WindowOptions::WindowOptions):
     38        * MiniBrowser/qt/UrlLoader.cpp:
     39        (UrlLoader::UrlLoader):
     40        * MiniBrowser/qt/main.cpp:
     41        (main):
     42        * WebKitTestRunner/qt/PlatformWebViewQt.cpp:
     43        (WTR::WebView::wkView):
     44        (WTR::WebView::pageRef):
     45        (WTR::WebView::WebView):
     46        (WTR::PlatformWebView::page):
     47        (WTR::PlatformWebView::windowFrame):
     48        (WTR::PlatformWebView::setWindowFrame):
     49
    1502011-07-06  Eric Seidel  <eric@webkit.org>
    251
  • trunk/Tools/MiniBrowser/qt/BrowserView.cpp

    r77767 r90458  
    3030
    3131#include <QGraphicsScene>
     32#include <qdesktopwebview.h>
     33#include <qtouchwebview.h>
     34#include <qtouchwebpage.h>
    3235
    33 BrowserView::BrowserView(QGraphicsWKView::BackingStoreType backingStoreType, QWKContext* context, QWidget* parent)
     36BrowserView::BrowserView(bool useTouchWebView, QWidget* parent)
    3437    : QGraphicsView(parent)
    3538    , m_item(0)
    3639{
    37     m_item = new QGraphicsWKView(context, backingStoreType, 0);
     40    if (useTouchWebView)
     41        m_item = new QTouchWebView;
     42    else
     43        m_item = new QDesktopWebView;
     44
    3845    setScene(new QGraphicsScene(this));
    3946    scene()->addItem(m_item);
     
    4249    setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    4350    setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     51}
     52
     53BrowserView::~BrowserView()
     54{
     55    delete m_item;
     56    m_item = 0;
    4457}
    4558
     
    5265}
    5366
    54 void BrowserView::load(const QString& url)
     67void BrowserView::load(const QString& urlString)
    5568{
    56     return m_item->load(QUrl::fromUserInput(url));
     69    QUrl url(QUrl::fromUserInput(urlString));
     70
     71    if (desktopWebView())
     72        desktopWebView()->load(url);
     73    else if (touchWebView())
     74        touchWebView()->page()->load(url);
    5775}
    5876
    59 QGraphicsWKView* BrowserView::view() const
     77QGraphicsWidget* BrowserView::view() const
    6078{
    6179    return m_item;
    6280}
     81
     82QTouchWebView* BrowserView::touchWebView() const
     83{
     84    return qobject_cast<QTouchWebView*>(m_item);
     85}
     86
     87QDesktopWebView* BrowserView::desktopWebView() const
     88{
     89    return qobject_cast<QDesktopWebView*>(m_item);
     90}
  • trunk/Tools/MiniBrowser/qt/BrowserView.h

    r77253 r90458  
    3131
    3232#include <QGraphicsView>
    33 #include "qgraphicswkview.h"
    34 #include "qwkcontext.h"
     33
     34class QDesktopWebView;
     35class QTouchWebView;
    3536
    3637class BrowserView : public QGraphicsView {
     
    3839
    3940public:
    40     BrowserView(QGraphicsWKView::BackingStoreType, QWKContext*, QWidget* parent = 0);
    41     virtual ~BrowserView() { delete m_item; }
     41    BrowserView(bool useTouchWebView, QWidget* parent = 0);
     42    virtual ~BrowserView();
    4243
    4344    void load(const QString&);
    44     QGraphicsWKView* view() const;
     45    QGraphicsWidget* view() const;
     46
     47    QTouchWebView* touchWebView() const;
     48    QDesktopWebView* desktopWebView() const;
    4549
    4650protected:
     
    4852
    4953private:
    50     QGraphicsWKView* m_item;
     54    QGraphicsWidget* m_item;
    5155};
    5256
  • trunk/Tools/MiniBrowser/qt/BrowserWindow.cpp

    r89139 r90458  
    3030
    3131#include "UrlLoader.h"
    32 #include "qwkpreferences.h"
     32#include "qdesktopwebview.h"
     33#include "qtouchwebview.h"
     34#include "qtouchwebpage.h"
    3335
    3436#if defined(QT_CONFIGURED_WITH_OPENGL)
     
    3638#endif
    3739
     40#if 0
     41// FIXME
    3842static QWKPage* newPageFunction(QWKPage* page)
    3943{
    40     BrowserWindow* window = new BrowserWindow(page->context());
     44    BrowserWindow* window = new BrowserWindow();
    4145    return window->page();
    4246}
    43 
    44 QVector<qreal> BrowserWindow::m_zoomLevels;
    45 
    46 BrowserWindow::BrowserWindow(QWKContext* context, WindowOptions* options)
    47     : m_isZoomTextOnly(false)
    48     , m_currentZoom(1)
    49     , m_urlLoader(0)
    50     , m_context(context)
     47#endif
     48
     49BrowserWindow::BrowserWindow(WindowOptions* options)
     50    : m_urlLoader(0)
     51    , m_browser(0)
    5152{
    5253    if (options)
     
    5758    }
    5859
    59     if (m_windowOptions.useTiledBackingStore)
    60         m_browser = new BrowserView(QGraphicsWKView::Tiled, context);
    61     else
    62         m_browser = new BrowserView(QGraphicsWKView::Simple, context);
     60    m_browser = new BrowserView(m_windowOptions.useTouchWebView);
    6361
    6462#if defined(QT_CONFIGURED_WITH_OPENGL)
     
    6967    setAttribute(Qt::WA_DeleteOnClose);
    7068
    71     connect(m_browser->view(), SIGNAL(loadProgress(int)), SLOT(loadProgress(int)));
    72     connect(m_browser->view(), SIGNAL(titleChanged(const QString&)), SLOT(setWindowTitle(const QString&)));
    73     connect(m_browser->view(), SIGNAL(urlChanged(const QUrl&)), SLOT(urlChanged(const QUrl&)));
     69    connect(webView(), SIGNAL(loadProgress(int)), SLOT(loadProgress(int)));
     70    connect(webView(), SIGNAL(titleChanged(QString)), SLOT(setWindowTitle(QString)));
     71    connect(webView(), SIGNAL(urlChanged(QUrl)), SLOT(urlChanged(QUrl)));
    7472
    7573    if (m_windowOptions.printLoadedUrls)
    76         connect(page(), SIGNAL(urlChanged(QUrl)), this, SLOT(printURL(QUrl)));
     74        connect(webView(), SIGNAL(urlChanged(QUrl)), this, SLOT(printURL(QUrl)));
     75
     76    if (QDesktopWebView* const desktopWebView = m_browser->desktopWebView())
     77        connect(desktopWebView, SIGNAL(statusBarMessageChanged(QString)), statusBar(), SLOT(showMessage(QString)));
    7778
    7879    this->setCentralWidget(m_browser);
     
    8586    fileMenu->addAction("Quit", this, SLOT(close()));
    8687
     88#if 0
    8789    QMenu* editMenu = menuBar()->addMenu("&Edit");
    8890    QAction* undo = page()->action(QWKPage::Undo);
     
    98100    viewMenu->addAction(page()->action(QWKPage::Reload));
    99101    viewMenu->addSeparator();
    100     QAction* zoomIn = viewMenu->addAction("Zoom &In", this, SLOT(zoomIn()));
    101     QAction* zoomOut = viewMenu->addAction("Zoom &Out", this, SLOT(zoomOut()));
    102     QAction* resetZoom = viewMenu->addAction("Reset Zoom", this, SLOT(resetZoom()));
    103     QAction* zoomText = viewMenu->addAction("Zoom Text Only", this, SLOT(toggleZoomTextOnly(bool)));
    104     zoomText->setCheckable(true);
    105     zoomText->setChecked(false);
    106     viewMenu->addSeparator();
    107102    viewMenu->addAction("Take Screen Shot...", this, SLOT(screenshot()));
    108 
    109     zoomIn->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Plus));
    110     zoomOut->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Minus));
    111     resetZoom->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_0));
     103#endif
    112104
    113105    QMenu* windowMenu = menuBar()->addMenu("&Window");
     
    122114
    123115    QMenu* toolsMenu = menuBar()->addMenu("&Develop");
    124     QAction* toggleFrameFlattening = toolsMenu->addAction("Toggle Frame Flattening", this, SLOT(toggleFrameFlattening(bool)));
    125     toggleFrameFlattening->setCheckable(true);
    126     toggleFrameFlattening->setChecked(false);
    127116#if defined(QT_CONFIGURED_WITH_OPENGL)
    128117    QAction* toggleGLViewport = toolsMenu->addAction("Toggle GL Viewport", this, SLOT(toggleGLViewport(bool)));
     
    135124    toolsMenu->addAction("Load URLs from file", this, SLOT(loadURLListFromFile()));
    136125
    137     QMenu* settingsMenu = menuBar()->addMenu("&Settings");
    138     QAction* toggleAutoLoadImages = settingsMenu->addAction("Disable Auto Load Images", this, SLOT(toggleAutoLoadImages(bool)));
    139     toggleAutoLoadImages->setCheckable(true);
    140     toggleAutoLoadImages->setChecked(false);
    141     QAction* toggleDisableJavaScript = settingsMenu->addAction("Disable JavaScript", this, SLOT(toggleDisableJavaScript(bool)));
    142     toggleDisableJavaScript->setCheckable(true);
    143     toggleDisableJavaScript->setChecked(false);
    144 
    145126    m_addressBar = new QLineEdit();
    146127    connect(m_addressBar, SIGNAL(returnPressed()), SLOT(changeLocation()));
     
    150131    bar->setIconSize(QSize(16, 16));
    151132#endif
     133#if 0
    152134    bar->addAction(page()->action(QWKPage::Back));
    153135    bar->addAction(page()->action(QWKPage::Forward));
    154136    bar->addAction(page()->action(QWKPage::Reload));
    155137    bar->addAction(page()->action(QWKPage::Stop));
     138#endif
    156139#if defined(Q_OS_SYMBIAN)
    157140    addToolBarBreak();
     
    164147    connect(selectAddressBar, SIGNAL(activated()), this, SLOT(openLocation()));
    165148
     149#if 0
     150    // FIXME
    166151    page()->setCreateNewPageFunction(newPageFunction);
    167 
    168     // the zoom values are chosen to be like in Mozilla Firefox 3
    169     if (!m_zoomLevels.count()) {
    170         m_zoomLevels << 0.3 << 0.5 << 0.67 << 0.8 << 0.9;
    171         m_zoomLevels << 1;
    172         m_zoomLevels << 1.1 << 1.2 << 1.33 << 1.5 << 1.7 << 2 << 2.4 << 3;
    173     }
     152#endif
    174153
    175154    if (m_windowOptions.startMaximized)
     
    186165}
    187166
    188 QWKPage* BrowserWindow::page()
    189 {
    190     return m_browser->view()->page();
     167QObject* BrowserWindow::webView() const
     168{
     169    return m_browser->touchWebView() ? static_cast<QObject*>(m_browser->touchWebView()->page()) : static_cast<QObject*>(m_browser->desktopWebView());
    191170}
    192171
    193172BrowserWindow* BrowserWindow::newWindow(const QString& url)
    194173{
    195     BrowserWindow* window;
    196     if (m_windowOptions.useSeparateWebProcessPerWindow) {
    197         QWKContext* context = new QWKContext();
    198         window = new BrowserWindow(context);
    199         context->setParent(window);
    200     } else
    201         window = new BrowserWindow(m_context);
    202 
     174    BrowserWindow* window = new BrowserWindow();
    203175    window->load(url);
    204176    return window;
     
    290262}
    291263
    292 void BrowserWindow::zoomIn()
    293 {
    294     if (m_isZoomTextOnly)
    295         m_currentZoom = page()->textZoomFactor();
    296     else
    297         m_currentZoom = page()->pageZoomFactor();
    298 
    299     int i = m_zoomLevels.indexOf(m_currentZoom);
    300     Q_ASSERT(i >= 0);
    301     if (i < m_zoomLevels.count() - 1)
    302         m_currentZoom = m_zoomLevels[i + 1];
    303 
    304     applyZoom();
    305 }
    306 
    307 void BrowserWindow::zoomOut()
    308 {
    309     if (m_isZoomTextOnly)
    310         m_currentZoom = page()->textZoomFactor();
    311     else
    312         m_currentZoom = page()->pageZoomFactor();
    313 
    314     int i = m_zoomLevels.indexOf(m_currentZoom);
    315     Q_ASSERT(i >= 0);
    316     if (i > 0)
    317         m_currentZoom = m_zoomLevels[i - 1];
    318 
    319     applyZoom();
    320 }
    321 
    322 void BrowserWindow::resetZoom()
    323 {
    324     m_currentZoom = 1;
    325     applyZoom();
    326 }
    327 
    328 void BrowserWindow::toggleZoomTextOnly(bool b)
    329 {
    330     m_isZoomTextOnly = b;
    331 }
    332 
    333264void BrowserWindow::toggleFullScreenMode(bool enable)
    334265{
     
    338269}
    339270
    340 void BrowserWindow::toggleFrameFlattening(bool toggle)
    341 {
    342     page()->preferences()->setAttribute(QWKPreferences::FrameFlatteningEnabled, toggle);
    343 }
    344 
    345 
    346271void BrowserWindow::showUserAgentDialog()
    347272{
     273#if 0
     274    // FIXME
    348275    updateUserAgentList();
    349276
     
    371298    if (dialog.exec() && !combo->currentText().isEmpty())
    372299        page()->setCustomUserAgent(combo->currentText());
     300#endif
    373301}
    374302
     
    393321}
    394322
    395 void BrowserWindow::toggleDisableJavaScript(bool enable)
    396 {
    397     page()->preferences()->setAttribute(QWKPreferences::JavascriptEnabled, !enable);
    398 }
    399 
    400 void BrowserWindow::toggleAutoLoadImages(bool enable)
    401 {
    402     page()->preferences()->setAttribute(QWKPreferences::AutoLoadImages, !enable);
    403 }
    404 
    405323void BrowserWindow::updateUserAgentList()
    406324{
     325#if 0
     326    // FIXME
    407327    QFile file(":/useragentlist.txt");
    408328
     
    420340    if (!(wkPage->customUserAgent().isEmpty() || m_userAgentList.contains(wkPage->customUserAgent())))
    421341        m_userAgentList << wkPage->customUserAgent();
    422 }
    423 
    424 void BrowserWindow::applyZoom()
    425 {
    426     if (m_isZoomTextOnly)
    427         page()->setTextZoomFactor(m_currentZoom);
    428     else
    429         page()->setPageZoomFactor(m_currentZoom);
     342#endif
    430343}
    431344
  • trunk/Tools/MiniBrowser/qt/BrowserWindow.h

    r87824 r90458  
    4242
    4343public:
    44     BrowserWindow(QWKContext*, WindowOptions* = 0);
     44    BrowserWindow(WindowOptions* = 0);
    4545    ~BrowserWindow();
    4646    void load(const QString& url);
    4747
    48     QWKPage* page();
     48    QObject* webView() const;
    4949
    5050public slots:
     
    6161    void openFile();
    6262
    63     void zoomIn();
    64     void zoomOut();
    65     void resetZoom();
    66     void toggleZoomTextOnly(bool on);
    6763    void screenshot();
    6864
    6965    void toggleFullScreenMode(bool enable);
    7066
    71     void toggleFrameFlattening(bool);
    7267    void showUserAgentDialog();
    7368
     
    7671    void printURL(const QUrl&);
    7772
    78     void toggleAutoLoadImages(bool);
    79     void toggleDisableJavaScript(bool);
    8073    void toggleGLViewport(bool);
    8174
     
    8376    void updateUserAgentList();
    8477
    85     void applyZoom();
    86 
    87     static QVector<qreal> m_zoomLevels;
    88     bool m_isZoomTextOnly;
    89     qreal m_currentZoom;
    90 
    9178    UrlLoader* m_urlLoader;
    92     QWKContext* m_context;
    9379    WindowOptions m_windowOptions;
    9480    BrowserView* m_browser;
  • trunk/Tools/MiniBrowser/qt/MiniBrowserApplication.cpp

    r87824 r90458  
    5656    if (args.contains("-help")) {
    5757        qDebug() << "Usage:" << programName.toLatin1().data()
     58             << "[-touch]"
    5859             << "[-maximize]"
    5960             << "[-r list]"
     
    6162             << "[-robot-extra-time seconds]"
    6263             << "[-chunked-drawing-area]"
    63              <<  "[-separate-web-process-per-window]"
    6464             << "[-print-loaded-urls]"
    6565#if defined(QT_CONFIGURED_WITH_OPENGL)
     
    6969        appQuit(0);
    7070    }
     71
     72    if (args.contains("-touch"))
     73        m_windowOptions.useTouchWebView = true;
    7174
    7275    if (args.contains("-maximize"))
     
    9699        m_robotExtraTimeSeconds = takeOptionValue(&args, robotExtraTimeIndex).toInt();
    97100
    98     if (args.contains("-chunked-drawing-area"))
    99         m_windowOptions.useTiledBackingStore = false;
    100 
    101     if (args.contains("-separate-web-process-per-window"))
    102         m_windowOptions.useSeparateWebProcessPerWindow = true;
    103 
    104101    if (args.contains("-print-loaded-urls"))
    105102        m_windowOptions.printLoadedUrls = true;
  • trunk/Tools/MiniBrowser/qt/MiniBrowserApplication.h

    r87824 r90458  
    3535struct WindowOptions {
    3636    WindowOptions()
    37         : useTiledBackingStore(true)
    38         , useSeparateWebProcessPerWindow(false)
    39         , printLoadedUrls(false)
     37        : printLoadedUrls(false)
     38        , useTouchWebView(false)
    4039#if defined(Q_OS_SYMBIAN)
    4140        , startMaximized(true)
     
    4948    }
    5049
    51     bool useTiledBackingStore;
    52     bool useSeparateWebProcessPerWindow;
    5350    bool printLoadedUrls;
     51    bool useTouchWebView;
    5452    bool startMaximized;
    5553#if defined(QT_CONFIGURED_WITH_OPENGL)
  • trunk/Tools/MiniBrowser/qt/UrlLoader.cpp

    r82927 r90458  
    4242    connect(&m_checkIfFinishedTimer, SIGNAL(timeout()), this, SLOT(checkIfFinished()));
    4343    // loadStarted and loadFinished on QWebPage is emitted for each frame/sub-frame
    44     connect(m_browserWindow->page(), SIGNAL(loadStarted()), this, SLOT(frameLoadStarted()));
    45     connect(m_browserWindow->page(), SIGNAL(loadFinished(bool)), this, SLOT(frameLoadFinished()));
     44    connect(m_browserWindow->webView(), SIGNAL(loadStarted()), this, SLOT(frameLoadStarted()));
     45    connect(m_browserWindow->webView(), SIGNAL(loadFinished(bool)), this, SLOT(frameLoadFinished()));
    4646
    4747    if (timeoutSeconds) {
    4848        m_timeoutTimer.setInterval(timeoutSeconds * 1000);
    4949        m_timeoutTimer.setSingleShot(true);
    50         connect(m_browserWindow->page(), SIGNAL(loadStarted()), &m_timeoutTimer, SLOT(start()));
     50        connect(m_browserWindow->webView(), SIGNAL(loadStarted()), &m_timeoutTimer, SLOT(start()));
    5151        connect(&m_timeoutTimer, SIGNAL(timeout()), this, SLOT(loadNext()));
    5252    }
  • trunk/Tools/MiniBrowser/qt/main.cpp

    r82938 r90458  
    3333#include <QLatin1String>
    3434#include <QRegExp>
    35 #include <qgraphicswkview.h>
    3635#include <QtGui>
    3736
     
    4140
    4241    if (app.isRobotized()) {
    43         QWKContext* context = new QWKContext;
    44         BrowserWindow* window = new BrowserWindow(context, &app.m_windowOptions);
     42        BrowserWindow* window = new BrowserWindow(&app.m_windowOptions);
    4543        UrlLoader loader(window, app.urls().at(0), app.robotTimeout(), app.robotExtraTime());
    4644        loader.loadNext();
     
    5957    }
    6058
    61     QWKContext* context = new QWKContext;
    62     BrowserWindow* window = new BrowserWindow(context, &app.m_windowOptions);
    63     if (app.m_windowOptions.useSeparateWebProcessPerWindow)
    64         context->setParent(window);
    65 
     59    BrowserWindow* window = new BrowserWindow(&app.m_windowOptions);
    6660    window->load(urls.at(0));
    6761
  • trunk/Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp

    r90095 r90458  
    2828
    2929#include "PlatformWebView.h"
    30 #include "qgraphicswkview.h"
    31 #include "qwkcontext.h"
     30#include "qdesktopwebview.h"
    3231#include <QtGui>
    3332
     
    3837    WebView(WKContextRef, WKPageGroupRef);
    3938
    40     QGraphicsWKView* wkView() const { return m_item; }
     39    QDesktopWebView* wkView() const { return m_item; }
     40    WKPageRef pageRef() const { return m_item->pageRef(); }
    4141
    4242    virtual ~WebView() { delete m_item; }
    4343
    4444private:
    45     QGraphicsWKView* m_item;
     45    QDesktopWebView* m_item;
    4646};
    4747
    4848WebView::WebView(WKContextRef contextRef, WKPageGroupRef pageGroupRef)
    4949    : QGraphicsView()
    50     , m_item(new QGraphicsWKView(new QWKContext(contextRef, this), pageGroupRef))
     50    , m_item(new QDesktopWebView(contextRef, pageGroupRef))
    5151{
     52    m_item->setPreferredSize(800, 600);
    5253    setScene(new QGraphicsScene(this));
    5354    scene()->addItem(m_item);
     
    7980WKPageRef PlatformWebView::page()
    8081{
    81     return m_view->wkView()->page()->pageRef();
     82    return m_view->pageRef();
    8283}
    8384
     
    8990WKRect PlatformWebView::windowFrame()
    9091{
    91     QRect windowRect = m_window->geometry();
     92    // Implement.
     93
    9294    WKRect wkFrame;
    93     wkFrame.origin.x = windowRect.x();
    94     wkFrame.origin.y = windowRect.y();
    95     wkFrame.size.width = windowRect.size().width();
    96     wkFrame.size.height = windowRect.size().height();
     95    wkFrame.origin.x = 0;
     96    wkFrame.origin.y = 0;
     97    wkFrame.size.width = 0;
     98    wkFrame.size.height = 0;
    9799    return wkFrame;
    98100}
    99101
    100 void PlatformWebView::setWindowFrame(WKRect rect)
     102void PlatformWebView::setWindowFrame(WKRect)
    101103{
    102     m_window->setGeometry(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
     104    // Implement.
    103105}
    104106
Note: See TracChangeset for help on using the changeset viewer.