summaryrefslogtreecommitdiff
path: root/Tools/WebKitTestRunner/qt
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-10-17 16:21:14 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-10-17 16:21:14 +0200
commit8995b83bcbfbb68245f779b64e5517627c6cc6ea (patch)
tree17985605dab9263cc2444bd4d45f189e142cca7c /Tools/WebKitTestRunner/qt
parentb9c9652036d5e9f1e29c574f40bc73a35c81ace6 (diff)
downloadqtwebkit-8995b83bcbfbb68245f779b64e5517627c6cc6ea.tar.gz
Imported WebKit commit cf4f8fc6f19b0629f51860cb2d4b25e139d07e00 (http://svn.webkit.org/repository/webkit/trunk@131592)
New snapshot that includes the build fixes for Mac OS X 10.6 and earlier as well as the previously cherry-picked changes
Diffstat (limited to 'Tools/WebKitTestRunner/qt')
-rw-r--r--Tools/WebKitTestRunner/qt/EventSenderProxyQt.cpp5
-rw-r--r--Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp4
-rw-r--r--Tools/WebKitTestRunner/qt/TestControllerQt.cpp5
-rw-r--r--Tools/WebKitTestRunner/qt/TestInvocationQt.cpp22
4 files changed, 27 insertions, 9 deletions
diff --git a/Tools/WebKitTestRunner/qt/EventSenderProxyQt.cpp b/Tools/WebKitTestRunner/qt/EventSenderProxyQt.cpp
index 5d4de9d20..7619d3160 100644
--- a/Tools/WebKitTestRunner/qt/EventSenderProxyQt.cpp
+++ b/Tools/WebKitTestRunner/qt/EventSenderProxyQt.cpp
@@ -418,7 +418,10 @@ void EventSenderProxy::sendTouchEvent(QEvent::Type type)
QWindowSystemInterface::registerTouchDevice(device);
}
- QTouchEvent event(type, device, m_touchModifiers);
+ Qt::TouchPointStates eventStates;
+ for (int i = 0; i < m_touchPoints.count(); i++)
+ eventStates |= m_touchPoints[i].state();
+ QTouchEvent event(type, device, m_touchModifiers, eventStates);
event.setTouchPoints(m_touchPoints);
m_testController->mainWebView()->sendEvent(&event);
QList<QTouchEvent::TouchPoint>::Iterator it = m_touchPoints.begin();
diff --git a/Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp b/Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp
index 22e3fc596..1e53b0885 100644
--- a/Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp
+++ b/Tools/WebKitTestRunner/qt/PlatformWebViewQt.cpp
@@ -34,6 +34,7 @@
#include <QEventLoop>
#include <QQmlProperty>
#include <QtQuick/QQuickView>
+#include <WebKit2/WKImageQt.h>
#include <qpa/qwindowsysteminterface.h>
namespace WTR {
@@ -94,7 +95,8 @@ void PlatformWebView::resizeTo(unsigned width, unsigned height)
// resized to what the layout test expects.
if (!m_window->handle()) {
QRect newGeometry(m_window->x(), m_window->y(), width, height);
- QWindowSystemInterface::handleSynchronousGeometryChange(m_window, newGeometry);
+ QWindowSystemInterface::handleGeometryChange(m_window, newGeometry);
+ QWindowSystemInterface::flushWindowSystemEvents();
}
m_window->resize(width, height);
diff --git a/Tools/WebKitTestRunner/qt/TestControllerQt.cpp b/Tools/WebKitTestRunner/qt/TestControllerQt.cpp
index dedb18aa6..04ddb8b76 100644
--- a/Tools/WebKitTestRunner/qt/TestControllerQt.cpp
+++ b/Tools/WebKitTestRunner/qt/TestControllerQt.cpp
@@ -104,10 +104,7 @@ void TestController::initializeInjectedBundlePath()
void TestController::initializeTestPluginDirectory()
{
- // FIXME: the test plugin cause some trouble for us, so we don't load it for the time being.
- // See: https://bugs.webkit.org/show_bug.cgi?id=86620
-
- // m_testPluginDirectory.adopt(WKStringCreateWithUTF8CString(qgetenv("QTWEBKIT_PLUGIN_PATH").constData()));
+ m_testPluginDirectory.adopt(WKStringCreateWithUTF8CString(qgetenv("QTWEBKIT_PLUGIN_PATH").constData()));
}
void TestController::platformInitializeContext()
diff --git a/Tools/WebKitTestRunner/qt/TestInvocationQt.cpp b/Tools/WebKitTestRunner/qt/TestInvocationQt.cpp
index 01630d98a..981c2032a 100644
--- a/Tools/WebKitTestRunner/qt/TestInvocationQt.cpp
+++ b/Tools/WebKitTestRunner/qt/TestInvocationQt.cpp
@@ -29,6 +29,7 @@
#include <QBuffer>
#include <QCryptographicHash>
+#include <QtGui/QPainter>
#include <WebKit2/WKImageQt.h>
#include <stdio.h>
#include <wtf/Assertions.h>
@@ -64,10 +65,25 @@ static void dumpImage(const QImage& image)
void TestInvocation::dumpPixelsAndCompareWithExpected(WKImageRef imageRef, WKArrayRef repaintRects)
{
- //FIXME: https://bugs.webkit.org/show_bug.cgi?id=68870
- UNUSED_PARAM(repaintRects);
-
QImage image = WKImageCreateQImage(imageRef);
+
+ if (repaintRects) {
+ QImage mask(image.size(), image.format());
+ mask.fill(QColor(0, 0, 0, 0.66 * 255));
+
+ QPainter maskPainter(&mask);
+ maskPainter.setCompositionMode(QPainter::CompositionMode_Source);
+ size_t count = WKArrayGetSize(repaintRects);
+ for (size_t i = 0; i < count; ++i) {
+ WKRect wkRect = WKRectGetValue(static_cast<WKRectRef>(WKArrayGetItemAtIndex(repaintRects, i)));
+ QRectF rect(wkRect.origin.x, wkRect.origin.y, wkRect.size.width, wkRect.size.height);
+ maskPainter.fillRect(rect, Qt::transparent);
+ }
+
+ QPainter painter(&image);
+ painter.drawImage(image.rect(), mask);
+ }
+
QCryptographicHash hash(QCryptographicHash::Md5);
for (unsigned row = 0; row < image.height(); ++row)
hash.addData(reinterpret_cast<const char*>(image.constScanLine(row)), image.bytesPerLine());