From 8995b83bcbfbb68245f779b64e5517627c6cc6ea Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Wed, 17 Oct 2012 16:21:14 +0200 Subject: 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 --- Tools/WebKitTestRunner/qt/TestInvocationQt.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'Tools/WebKitTestRunner/qt/TestInvocationQt.cpp') 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 #include +#include #include #include #include @@ -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(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(image.constScanLine(row)), image.bytesPerLine()); -- cgit v1.2.1