diff options
author | Steve Block <steveblock@google.com> | 2011-05-25 19:08:45 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-06-08 13:51:31 +0100 |
commit | 2bde8e466a4451c7319e3a072d118917957d6554 (patch) | |
tree | 28f4a1b869a513e565c7760d0e6a06e7cf1fe95a /Source/WebKit2/UIProcess/API/qt | |
parent | 6939c99b71d9372d14a0c74a772108052e8c48c8 (diff) | |
download | external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.zip external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.gz external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.bz2 |
Merge WebKit at r82507: Initial merge by git
Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e
Diffstat (limited to 'Source/WebKit2/UIProcess/API/qt')
7 files changed, 91 insertions, 8 deletions
diff --git a/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp b/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp index 05c7b8b..a162918 100644 --- a/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp +++ b/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp @@ -194,9 +194,9 @@ void QWKPagePrivate::exitAcceleratedCompositingMode() // FIXME: Implement. } -void QWKPagePrivate::pageDidRequestScroll(const IntSize& delta) +void QWKPagePrivate::pageDidRequestScroll(const IntPoint& point) { - emit q->scrollRequested(delta.width(), delta.height()); + emit q->scrollRequested(point.x(), point.y()); } void QWKPagePrivate::didChangeContentsSize(const IntSize& newSize) @@ -222,6 +222,11 @@ FloatRect QWKPagePrivate::convertToDeviceSpace(const FloatRect& rect) return rect; } +IntRect QWKPagePrivate::windowToScreen(const IntRect& rect) +{ + return rect; +} + FloatRect QWKPagePrivate::convertToUserSpace(const FloatRect& rect) { return rect; @@ -482,7 +487,8 @@ QWKPage::QWKPage(QWKContext* context) 0, /* drawFooter */ 0, /* printFrame */ 0, /* runModal */ - 0 /* didCompleteRubberBandForMainFrame */ + 0, /* didCompleteRubberBandForMainFrame */ + 0 /* saveDataToFileInDownloadsFolder */ }; WKPageSetPageUIClient(pageRef(), &uiClient); } @@ -561,7 +567,7 @@ QWKPage::ViewportAttributes QWKPage::viewportAttributesForSize(const QSize& avai result.m_minimumScaleFactor = conf.minimumScale; result.m_maximumScaleFactor = conf.maximumScale; result.m_devicePixelRatio = conf.devicePixelRatio; - result.m_isUserScalable = conf.userScalable; + result.m_isUserScalable = static_cast<bool>(conf.userScalable); return result; } diff --git a/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h b/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h index 1a626a1..ee1fb0e 100644 --- a/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h +++ b/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h @@ -63,7 +63,7 @@ public: virtual void enterAcceleratedCompositingMode(const LayerTreeContext&); virtual void exitAcceleratedCompositingMode(); #endif // USE(ACCELERATED_COMPOSITING) - virtual void pageDidRequestScroll(const WebCore::IntSize&); + virtual void pageDidRequestScroll(const WebCore::IntPoint&); virtual void processDidCrash(); virtual void pageClosed() { } virtual void didRelaunchProcess(); @@ -72,11 +72,14 @@ public: virtual void setCursor(const WebCore::Cursor&); virtual void setViewportArguments(const WebCore::ViewportArguments&); virtual void takeFocus(bool direction); + virtual void setFocus(bool focused) { } virtual void toolTipChanged(const WTF::String&, const WTF::String&); virtual void registerEditCommand(PassRefPtr<WebKit::WebEditCommandProxy>, WebKit::WebPageProxy::UndoOrRedo); virtual void clearAllEditCommands(); virtual WebCore::FloatRect convertToDeviceSpace(const WebCore::FloatRect&); virtual WebCore::FloatRect convertToUserSpace(const WebCore::FloatRect&); + virtual WebCore::IntRect windowToScreen(const WebCore::IntRect&); + virtual void doneWithKeyEvent(const WebKit::NativeWebKeyboardEvent&, bool wasEventHandled); virtual void selectionChanged(bool, bool, bool, bool); virtual PassRefPtr<WebKit::WebPopupMenuProxy> createPopupMenuProxy(WebKit::WebPageProxy*); @@ -92,6 +95,8 @@ public: virtual void flashBackingStoreUpdates(const Vector<WebCore::IntRect>& updateRects); + virtual float userSpaceScaleFactor() const { return 1; } + void paint(QPainter* painter, QRect); void keyPressEvent(QKeyEvent*); diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp b/Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp index f26c69d..8cb7263 100644 --- a/Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp +++ b/Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp @@ -35,6 +35,7 @@ private slots: void init(); void cleanup(); + void loadEmptyUrl(); void loadEmptyPage(); private: @@ -83,10 +84,21 @@ void tst_QGraphicsWKView::loadEmptyPage() { m_view->show(); - m_view->m_webView-> load(QUrl::fromLocalFile(TESTDIR "/html/basic_page.html")); + m_view->m_webView-> load(QUrl::fromLocalFile(QLatin1String(TESTS_SOURCE_DIR "/html/basic_page.html"))); QVERIFY(waitForSignal(m_view->m_webView, SIGNAL(loadFinished(bool)))); } +void tst_QGraphicsWKView::loadEmptyUrl() +{ + // That should not crash. + m_view->show(); + m_view->m_webView->load(QUrl()); + QVERIFY(!waitForSignal(m_view->m_webView->page(), SIGNAL(engineConnectionChanged(bool)), 50)); + + m_view->m_webView->load(QUrl(QLatin1String(""))); + QVERIFY(!waitForSignal(m_view->m_webView->page(), SIGNAL(engineConnectionChanged(bool)), 50)); +} + QTEST_MAIN(tst_QGraphicsWKView) #include "tst_qgraphicswkview.moc" diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qwkpage/qwkpage.pro b/Source/WebKit2/UIProcess/API/qt/tests/qwkpage/qwkpage.pro new file mode 100644 index 0000000..e99c7f4 --- /dev/null +++ b/Source/WebKit2/UIProcess/API/qt/tests/qwkpage/qwkpage.pro @@ -0,0 +1 @@ +include(../tests.pri) diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp b/Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp new file mode 100644 index 0000000..39fcac2 --- /dev/null +++ b/Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp @@ -0,0 +1,59 @@ +/* + Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#include <QScopedPointer> +#include <QtTest/QtTest> +#include <qwkcontext.h> +#include <qwkpage.h> + +class tst_QWKPage : public QObject { + Q_OBJECT + +private slots: + void init(); + void cleanup(); + + void loadEmptyUrl(); + +private: + QScopedPointer<QWKContext> m_context; + QScopedPointer<QWKPage> m_page; +}; + +void tst_QWKPage::init() +{ + m_context.reset(new QWKContext); + m_page.reset(new QWKPage(m_context.data())); +} + +void tst_QWKPage::cleanup() +{ + m_page.reset(); + m_context.reset(); +} + +void tst_QWKPage::loadEmptyUrl() +{ + m_page->load(QUrl()); + m_page->load(QUrl(QLatin1String(""))); +} + +QTEST_MAIN(tst_QWKPage) + +#include "tst_qwkpage.moc" diff --git a/Source/WebKit2/UIProcess/API/qt/tests/tests.pri b/Source/WebKit2/UIProcess/API/qt/tests/tests.pri index 3a2aac1..032acc3 100644 --- a/Source/WebKit2/UIProcess/API/qt/tests/tests.pri +++ b/Source/WebKit2/UIProcess/API/qt/tests/tests.pri @@ -13,4 +13,4 @@ include(../../../../../WebKit.pri) QT += testlib QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR -DEFINES += TESTDIR=\\\"$$PWD\\\" +!symbian: DEFINES += TESTS_SOURCE_DIR=\\\"$$PWD\\\" diff --git a/Source/WebKit2/UIProcess/API/qt/tests/tests.pro b/Source/WebKit2/UIProcess/API/qt/tests/tests.pro index eb85021..f8db5a4 100644 --- a/Source/WebKit2/UIProcess/API/qt/tests/tests.pro +++ b/Source/WebKit2/UIProcess/API/qt/tests/tests.pro @@ -1,2 +1,2 @@ TEMPLATE = subdirs -SUBDIRS = qgraphicswkview +SUBDIRS = qgraphicswkview qwkpage |