Index: Tools/TestWebKitAPI/qt/PlatformWebViewQt.cpp |
diff --git a/Tools/TestWebKitAPI/qt/PlatformWebViewQt.cpp b/Tools/TestWebKitAPI/qt/PlatformWebViewQt.cpp |
deleted file mode 100644 |
index 9949adef69258e138fec59ca95473604836538f2..0000000000000000000000000000000000000000 |
--- a/Tools/TestWebKitAPI/qt/PlatformWebViewQt.cpp |
+++ /dev/null |
@@ -1,148 +0,0 @@ |
-/* |
- * Copyright (C) 2010 Apple Inc. All rights reserved. |
- * Copyright (C) 2010 University of Szeged. All rights reserved. |
- * Copyright (C) 2013 Digia Plc. and/or its subsidiary(-ies). |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions |
- * are met: |
- * 1. Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * 2. Redistributions in binary form must reproduce the above copyright |
- * notice, this list of conditions and the following disclaimer in the |
- * documentation and/or other materials provided with the distribution. |
- * |
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- */ |
- |
-#include "config.h" |
- |
-#include "PlatformWebView.h" |
-#include "qquickwebpage_p.h" |
-#include "qquickwebview_p.h" |
- |
-#include <WebKit2/WKRetainPtr.h> |
- |
-#include <QCoreApplication> |
-#include <QEventLoop> |
-#include <QQmlProperty> |
-#include <QtQuick/QQuickView> |
-#include <qpa/qwindowsysteminterface.h> |
- |
-namespace TestWebKitAPI { |
- |
-class WrapperWindow : public QQuickView { |
- Q_OBJECT |
-public: |
- WrapperWindow(QQuickWebView* view) |
- : QQuickView(QUrl(QStringLiteral("data:text/plain,import QtQuick 2.0\nItem { objectName: 'root' }"))) |
- , m_view(view) |
- { |
- connect(this, SIGNAL(statusChanged(QQuickView::Status)), SLOT(handleStatusChanged(QQuickView::Status))); |
- } |
- |
-private Q_SLOTS: |
- void handleStatusChanged(QQuickView::Status status) |
- { |
- if (status != QQuickView::Ready) |
- return; |
- |
- setGeometry(0, 0, 800, 600); |
- |
- setResizeMode(QQuickView::SizeRootObjectToView); |
- m_view->setParentItem(rootObject()); |
- QQmlProperty::write(m_view, QStringLiteral("anchors.fill"), qVariantFromValue(rootObject())); |
- |
- m_view->experimental()->setRenderToOffscreenBuffer(true); |
- |
- QWindowSystemInterface::handleWindowActivated(this); |
- m_view->page()->setFocus(true); |
- } |
- |
-private: |
- QQuickWebView* m_view; |
-}; |
- |
-PlatformWebView::PlatformWebView(WKContextRef contextRef, WKPageGroupRef pageGroupRef) |
-{ |
- m_view = new QQuickWebView(contextRef, pageGroupRef); |
- m_view->setAllowAnyHTTPSCertificateForLocalHost(true); |
- m_view->componentComplete(); |
- |
- m_window = new WrapperWindow(m_view); |
-} |
- |
-PlatformWebView::~PlatformWebView() |
-{ |
- delete m_window; |
-} |
- |
-void PlatformWebView::resizeTo(unsigned width, unsigned height) |
-{ |
- // If we do not have a platform window we will never get the necessary |
- // resize event, so simulate it in that case to make sure the quickview is |
- // resized to what the api tests expects. |
- if (!m_window->handle()) { |
- QRect newGeometry(m_window->x(), m_window->y(), width, height); |
- QWindowSystemInterface::handleGeometryChange(m_window, newGeometry); |
- QWindowSystemInterface::flushWindowSystemEvents(); |
- } |
- |
- m_window->resize(width, height); |
-} |
- |
-WKPageRef PlatformWebView::page() const |
-{ |
- return m_view->pageRef(); |
-} |
- |
-void PlatformWebView::focus() |
-{ |
- m_view->setFocus(true); |
-} |
- |
-void PlatformWebView::simulateSpacebarKeyPress() |
-{ |
- QKeyEvent event(QEvent::KeyPress, Qt::Key_Space, Qt::NoModifier); |
- QCoreApplication::sendEvent(m_window, &event); |
- QKeyEvent event2(QEvent::KeyRelease, Qt::Key_Space, Qt::NoModifier); |
- QCoreApplication::sendEvent(m_window, &event2); |
-} |
- |
-void PlatformWebView::simulateAltKeyPress() |
-{ |
- QKeyEvent event(QEvent::KeyPress, Qt::Key_Alt, Qt::NoModifier); |
- QCoreApplication::sendEvent(m_window, &event); |
- QKeyEvent event2(QEvent::KeyRelease, Qt::Key_Alt, Qt::NoModifier); |
- QCoreApplication::sendEvent(m_window, &event2); |
-} |
- |
-void PlatformWebView::simulateMouseMove(unsigned x, unsigned y) |
-{ |
- QPointF mousePos(x, y); |
- QMouseEvent event(QEvent::MouseMove, mousePos, Qt::NoButton, Qt::NoButton, Qt::NoModifier); |
- QCoreApplication::sendEvent(m_window, &event); |
-} |
- |
-void PlatformWebView::simulateRightClick(unsigned x, unsigned y) |
-{ |
- QPointF mousePos(x, y); |
- QMouseEvent event2(QEvent::MouseButtonPress, mousePos, Qt::RightButton, Qt::RightButton, Qt::NoModifier); |
- QCoreApplication::sendEvent(m_window, &event2); |
- QMouseEvent event3(QEvent::MouseButtonRelease, mousePos, Qt::RightButton, Qt::NoButton, Qt::NoModifier); |
- QCoreApplication::sendEvent(m_window, &event3); |
-} |
- |
-} // namespace TestWebKitAPI |
- |
-#include "PlatformWebViewQt.moc" |