Source/WebCore/ChangeLog

 12012-01-10 No'am Rosenthal <noam.rosenthal@nokia.com>
 2
 3 [Qt] Support filters in TextureMapperQt
 4 https://bugs.webkit.org/show_bug.cgi?id=76026
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 Added the functionality in TextureMapperNode and TextureMapper to render CSS filters.
 9 Also, added a fully working software implementation in the Qt backend of TextureMapper.r
 10 A TextureMapperGL implementation will be done in a different patch.
 11
 12 TextureMapperFilterRenderer was added to deal with the different intermediate surfaces
 13 and rules required to render filters.
 14
 15 This is covered by layout-tests in css3/filters, which can now be enabled.
 16
 17 * Target.pri:
 18 * platform/graphics/qt/TextureMapperQt.cpp: Added some functions for filter rendering.
 19 * platform/graphics/qt/TextureMapperQt.h:
 20 * platform/graphics/texmap/TextureMapper.h:
 21 (WebCore::TextureMapper::renderFilter):
 22 * platform/graphics/texmap/TextureMapperFilterRenderer.cpp: Added.
 23 * platform/graphics/texmap/TextureMapperFilterRenderer.h: Added.
 24 * platform/graphics/texmap/TextureMapperNode.cpp: Added support for filters.
 25 * platform/graphics/texmap/TextureMapperNode.h:
 26
1272012-01-06 Stephen White <senorblanco@chromium.org>
228
329 [Skia] Switch FEColorMatrix to use a skia-based implementation when

Source/WebCore/Target.pri

@@contains(CONFIG, texmap) {
39043904 platform/graphics/qt/TextureMapperQt.h \
39053905 platform/graphics/texmap/GraphicsLayerTextureMapper.h \
39063906 platform/graphics/texmap/TextureMapper.h \
 3907 platform/graphics/texmap/TextureMapperFilterRenderer.h \
39073908 platform/graphics/texmap/TextureMapperNode.h \
39083909 platform/graphics/texmap/TextureMapperPlatformLayer.h
39093910
39103911 SOURCES += \
39113912 platform/graphics/qt/TextureMapperQt.cpp \
39123913 platform/graphics/texmap/TextureMapper.cpp \
 3914 platform/graphics/texmap/TextureMapperFilterRenderer.cpp \
39133915 platform/graphics/texmap/TextureMapperNode.cpp \
39143916 platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
39153917

Source/WebCore/platform/graphics/qt/TextureMapperQt.cpp

2020#include "config.h"
2121#include "TextureMapperQt.h"
2222
 23#include "ShadowBlur.h"
 24
2325#include <QtCore/qdebug.h>
2426#include <QtGui/qpaintengine.h>
2527#include <QtGui/qpixmap.h>

@@void TextureMapperQt::drawTexture(const BitmapTexture& texture, const FloatRect&
198200 painter->setOpacity(prevOpacity);
199201}
200202
 203#if ENABLE(CSS_FILTERS)
 204typedef QRgb (*PixelFilterFunction)(QRgb, const double&);
 205
 206static QRgb grayscale(QRgb color, const double& amount)
 207{
 208 int red = qRed(color);
 209 int green = qGreen(color);
 210 int blue = qBlue(color);
 211 return qRgba(
 212 red * (0.2126 + 0.7874 * (1. - amount)) + green * (0.7152 - 0.7152 * (1. - amount)) + blue * (0.0722 - 0.0722 * (1. - amount)),
 213 red * (0.2126 - 0.2126 * (1. - amount)) + green * (0.7152 + 0.2848 * (1. - amount)) + blue * (0.0722 - 0.0722 * (1. - amount)),
 214 red * (0.2126 - 0.2126 * (1. - amount)) + green * (0.7152 - 0.7152 * (1. - amount)) + blue * (0.0722 + 0.9278 * (1. - amount)),
 215 qAlpha(color)
 216 );
 217}
 218
 219static QRgb clampRgba(int r, int g, int b, int a)
 220{
 221 return qRgba(std::min(255, std::max(0, r)), std::min(255, std::max(0, g)), std::min(255, std::max(0, b)), std::min(255, std::max(0, a)));
 222}
 223
 224static QRgb sepia(QRgb color, const double& amount)
 225{
 226 int red = qRed(color);
 227 int green = qGreen(color);
 228 int blue = qBlue(color);
 229 return clampRgba(
 230 red * (0.393 + 0.607 * (1. - amount)) + green * (0.769 - 0.769 * (1. - amount)) + blue * (0.189 - 0.189 * (1. - amount)),
 231 red * (0.349 - 0.349 * (1. - amount)) + green * (0.686 + 0.314 * (1. - amount)) + blue * (0.168 - 0.168 * (1. - amount)),
 232 red * (0.272 - 0.272 * (1. - amount)) + green * (0.534 - 0.534 * (1. - amount)) + blue * (0.131 + 0.869 * (1. - amount)),
 233 qAlpha(color)
 234 );
 235}
 236
 237static QRgb saturate(QRgb color, const double& amount)
 238{
 239 int red = qRed(color);
 240 int green = qGreen(color);
 241 int blue = qBlue(color);
 242 return clampRgba(
 243 red * (0.2126 + 0.7873 * amount) + green * (0.7152 - 0.7152 * amount) + blue * (0.0722 - 0.0722 * amount),
 244 red * (0.2126 - 0.2126 * amount) + green * (0.7152 + 0.2848 * amount) + blue * (0.0722 - 0.0722 * amount),
 245 red * (0.2126 - 0.2126 * amount) + green * (0.7152 - 0.7152 * amount) + blue * (0.0722 + 0.9278 * amount),
 246 qAlpha(color)
 247 );
 248}
 249
 250static QRgb hueRotate(QRgb color, const double& amount)
 251{
 252 double rad = amount * piFloat / 180.;
 253 double hueSin = sin(rad);
 254 double hueCos = cos(rad);
 255
 256 int red = qRed(color);
 257 int green = qGreen(color);
 258 int blue = qBlue(color);
 259 return clampRgba(
 260 red * (0.2126 + hueCos * 0.7873 - hueSin * 0.2126) + green * (0.7152 + hueCos * -0.7152 - hueSin * 0.7152) + blue * (0.0722 + hueCos * -0.0722 + hueSin * 0.9278),
 261 red * (0.2126 + hueCos * -0.2126 + hueSin * 0.143) + green * (0.7152 + hueCos * 0.2848 + hueSin * 0.14) + blue * (0.0722 + hueCos * -0.0722 - hueSin * 0.283),
 262 red * (0.2126 + hueCos * -0.2126 - hueSin * 0.7873) + green * (0.7152 + hueCos * -0.7152 + hueSin * 0.7152) + blue * (0.0722 + hueCos * 0.9278 + hueSin * 0.0722),
 263 qAlpha(color)
 264 );
 265}
 266
 267static QRgb invert(QRgb color, const double& amount)
 268{
 269 int red = qRed(color);
 270 int green = qGreen(color);
 271 int blue = qBlue(color);
 272 return clampRgba(
 273 red * (1 - amount) + (254 - red) * amount,
 274 green * (1 - amount) + (255 - green) * amount,
 275 blue * (1 - amount) + (255 - blue) * amount,
 276 qAlpha(color)
 277 );
 278}
 279
 280static QRgb opacity(QRgb color, const double& amount)
 281{
 282 return qRgba(qRed(color), qGreen(color), qBlue(color), std::min(255, std::max(0, int(qAlpha(color) * amount))));
 283}
 284
 285static QRgb brightness(QRgb color, const double& amount)
 286{
 287 int red = qRed(color);
 288 int green = qGreen(color);
 289 int blue = qBlue(color);
 290 return clampRgba(
 291 red * amount,
 292 green * amount,
 293 blue * amount,
 294 qAlpha(color)
 295 );
 296}
 297
 298static QRgb contrast(QRgb color, const double& amount)
 299{
 300 int red = qRed(color);
 301 int green = qGreen(color);
 302 int blue = qBlue(color);
 303 int intercept = 0.5 + amount / 2;
 304 return clampRgba(
 305 red * amount - intercept,
 306 green * amount - intercept,
 307 blue * amount - intercept,
 308 qAlpha(color)
 309 );
 310}
 311
 312static void pixelFilter(const QImage& sourceImage, QImage& targetImage, const FloatRect& sourceRect, FilterOperation::OperationType type, const double& amount)
 313{
 314 ASSERT(sourceRect.size() == targetRect.size());
 315
 316 static const PixelFilterFunction functions[] = {0, grayscale, sepia, saturate, hueRotate, invert, opacity, brightness, contrast };
 317 PixelFilterFunction function = functions[type];
 318
 319 for (int y = sourceRect.y(); y < sourceRect.maxY(); ++y) {
 320 QRgb* targetPixels = reinterpret_cast<QRgb*>(targetImage.scanLine(y)) + int(sourceRect.x());
 321 const QRgb* sourcePixels = reinterpret_cast<const QRgb*>(sourceImage.scanLine(y)) + int(sourceRect.x());
 322
 323 for (int x = 0; x < sourceRect.width(); ++x, ++targetPixels, ++sourcePixels)
 324 *targetPixels = function(*sourcePixels, amount);
 325 }
 326}
 327
 328static void dropShadow(QImage& targetImage, const QImage& sourceImage, const FloatRect& targetRect, const FloatRect& sourceRect, int x, int y, int stdDeviation, const Color& color)
 329{
 330 targetImage.fill(0);
 331
 332 FloatRect targetShadowRect(targetRect);
 333 targetShadowRect.move(x, y);
 334
 335 // Paint the image in shadow coordinates.
 336 {
 337 QPainter painter(&targetImage);
 338 painter.setCompositionMode(QPainter::CompositionMode_Source);
 339 painter.drawImage(targetShadowRect, sourceImage, sourceRect);
 340 }
 341
 342 // Blur image's alpha if applicable.
 343 if (stdDeviation) {
 344 ShadowBlur(FloatSize(stdDeviation, stdDeviation), FloatSize(x, y), Color(), ColorSpaceDeviceRGB)
 345 .blurLayerImage(targetImage.bits(), targetImage.size(), targetImage.bytesPerLine());
 346 }
 347
 348 // Fill a rectangle with the shadow color, using the exiting alpha (source-in).
 349 QPainter painter(&targetImage);
 350 painter.setCompositionMode(QPainter::CompositionMode_SourceIn);
 351 painter.fillRect(targetShadowRect, color);
 352
 353 // Draw the original on top.
 354 painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
 355 painter.drawImage(targetRect, sourceImage, sourceRect);
 356}
 357
 358// This is a "trick" algorithm for fast gaussian blur. It's not as accurate as FEGaussianBlur,
 359// but can be potentially faster.
 360static void quickBlur(QImage& image, const double& stdDeviation)
 361{
 362 int boxSize = floor(stdDeviation * (3 / 4 * sqrtf(2 * piFloat)) + 0.5);
 363 int width = image.width();
 364 int height = image.height();
 365
 366 // First, we create a color-sum map. Each item in the map holds the sum of channels before it.
 367 typedef unsigned long ColorSum[4];
 368 ColorSum colorSums[width * height];
 369 ColorSum* sumPointer = colorSums;
 370 for (int y = 0; y < height; ++y) {
 371 const uchar* pixels = image.scanLine(y);
 372 const QRgb* rgb = reinterpret_cast<const QRgb*>(pixels);
 373
 374 for (int x = 0; x < width; ++x, ++rgb, ++sumPointer) {
 375 (*sumPointer)[0] = qRed(*rgb);
 376 (*sumPointer)[1] = qGreen(*rgb);
 377 (*sumPointer)[2] = qBlue(*rgb);
 378 (*sumPointer)[3] = qAlpha(*rgb);
 379 for (int i = 0; i < 4; ++i) {
 380 unsigned long& total = (*sumPointer)[i];
 381 total += x ? (*(sumPointer - 1))[i] : 0;
 382 total += y ? (*(sumPointer - width))[i] : 0;
 383 total -= (x && y) ? (*(sumPointer - width - 1))[i] : 0;
 384 }
 385 }
 386 }
 387
 388 // We use the sums created in the previous phase, to determine a rough average that we use for the blur.
 389 float multiplier = 1. / (pow(boxSize * 2 + 1, 2));
 390 for (int y = 0; y < height; ++y) {
 391 uchar* pixels = image.scanLine(y);
 392 QRgb* rgb = reinterpret_cast<QRgb*>(pixels);
 393 for (int x = 0; x < width; ++x, ++rgb) {
 394 ColorSum sum;
 395 for (int i = 0; i < 4; ++i) {
 396 sum[i] =
 397 colorSums[std::min(width - 1, x + boxSize) + width * std::min(height - 1, y + boxSize)][i]
 398 + colorSums[std::max(0, x - boxSize) + width * std::max(0, y - boxSize)][i]
 399 - colorSums[std::max(0, x - boxSize) + width * std::min(height - 1, y + boxSize)][i]
 400 - colorSums[std::min(width - 1, x + boxSize) + width * std::max(0, y - boxSize)][i];
 401 }
 402 *rgb = clampRgba(sum[0] * multiplier, sum[1] * multiplier, sum[2] * multiplier, sum[3] * multiplier);
 403 }
 404 }
 405}
 406
 407void TextureMapperQt::renderFilter(const BitmapTexture& texture, const BitmapTexture& contentTexture, const FloatRect& targetRect, const FloatRect& sourceRect, const FilterOperation& filter)
 408{
 409 RefPtr<BitmapTexture> surface = m_currentSurface;
 410 const QPixmap& sourcePixmap = static_cast<const BitmapTextureQt&>(texture).m_pixmap;
 411 bindSurface(0);
 412 QPixmap& targetPixmap = static_cast<BitmapTextureQt&>(*surface.get()).m_pixmap;
 413 QImage sourceImage = sourcePixmap.toImage().convertToFormat(QImage::Format_ARGB32);
 414 QImage targetImage = targetPixmap.toImage().convertToFormat(QImage::Format_ARGB32);
 415
 416 // We manually detach the target pixmap to avoid a deep copy caused by implicit sharing.
 417 targetPixmap = QPixmap();
 418
 419 switch (filter.getOperationType()) {
 420 case FilterOperation::GRAYSCALE:
 421 case FilterOperation::SEPIA:
 422 case FilterOperation::SATURATE:
 423 case FilterOperation::HUE_ROTATE:
 424 pixelFilter(sourceImage, targetImage, sourceRect, filter.getOperationType(), static_cast<const BasicColorMatrixFilterOperation&>(filter).amount());
 425 break;
 426 case FilterOperation::INVERT:
 427 case FilterOperation::BRIGHTNESS:
 428 case FilterOperation::CONTRAST:
 429 case FilterOperation::OPACITY:
 430 pixelFilter(sourceImage, targetImage, sourceRect, filter.getOperationType(), static_cast<const BasicComponentTransferFilterOperation&>(filter).amount());
 431 break;
 432 case FilterOperation::BLUR: {
 433 targetImage.fill(0);
 434 {
 435 QPainter painter(&targetImage);
 436 painter.drawImage(targetRect, sourceImage, sourceRect);
 437 }
 438 float blurSize = static_cast<const BlurFilterOperation&>(filter).stdDeviation().calcFloatValue(500);
 439 if (blurSize)
 440 quickBlur(targetImage, blurSize);
 441 break;
 442 }
 443 case FilterOperation::DROP_SHADOW: {
 444 const DropShadowFilterOperation& shadowOperation = static_cast<const DropShadowFilterOperation&>(filter);
 445 dropShadow(targetImage, sourceImage, targetRect, sourceRect, shadowOperation.x(), shadowOperation.y(), shadowOperation.stdDeviation(), shadowOperation.color());
 446 break;
 447 }
 448 }
 449 targetPixmap = QPixmap::fromImage(targetImage);
 450 bindSurface(surface.get());
 451}
 452#endif
 453
 454
201455PassOwnPtr<TextureMapper> TextureMapper::create(GraphicsContext* context)
202456{
203457#if USE(TEXTURE_MAPPER_GL)

Source/WebCore/platform/graphics/qt/TextureMapperQt.h

@@public:
7373 painter->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform, false);
7474 }
7575
 76#if ENABLE(CSS_FILTERS)
 77 virtual void renderFilter(const BitmapTexture&, const BitmapTexture& contentTexture, const FloatRect& targetRect, const FloatRect& sourceRect, const FilterOperation&);
 78#endif
 79
7680 static PassOwnPtr<TextureMapper> create() { return adoptPtr(new TextureMapperQt); }
7781private:
7882 inline QPainter* currentPainter() { return m_currentSurface ? m_currentSurface->painter() : m_painter; }

Source/WebCore/platform/graphics/texmap/TextureMapper.h

2727 #endif
2828#endif
2929
 30#include "FilterOperation.h"
3031#include "GraphicsContext.h"
3132#include "IntRect.h"
3233#include "IntSize.h"

@@public:
101102
102103 virtual void drawTexture(const BitmapTexture&, const FloatRect& target, const TransformationMatrix& modelViewMatrix = TransformationMatrix(), float opacity = 1.0f, const BitmapTexture* maskTexture = 0) = 0;
103104
 105#if ENABLE(CSS_FILTERS)
 106 virtual void renderFilter(const BitmapTexture& texture, const BitmapTexture& contentTexture, const FloatRect& targetRect, const FloatRect& sourceRect, const FilterOperation&) { }
 107#endif
104108 // makes a surface the target for the following drawTexture calls.
105109 virtual void bindSurface(BitmapTexture* surface) = 0;
106110 virtual void setGraphicsContext(GraphicsContext*) = 0;

Source/WebCore/platform/graphics/texmap/TextureMapperFilterRenderer.cpp

 1/*
 2 Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
 3
 4 This library is free software; you can redistribute it and/or
 5 modify it under the terms of the GNU Library General Public
 6 License as published by the Free Software Foundation; either
 7 version 2 of the License, or (at your option) any later version.
 8
 9 This library is distributed in the hope that it will be useful,
 10 but WITHOUT ANY WARRANTY; without even the implied warranty of
 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 12 Library General Public License for more details.
 13
 14 You should have received a copy of the GNU Library General Public License
 15 along with this library; see the file COPYING.LIB. If not, write to
 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 17 Boston, MA 02110-1301, USA.
 18 */
 19
 20#include "config.h"
 21#include "TextureMapperFilterRenderer.h"
 22
 23#if USE(TEXTURE_MAPPER) && ENABLE(CSS_FILTERS)
 24
 25namespace WebCore {
 26
 27TextureMapperFilterRenderer::TextureMapperFilterRenderer(TextureMapper* textureMapper)
 28 : m_textureMapper(textureMapper)
 29 , m_leftOutset(0)
 30 , m_topOutset(0)
 31 , m_rightOutset(0)
 32 , m_bottomOutset(0)
 33{
 34}
 35
 36TextureMapperFilterRenderer::~TextureMapperFilterRenderer()
 37{
 38 m_textureMapper->releaseTextureToPool(m_targetSurface.get());
 39 m_textureMapper->releaseTextureToPool(m_tempSurface.get());
 40}
 41
 42void TextureMapperFilterRenderer::render(BitmapTexture& contentTexture, const FilterOperations& filterOperations)
 43{
 44 bool hasOutsets = filterOperations.hasOutsets();
 45 if (hasOutsets)
 46 filterOperations.getOutsets(m_topOutset, m_rightOutset, m_bottomOutset, m_leftOutset);
 47 LayoutUnit leftOutset, rightOutset, topOutset, bottomOutset;
 48 RefPtr<BitmapTexture> sourceTexture(&contentTexture);
 49 m_sourceRect = FloatRect(0, 0, contentTexture.size().width(), contentTexture.size().height());
 50 for (size_t i = 0; i < filterOperations.size(); ++i) {
 51 const RefPtr<FilterOperation>& filter = filterOperations.operations()[i];
 52 leftOutset = rightOutset = topOutset = bottomOutset = 0;
 53 if (hasOutsets) {
 54 FilterOperations tempOperations;
 55 tempOperations.operations().append(filter);
 56 if (tempOperations.hasOutsets())
 57 tempOperations.getOutsets(topOutset, rightOutset, bottomOutset, leftOutset);
 58 }
 59
 60 IntSize targetSize = sourceTexture->size() + IntSize(leftOutset + rightOutset, topOutset + bottomOutset);
 61 IntRect targetRect(0, 0, m_sourceRect.width(), m_sourceRect.height());
 62
 63 if (!m_tempSurface)
 64 m_tempSurface = m_textureMapper->acquireTextureFromPool(targetSize);
 65 m_tempSurface->reset(targetSize, false);
 66
 67 m_textureMapper->bindSurface(m_tempSurface.get());
 68 m_textureMapper->renderFilter(*sourceTexture.get(), contentTexture, targetRect, m_sourceRect, *filter.get());
 69 m_sourceRect = FloatRect(FloatPoint::zero(), FloatSize(targetSize));
 70 sourceTexture = m_tempSurface;
 71 swap(m_targetSurface, m_tempSurface);
 72 }
 73}
 74
 75BitmapTexture* TextureMapperFilterRenderer::outputTexture()
 76{
 77 return m_targetSurface.get();
 78}
 79
 80}
 81#endif

Source/WebCore/platform/graphics/texmap/TextureMapperFilterRenderer.h

 1/*
 2 Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
 3
 4 This library is free software; you can redistribute it and/or
 5 modify it under the terms of the GNU Library General Public
 6 License as published by the Free Software Foundation; either
 7 version 2 of the License, or (at your option) any later version.
 8
 9 This library is distributed in the hope that it will be useful,
 10 but WITHOUT ANY WARRANTY; without even the implied warranty of
 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 12 Library General Public License for more details.
 13
 14 You should have received a copy of the GNU Library General Public License
 15 along with this library; see the file COPYING.LIB. If not, write to
 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 17 Boston, MA 02110-1301, USA.
 18 */
 19
 20#ifndef TextureMapperFilterRenderer_h
 21#define TextureMapperFilterRenderer_h
 22
 23#if USE(TEXTURE_MAPPER) && ENABLE(CSS_FILTERS)
 24
 25#include "FilterOperations.h"
 26#include "TextureMapper.h"
 27
 28namespace WebCore {
 29
 30class TextureMapperFilterRenderer {
 31public:
 32 TextureMapperFilterRenderer(TextureMapper*);
 33 ~TextureMapperFilterRenderer();
 34
 35 void render(BitmapTexture&, const FilterOperations&);
 36 BitmapTexture* outputTexture();
 37 FloatRect sourceRect() const { return m_sourceRect; }
 38
 39private:
 40 RefPtr<BitmapTexture> m_targetSurface;
 41 RefPtr<BitmapTexture> m_tempSurface;
 42 TextureMapper* m_textureMapper;
 43 int m_leftOutset, m_topOutset, m_rightOutset, m_bottomOutset;
 44 FloatRect m_sourceRect;
 45};
 46
 47}
 48
 49#endif // ENABLE(CSS_FILTERS)
 50
 51#endif // TextureMapperNode_h

Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp

2424
2525#include "GraphicsLayerTextureMapper.h"
2626#include "MathExtras.h"
 27#include "TextureMapperFilterRenderer.h"
2728
2829namespace {
2930 static const float gTileDimension = 1024.0;

@@void TextureMapperNode::paintSelf(const TextureMapperPaintOptions& options)
342343
343344 float opacity = options.isSurface ? 1 : options.opacity;
344345 FloatRect targetRect = this->targetRect();
 346 targetRect.move(options.offset);
345347
346348#if USE(TILED_BACKING_STORE)
347349 Vector<ExternallyManagedTile> tilesToPaint;

@@void TextureMapperNode::paintSelfAndChildren(const TextureMapperPaintOptions& op
434436 options.textureMapper->endClip();
435437}
436438
 439FloatRect TextureMapperNode::boundingRectIncludingDescendants() const
 440{
 441 if (m_state.opacity < 0.01
 442 || !m_state.visible
 443 || (m_children.isEmpty() && !m_state.drawsContent && m_currentContent.contentType == HTMLContentType))
 444 return FloatRect();
 445
 446 FloatRect boundingRect;
 447 if (m_state.drawsContent)
 448 boundingRect = entireRect();
 449 if (m_currentContent.contentType != HTMLContentType)
 450 boundingRect.unite(m_state.contentsRect);
 451
 452 boundingRect = m_transforms.target.mapRect(boundingRect);
 453
 454 if (!m_state.masksToBounds || !m_state.drawsContent) {
 455 for (size_t i = 0; i < m_children.size(); ++i)
 456 boundingRect.unite(m_children[i]->boundingRectIncludingDescendants());
 457
 458 if (m_state.masksToBounds)
 459 boundingRect.intersect(entireRect());
 460 }
 461
 462 if (m_state.replicaLayer)
 463 boundingRect.unite(m_state.replicaLayer->m_transforms.local.mapRect(boundingRect));
 464
 465 return boundingRect;
 466}
 467
 468#if ENABLE(CSS_FILTERS)
 469bool TextureMapperNode::paintWithFilters(const TextureMapperPaintOptions& options)
 470{
 471 if (!m_state.filters.size())
 472 return false;
 473 IntRect descendantsRect = enclosingIntRect(boundingRectIncludingDescendants());
 474 TransformationMatrix targetTransform = TransformationMatrix(m_transforms.target).translate(-descendantsRect.x(), -descendantsRect.y());
 475 RefPtr<BitmapTexture> tempSurface;
 476 if (m_children.size()) {
 477 tempSurface = options.textureMapper->acquireTextureFromPool(descendantsRect.size());
 478 TextureMapperPaintOptions surfaceOptions(options);
 479 surfaceOptions.opacity = 1;
 480 surfaceOptions.offset = FloatSize(options.offset.width() - descendantsRect.x(), options.offset.height() - descendantsRect.y());
 481 TextureMapperPaintOptions surfaceOptionsForDescendants(options);
 482 surfaceOptions.isSurface = true;
 483 options.textureMapper->bindSurface(tempSurface.get());
 484 paintSelfAndChildren(surfaceOptions, surfaceOptionsForDescendants);
 485 }
 486 RefPtr<BitmapTexture> sourceTexture = tempSurface ? tempSurface : texture();
 487 TextureMapperFilterRenderer filterRenderer(options.textureMapper);
 488 filterRenderer.render(*sourceTexture.get(), m_state.filters);
 489 options.textureMapper->releaseTextureToPool(tempSurface.get());
 490 RefPtr<BitmapTexture> filteredTexture(filterRenderer.outputTexture());
 491 FloatSize offset(descendantsRect.location() - filterRenderer.sourceRect().location());
 492 FloatRect targetRect(FloatPoint(offset.width(), offset.height()), filterRenderer.sourceRect().size());
 493
 494 options.textureMapper->bindSurface(options.surface);
 495
 496 // FIXME: a layer with reflection and filters needs its own code path and tests.
 497
 498 RefPtr<BitmapTexture> maskTexture;
 499 if (m_state.maskLayer)
 500 maskTexture = m_state.maskLayer->texture();
 501
 502 options.textureMapper->drawTexture(*filteredTexture.get(), targetRect, targetTransform, options.opacity, maskTexture.get());
 503
 504 return true;
 505}
 506#endif
 507
437508bool TextureMapperNode::paintReflection(const TextureMapperPaintOptions& options, BitmapTexture* contentSurface)
438509{
439510 if (!m_state.replicaLayer)

@@void TextureMapperNode::paintRecursive(TextureMapperPaintOptions options)
514585 return;
515586
516587 options.opacity *= m_opacity;
 588
 589#if ENABLE(CSS_FILTERS)
 590 if (paintWithFilters(options))
 591 return;
 592#endif
 593
517594 RefPtr<BitmapTexture> surface;
518595 const bool needsTwoPass = ((m_state.replicaLayer || m_state.maskLayer) && !m_children.isEmpty()) || (m_opacity < 0.99 && m_state.mightHaveOverlaps) || (m_opacity < 0.99 && m_state.replicaLayer);
519596 const IntSize viewportSize = options.textureMapper->viewportSize();

@@void TextureMapperNode::syncCompositingStateSelf(GraphicsLayerTextureMapper* gra
735812 m_state.backfaceVisibility = graphicsLayer->backfaceVisibility();
736813 m_state.childrenTransform = graphicsLayer->childrenTransform();
737814 m_state.opacity = graphicsLayer->opacity();
 815
 816#if ENABLE(CSS_FILTERS)
 817 m_state.filters = graphicsLayer->filters();
 818#endif
 819
738820 m_currentContent.contentType = pendingContent.contentType;
739821 m_currentContent.image = pendingContent.image;
740822 m_currentContent.media = pendingContent.media;

Source/WebCore/platform/graphics/texmap/TextureMapperNode.h

@@public:
4747
4848 float opacity;
4949 bool isSurface;
 50 FloatSize offset;
5051 TextureMapperPaintOptions()
5152 : surface(0)
5253 , textureMapper(0)

@@public:
154155 void setOpacity(float value) { m_opacity = value; }
155156 void setTextureMapper(TextureMapper* texmap) { m_textureMapper = texmap; }
156157 bool descendantsOrSelfHaveRunningAnimations() const;
 158 FloatRect boundingRectIncludingDescendants() const;
157159
158160 void paint();
159161

@@private:
195197
196198 void paintRecursive(TextureMapperPaintOptions);
197199 bool paintReflection(const TextureMapperPaintOptions&, BitmapTexture* surface);
 200#if ENABLE(CSS_FILTERS)
 201 bool paintWithFilters(const TextureMapperPaintOptions&);
 202#endif
 203
198204 void paintSelf(const TextureMapperPaintOptions&);
199205 void paintSelfAndChildren(const TextureMapperPaintOptions&, TextureMapperPaintOptions& optionsForDescendants);
200206 void renderContent(TextureMapper*, GraphicsLayer*);

@@private:
302308#if USE(TILED_BACKING_STORE)
303309 TileOwnership tileOwnership;
304310#endif
 311
 312#if ENABLE(CSS_FILTERS)
 313 FilterOperations filters;
 314#endif
 315
305316 State()
306317 : opacity(1.f)
307318 , maskLayer(0)

LayoutTests/ChangeLog

 12012-01-10 No'am Rosenthal <noam.rosenthal@nokia.com>
 2
 3 [Qt] Support filters in TextureMapperQt
 4 https://bugs.webkit.org/show_bug.cgi?id=76026
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 New baseline for css3/filters for qt-mac.
 9
 10 * platform/qt-linux/Skipped: For now skipping on Linux, would rebaseline later.
 11 * platform/qt-mac/css3/filters: new baseline for Mac
 12 * platform/qt/Skipped: Unskipping filter hardware test
 13
1142012-01-05 Stephen White <senorblanco@chromium.org>
215
316 [chomium] Mark svg FEColorMatrix tests as needing new baselines.

LayoutTests/platform/qt-linux/Skipped

 1# Need to rebaseline CSS filter tests:
 2css3/filters/crash-hw-sw-switch.html
 3css3/filters/effect-blur-hw.html
 4css3/filters/effect-combined.html
 5css3/filters/effect-combined-hw.html
 6css3/filters/effect-drop-shadow-hw.html
 7css3/filters/effect-grayscale-hw.html
 8css3/filters/effect-hue-rotate-hw.html
 9css3/filters/effect-invert-hw.html
 10css3/filters/effect-opacity-hw.html
 11css3/filters/effect-saturate-hw.html
 12css3/filters/effect-sepia-hw.html

LayoutTests/platform/qt-mac/css3/filters/add-filter-rendering-expected.png


Added

77f1a60efb50ce03b9222c207fcc70e6

LayoutTests/platform/qt-mac/css3/filters/add-filter-rendering-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6layer at (8,8) size 200x200
 7 RenderBlock {DIV} at (0,0) size 200x200 [bgcolor=#A672A3]

LayoutTests/platform/qt-mac/css3/filters/crash-filter-change-expected.png


Added

06858a9fb744e1bfd5bfdc43e0fcc1a1

LayoutTests/platform/qt-mac/css3/filters/crash-filter-change-expected.txt

 1

LayoutTests/platform/qt-mac/css3/filters/crash-hw-sw-switch-expected.png


Added

37dde020ed08fe6ca5158a2382016430

LayoutTests/platform/qt-mac/css3/filters/crash-hw-sw-switch-expected.txt

 1 PASS if test does not crash or cause an ASSERT failure.

LayoutTests/platform/qt-mac/css3/filters/effect-blur-expected.png


Added

9cf64cf6300874a6134b61079e4cd372

LayoutTests/platform/qt-mac/css3/filters/effect-blur-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (180,96) size 4x17
 7 text run at (180,96) width 4: " "
 8 RenderText {#text} at (364,96) size 4x17
 9 text run at (364,96) width 4: " "
 10 RenderText {#text} at (548,96) size 4x17
 11 text run at (548,96) width 4: " "
 12 RenderText {#text} at (0,0) size 0x0
 13layer at (18,18) size 160x90
 14 RenderImage {IMG} at (10,10) size 160x90
 15layer at (202,18) size 160x90
 16 RenderImage {IMG} at (194,10) size 160x90
 17layer at (386,18) size 160x90
 18 RenderImage {IMG} at (378,10) size 160x90
 19layer at (570,18) size 160x90
 20 RenderImage {IMG} at (562,10) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-blur-hw-expected.png


Added

c99b468dee41d5bc6a4a3d136b92c1f5

LayoutTests/platform/qt-mac/css3/filters/effect-blur-hw-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (180,96) size 4x17
 7 text run at (180,96) width 4: " "
 8 RenderText {#text} at (364,96) size 4x17
 9 text run at (364,96) width 4: " "
 10 RenderText {#text} at (548,96) size 4x17
 11 text run at (548,96) width 4: " "
 12 RenderText {#text} at (0,0) size 0x0
 13layer at (18,18) size 160x90
 14 RenderImage {IMG} at (10,10) size 160x90
 15layer at (202,18) size 160x90
 16 RenderImage {IMG} at (194,10) size 160x90
 17layer at (386,18) size 160x90
 18 RenderImage {IMG} at (378,10) size 160x90
 19layer at (570,18) size 160x90
 20 RenderImage {IMG} at (562,10) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-brightness-expected.png


Added

6e42e6d238512e19772c59686bc5dd3f

LayoutTests/platform/qt-mac/css3/filters/effect-brightness-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (324,170) size 4x17
 17 text run at (324,170) width 4: " "
 18 RenderText {#text} at (0,0) size 0x0
 19layer at (8,8) size 160x90
 20 RenderImage {IMG} at (0,0) size 160x90
 21layer at (172,8) size 160x90
 22 RenderImage {IMG} at (164,0) size 160x90
 23layer at (336,8) size 160x90
 24 RenderImage {IMG} at (328,0) size 160x90
 25layer at (500,8) size 160x90
 26 RenderImage {IMG} at (492,0) size 160x90
 27layer at (8,102) size 160x90
 28 RenderImage {IMG} at (0,94) size 160x90
 29layer at (172,102) size 160x90
 30 RenderImage {IMG} at (164,94) size 160x90
 31layer at (336,102) size 160x90
 32 RenderImage {IMG} at (328,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-combined-expected.png


Added

63474d6bef807fcd73ed822945b03bea

LayoutTests/platform/qt-mac/css3/filters/effect-combined-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (180,96) size 4x17
 7 text run at (180,96) width 4: " "
 8 RenderText {#text} at (364,96) size 4x17
 9 text run at (364,96) width 4: " "
 10 RenderText {#text} at (548,96) size 4x17
 11 text run at (548,96) width 4: " "
 12 RenderText {#text} at (732,96) size 4x17
 13 text run at (732,96) width 4: " "
 14 RenderText {#text} at (180,210) size 4x17
 15 text run at (180,210) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (18,18) size 160x90
 18 RenderImage {IMG} at (10,10) size 160x90
 19layer at (202,18) size 160x90
 20 RenderImage {IMG} at (194,10) size 160x90
 21layer at (386,18) size 160x90
 22 RenderImage {IMG} at (378,10) size 160x90
 23layer at (570,18) size 160x90
 24 RenderImage {IMG} at (562,10) size 160x90
 25layer at (18,132) size 160x90
 26 RenderImage {IMG} at (10,124) size 160x90
 27layer at (202,132) size 160x90
 28 RenderImage {IMG} at (194,124) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-combined-hw-expected.png


Added

3f87c13b8ad96dc41c9e8ed4f8b15ba5

LayoutTests/platform/qt-mac/css3/filters/effect-combined-hw-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (180,96) size 4x17
 7 text run at (180,96) width 4: " "
 8 RenderText {#text} at (364,96) size 4x17
 9 text run at (364,96) width 4: " "
 10 RenderText {#text} at (548,96) size 4x17
 11 text run at (548,96) width 4: " "
 12 RenderText {#text} at (732,96) size 4x17
 13 text run at (732,96) width 4: " "
 14 RenderText {#text} at (0,0) size 0x0
 15layer at (18,18) size 160x90
 16 RenderImage {IMG} at (10,10) size 160x90
 17layer at (202,18) size 160x90
 18 RenderImage {IMG} at (194,10) size 160x90
 19layer at (386,18) size 160x90
 20 RenderImage {IMG} at (378,10) size 160x90
 21layer at (570,18) size 160x90
 22 RenderImage {IMG} at (562,10) size 160x90
 23layer at (18,132) size 160x90
 24 RenderImage {IMG} at (10,124) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-contrast-expected.png


Added

03e51180ba7d5acea47e33135970cb8e

LayoutTests/platform/qt-mac/css3/filters/effect-contrast-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-drop-shadow-expected.png


Added

5cad7fae2cea240c80d675ed5839c8f8

LayoutTests/platform/qt-mac/css3/filters/effect-drop-shadow-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (190,106) size 4x17
 7 text run at (190,106) width 4: " "
 8 RenderText {#text} at (384,106) size 4x17
 9 text run at (384,106) width 4: " "
 10 RenderText {#text} at (578,106) size 4x17
 11 text run at (578,106) width 4: " "
 12 RenderText {#text} at (772,106) size 4x17
 13 text run at (772,106) width 4: " "
 14 RenderText {#text} at (0,0) size 0x0
 15layer at (23,23) size 160x90
 16 RenderImage {IMG} at (15,15) size 160x90
 17layer at (217,23) size 160x90
 18 RenderImage {IMG} at (209,15) size 160x90
 19layer at (411,23) size 160x90
 20 RenderImage {IMG} at (403,15) size 160x90
 21layer at (605,23) size 160x90
 22 RenderImage {IMG} at (597,15) size 160x90
 23layer at (23,147) size 160x90
 24 RenderImage {IMG} at (15,139) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-drop-shadow-hw-expected.png


Added

6e4500736b6f5f5d60561e828e621590

LayoutTests/platform/qt-mac/css3/filters/effect-drop-shadow-hw-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (190,106) size 4x17
 7 text run at (190,106) width 4: " "
 8 RenderText {#text} at (384,106) size 4x17
 9 text run at (384,106) width 4: " "
 10 RenderText {#text} at (578,106) size 4x17
 11 text run at (578,106) width 4: " "
 12 RenderText {#text} at (772,106) size 4x17
 13 text run at (772,106) width 4: " "
 14 RenderText {#text} at (0,0) size 0x0
 15layer at (23,23) size 160x90
 16 RenderImage {IMG} at (15,15) size 160x90
 17layer at (217,23) size 160x90
 18 RenderImage {IMG} at (209,15) size 160x90
 19layer at (411,23) size 160x90
 20 RenderImage {IMG} at (403,15) size 160x90
 21layer at (605,23) size 160x90
 22 RenderImage {IMG} at (597,15) size 160x90
 23layer at (23,147) size 160x90
 24 RenderImage {IMG} at (15,139) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-grayscale-expected.png


Added

524b4190c9fe249bcef15e7870901afa

LayoutTests/platform/qt-mac/css3/filters/effect-grayscale-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-grayscale-hw-expected.png


Added

8ef8ede00ef8069dc92af2aee99cfa1b

LayoutTests/platform/qt-mac/css3/filters/effect-grayscale-hw-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-hue-rotate-expected.png


Added

7f7390907fc8d08caf7dc574a137adcd

LayoutTests/platform/qt-mac/css3/filters/effect-hue-rotate-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-hue-rotate-hw-expected.png


Added

0796b32c8be7f3bf24e5b7b2d1f69275

LayoutTests/platform/qt-mac/css3/filters/effect-hue-rotate-hw-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-invert-expected.png


Added

d68f2d318b6c7ef4ed554266813fc523

LayoutTests/platform/qt-mac/css3/filters/effect-invert-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-invert-hw-expected.png


Added

0eba0b3c272100991ce62337b54ed764

LayoutTests/platform/qt-mac/css3/filters/effect-invert-hw-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-opacity-expected.png


Added

19d02676e0202eeb76e45ddb8d64c793

LayoutTests/platform/qt-mac/css3/filters/effect-opacity-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-opacity-hw-expected.png


Added

19d02676e0202eeb76e45ddb8d64c793

LayoutTests/platform/qt-mac/css3/filters/effect-opacity-hw-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-saturate-expected.png


Added

60589a210fbba2dbd16535c89b1635af

LayoutTests/platform/qt-mac/css3/filters/effect-saturate-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-saturate-hw-expected.png


Added

1de78d2387019d387050eb49aa83db19

LayoutTests/platform/qt-mac/css3/filters/effect-saturate-hw-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-sepia-expected.png


Added

aebbd04ba2ee08fe379bfc6dddeef99d

LayoutTests/platform/qt-mac/css3/filters/effect-sepia-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/effect-sepia-hw-expected.png


Added

ffb60f6ab957345e06568e1ba6febf9e

LayoutTests/platform/qt-mac/css3/filters/effect-sepia-hw-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (324,76) size 4x17
 9 text run at (324,76) width 4: " "
 10 RenderText {#text} at (488,76) size 4x17
 11 text run at (488,76) width 4: " "
 12 RenderText {#text} at (652,76) size 4x17
 13 text run at (652,76) width 4: " "
 14 RenderText {#text} at (160,170) size 4x17
 15 text run at (160,170) width 4: " "
 16 RenderText {#text} at (0,0) size 0x0
 17layer at (8,8) size 160x90
 18 RenderImage {IMG} at (0,0) size 160x90
 19layer at (172,8) size 160x90
 20 RenderImage {IMG} at (164,0) size 160x90
 21layer at (336,8) size 160x90
 22 RenderImage {IMG} at (328,0) size 160x90
 23layer at (500,8) size 160x90
 24 RenderImage {IMG} at (492,0) size 160x90
 25layer at (8,102) size 160x90
 26 RenderImage {IMG} at (0,94) size 160x90
 27layer at (172,102) size 160x90
 28 RenderImage {IMG} at (164,94) size 160x90

LayoutTests/platform/qt-mac/css3/filters/filter-empty-element-crash-expected.png


Added

f13ecb0fdd5cbe8b78d1c0cc0bc5c957

LayoutTests/platform/qt-mac/css3/filters/filter-empty-element-crash-expected.txt

 1If you can read this, the test passed.

LayoutTests/platform/qt-mac/css3/filters/filter-region-expected.png


Added

598a680cbbab8cc10a9398d786568cf2

LayoutTests/platform/qt-mac/css3/filters/filter-region-expected.txt

 1

LayoutTests/platform/qt-mac/css3/filters/filter-with-transform-expected.png


Added

6f4754297e4ba55fcf38d20e6d1fb86b

LayoutTests/platform/qt-mac/css3/filters/filter-with-transform-expected.txt

 1

LayoutTests/platform/qt-mac/css3/filters/filtered-inline-expected.png


Added

121924148aef7fc1f6b58efd2343c9f7

LayoutTests/platform/qt-mac/css3/filters/filtered-inline-expected.txt

 1

LayoutTests/platform/qt-mac/css3/filters/nested-filter-expected.png


Added

8b4c5dab9146b551caba76a75356e0d3

LayoutTests/platform/qt-mac/css3/filters/nested-filter-expected.txt

 1

LayoutTests/platform/qt-mac/css3/filters/nested-filters-expected.png


Added

e155260a3f543244fbc2ca38532196fc

LayoutTests/platform/qt-mac/css3/filters/nested-filters-expected.txt

 1

LayoutTests/platform/qt-mac/css3/filters/regions-expanding-expected.png


Added

261522c5570004c4c2521b1c51ae693b

LayoutTests/platform/qt-mac/css3/filters/regions-expanding-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderText {#text} at (160,76) size 4x17
 7 text run at (160,76) width 4: " "
 8 RenderText {#text} at (0,0) size 0x0
 9 RenderText {#text} at (324,76) size 4x17
 10 text run at (324,76) width 4: " "
 11 RenderText {#text} at (0,0) size 0x0
 12 RenderText {#text} at (0,0) size 0x0
 13layer at (8,8) size 160x90
 14 RenderImage {IMG} at (0,0) size 160x90
 15layer at (172,8) size 160x90
 16 RenderImage {IMG} at (164,0) size 160x90
 17layer at (336,8) size 160x90
 18 RenderImage {IMG} at (328,0) size 160x90

LayoutTests/platform/qt-mac/css3/filters/remove-filter-rendering-expected.png


Added

f7be8f474521ba628de605e9b4c40def

LayoutTests/platform/qt-mac/css3/filters/remove-filter-rendering-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6 RenderBlock {DIV} at (0,0) size 200x200 [bgcolor=#008000]

LayoutTests/platform/qt-mac/css3/filters/simple-filter-rendering-expected.png


Added

77f1a60efb50ce03b9222c207fcc70e6

LayoutTests/platform/qt-mac/css3/filters/simple-filter-rendering-expected.txt

 1layer at (0,0) size 800x600
 2 RenderView at (0,0) size 800x600
 3layer at (0,0) size 800x600
 4 RenderBlock {HTML} at (0,0) size 800x600
 5 RenderBody {BODY} at (8,8) size 784x584
 6layer at (8,8) size 200x200
 7 RenderBlock {DIV} at (0,0) size 200x200 [bgcolor=#A672A3]

LayoutTests/platform/qt/Skipped

@@css3/filters/filter-property-parsing-invalid.html
248248css3/filters/filter-property-parsing.html
249249css3/filters/filter-property.html
250250css3/filters/filter-repaint.html
251 css3/filters/crash-hw-sw-switch.html
252 css3/filters/effect-blur-hw.html
253 css3/filters/effect-combined.html
254 css3/filters/effect-combined-hw.html
255251css3/filters/effect-custom.html
256 css3/filters/effect-drop-shadow-hw.html
257 css3/filters/effect-grayscale-hw.html
258 css3/filters/effect-hue-rotate-hw.html
259 css3/filters/effect-invert-hw.html
260 css3/filters/effect-opacity-hw.html
261 css3/filters/effect-saturate-hw.html
262 css3/filters/effect-sepia-hw.html
263252
264253# Support multipart responses is not implemented.
265254# https://bugs.webkit.org/show_bug.cgi?id=47060

LayoutTests/platform/qt/css3/filters/add-filter-rendering-expected.png

77f1a60efb50ce03b9222c207fcc70e6


Removed

LayoutTests/platform/qt/css3/filters/add-filter-rendering-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6 layer at (8,8) size 200x200
7  RenderBlock {DIV} at (0,0) size 200x200 [bgcolor=#A672A3]

LayoutTests/platform/qt/css3/filters/crash-filter-change-expected.png

06858a9fb744e1bfd5bfdc43e0fcc1a1


Removed

LayoutTests/platform/qt/css3/filters/crash-filter-change-expected.txt

1 

LayoutTests/platform/qt/css3/filters/crash-hw-sw-switch-expected.png

37dde020ed08fe6ca5158a2382016430


Removed

LayoutTests/platform/qt/css3/filters/custom-filter-property-parsing-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderBlock {P} at (0,0) size 784x0
7  RenderBlock {DIV} at (0,0) size 784x0

LayoutTests/platform/qt/css3/filters/custom-filter-property-parsing-invalid-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderBlock {P} at (0,0) size 784x0
7  RenderBlock {DIV} at (0,0) size 784x0

LayoutTests/platform/qt/css3/filters/effect-blur-expected.png

9cf64cf6300874a6134b61079e4cd372


Removed

LayoutTests/platform/qt/css3/filters/effect-blur-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderText {#text} at (180,94) size 4x21
7  text run at (180,94) width 4: " "
8  RenderText {#text} at (364,94) size 4x21
9  text run at (364,94) width 4: " "
10  RenderText {#text} at (548,94) size 4x21
11  text run at (548,94) width 4: " "
12  RenderText {#text} at (0,0) size 0x0
13 layer at (18,18) size 160x90
14  RenderImage {IMG} at (10,10) size 160x90
15 layer at (202,18) size 160x90
16  RenderImage {IMG} at (194,10) size 160x90
17 layer at (386,18) size 160x90
18  RenderImage {IMG} at (378,10) size 160x90
19 layer at (570,18) size 160x90
20  RenderImage {IMG} at (562,10) size 160x90

LayoutTests/platform/qt/css3/filters/effect-brightness-expected.png

8b31eabe0191ba79cda0d7633ddaa8be


Removed

LayoutTests/platform/qt/css3/filters/effect-brightness-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderText {#text} at (160,74) size 4x21
7  text run at (160,74) width 4: " "
8  RenderText {#text} at (324,74) size 4x21
9  text run at (324,74) width 4: " "
10  RenderText {#text} at (488,74) size 4x21
11  text run at (488,74) width 4: " "
12  RenderText {#text} at (652,74) size 4x21
13  text run at (652,74) width 4: " "
14  RenderText {#text} at (160,169) size 4x21
15  text run at (160,169) width 4: " "
16  RenderText {#text} at (324,169) size 4x21
17  text run at (324,169) width 4: " "
18  RenderText {#text} at (0,0) size 0x0
19 layer at (8,8) size 160x90
20  RenderImage {IMG} at (0,0) size 160x90
21 layer at (172,8) size 160x90
22  RenderImage {IMG} at (164,0) size 160x90
23 layer at (336,8) size 160x90
24  RenderImage {IMG} at (328,0) size 160x90
25 layer at (500,8) size 160x90
26  RenderImage {IMG} at (492,0) size 160x90
27 layer at (8,103) size 160x90
28  RenderImage {IMG} at (0,95) size 160x90
29 layer at (172,103) size 160x90
30  RenderImage {IMG} at (164,95) size 160x90
31 layer at (336,103) size 160x90
32  RenderImage {IMG} at (328,95) size 160x90

LayoutTests/platform/qt/css3/filters/effect-contrast-expected.png

fd1dc85d537a5a544248998d093b3b97


Removed

LayoutTests/platform/qt/css3/filters/effect-contrast-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderText {#text} at (160,74) size 4x21
7  text run at (160,74) width 4: " "
8  RenderText {#text} at (324,74) size 4x21
9  text run at (324,74) width 4: " "
10  RenderText {#text} at (488,74) size 4x21
11  text run at (488,74) width 4: " "
12  RenderText {#text} at (652,74) size 4x21
13  text run at (652,74) width 4: " "
14  RenderText {#text} at (160,169) size 4x21
15  text run at (160,169) width 4: " "
16  RenderText {#text} at (0,0) size 0x0
17 layer at (8,8) size 160x90
18  RenderImage {IMG} at (0,0) size 160x90
19 layer at (172,8) size 160x90
20  RenderImage {IMG} at (164,0) size 160x90
21 layer at (336,8) size 160x90
22  RenderImage {IMG} at (328,0) size 160x90
23 layer at (500,8) size 160x90
24  RenderImage {IMG} at (492,0) size 160x90
25 layer at (8,103) size 160x90
26  RenderImage {IMG} at (0,95) size 160x90
27 layer at (172,103) size 160x90
28  RenderImage {IMG} at (164,95) size 160x90

LayoutTests/platform/qt/css3/filters/effect-drop-shadow-expected.png

c88abc1688539642f0804a34f7e0d395


Removed

LayoutTests/platform/qt/css3/filters/effect-drop-shadow-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderText {#text} at (190,104) size 4x21
7  text run at (190,104) width 4: " "
8  RenderText {#text} at (384,104) size 4x21
9  text run at (384,104) width 4: " "
10  RenderText {#text} at (578,104) size 4x21
11  text run at (578,104) width 4: " "
12  RenderText {#text} at (772,104) size 4x21
13  text run at (772,104) width 4: " "
14  RenderText {#text} at (0,0) size 0x0
15 layer at (23,23) size 160x90
16  RenderImage {IMG} at (15,15) size 160x90
17 layer at (217,23) size 160x90
18  RenderImage {IMG} at (209,15) size 160x90
19 layer at (411,23) size 160x90
20  RenderImage {IMG} at (403,15) size 160x90
21 layer at (605,23) size 160x90
22  RenderImage {IMG} at (597,15) size 160x90
23 layer at (23,148) size 160x90
24  RenderImage {IMG} at (15,140) size 160x90

LayoutTests/platform/qt/css3/filters/effect-grayscale-expected.png

e560db807354ea6eecfebfef5443324e


Removed

LayoutTests/platform/qt/css3/filters/effect-grayscale-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderText {#text} at (160,74) size 4x21
7  text run at (160,74) width 4: " "
8  RenderText {#text} at (324,74) size 4x21
9  text run at (324,74) width 4: " "
10  RenderText {#text} at (488,74) size 4x21
11  text run at (488,74) width 4: " "
12  RenderText {#text} at (652,74) size 4x21
13  text run at (652,74) width 4: " "
14  RenderText {#text} at (160,169) size 4x21
15  text run at (160,169) width 4: " "
16  RenderText {#text} at (0,0) size 0x0
17 layer at (8,8) size 160x90
18  RenderImage {IMG} at (0,0) size 160x90
19 layer at (172,8) size 160x90
20  RenderImage {IMG} at (164,0) size 160x90
21 layer at (336,8) size 160x90
22  RenderImage {IMG} at (328,0) size 160x90
23 layer at (500,8) size 160x90
24  RenderImage {IMG} at (492,0) size 160x90
25 layer at (8,103) size 160x90
26  RenderImage {IMG} at (0,95) size 160x90
27 layer at (172,103) size 160x90
28  RenderImage {IMG} at (164,95) size 160x90

LayoutTests/platform/qt/css3/filters/effect-hue-rotate-expected.png

405ebe0359451437afe76bbfa7ff8485


Removed

LayoutTests/platform/qt/css3/filters/effect-hue-rotate-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderText {#text} at (160,74) size 4x21
7  text run at (160,74) width 4: " "
8  RenderText {#text} at (324,74) size 4x21
9  text run at (324,74) width 4: " "
10  RenderText {#text} at (488,74) size 4x21
11  text run at (488,74) width 4: " "
12  RenderText {#text} at (652,74) size 4x21
13  text run at (652,74) width 4: " "
14  RenderText {#text} at (160,169) size 4x21
15  text run at (160,169) width 4: " "
16  RenderText {#text} at (0,0) size 0x0
17 layer at (8,8) size 160x90
18  RenderImage {IMG} at (0,0) size 160x90
19 layer at (172,8) size 160x90
20  RenderImage {IMG} at (164,0) size 160x90
21 layer at (336,8) size 160x90
22  RenderImage {IMG} at (328,0) size 160x90
23 layer at (500,8) size 160x90
24  RenderImage {IMG} at (492,0) size 160x90
25 layer at (8,103) size 160x90
26  RenderImage {IMG} at (0,95) size 160x90
27 layer at (172,103) size 160x90
28  RenderImage {IMG} at (164,95) size 160x90

LayoutTests/platform/qt/css3/filters/effect-invert-expected.png

f0b984e8d72e7ced4675489b77dec783


Removed

LayoutTests/platform/qt/css3/filters/effect-invert-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderText {#text} at (160,74) size 4x21
7  text run at (160,74) width 4: " "
8  RenderText {#text} at (324,74) size 4x21
9  text run at (324,74) width 4: " "
10  RenderText {#text} at (488,74) size 4x21
11  text run at (488,74) width 4: " "
12  RenderText {#text} at (652,74) size 4x21
13  text run at (652,74) width 4: " "
14  RenderText {#text} at (160,169) size 4x21
15  text run at (160,169) width 4: " "
16  RenderText {#text} at (0,0) size 0x0
17 layer at (8,8) size 160x90
18  RenderImage {IMG} at (0,0) size 160x90
19 layer at (172,8) size 160x90
20  RenderImage {IMG} at (164,0) size 160x90
21 layer at (336,8) size 160x90
22  RenderImage {IMG} at (328,0) size 160x90
23 layer at (500,8) size 160x90
24  RenderImage {IMG} at (492,0) size 160x90
25 layer at (8,103) size 160x90
26  RenderImage {IMG} at (0,95) size 160x90
27 layer at (172,103) size 160x90
28  RenderImage {IMG} at (164,95) size 160x90

LayoutTests/platform/qt/css3/filters/effect-opacity-expected.png

aff4c44c3fc336cd1c0cf07394f637b0


Removed

LayoutTests/platform/qt/css3/filters/effect-opacity-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderText {#text} at (160,74) size 4x21
7  text run at (160,74) width 4: " "
8  RenderText {#text} at (324,74) size 4x21
9  text run at (324,74) width 4: " "
10  RenderText {#text} at (488,74) size 4x21
11  text run at (488,74) width 4: " "
12  RenderText {#text} at (652,74) size 4x21
13  text run at (652,74) width 4: " "
14  RenderText {#text} at (160,169) size 4x21
15  text run at (160,169) width 4: " "
16  RenderText {#text} at (0,0) size 0x0
17 layer at (8,8) size 160x90
18  RenderImage {IMG} at (0,0) size 160x90
19 layer at (172,8) size 160x90
20  RenderImage {IMG} at (164,0) size 160x90
21 layer at (336,8) size 160x90
22  RenderImage {IMG} at (328,0) size 160x90
23 layer at (500,8) size 160x90
24  RenderImage {IMG} at (492,0) size 160x90
25 layer at (8,103) size 160x90
26  RenderImage {IMG} at (0,95) size 160x90
27 layer at (172,103) size 160x90
28  RenderImage {IMG} at (164,95) size 160x90

LayoutTests/platform/qt/css3/filters/effect-saturate-expected.png

03e69c251cfb234c0055250596bc91f8


Removed

LayoutTests/platform/qt/css3/filters/effect-saturate-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderText {#text} at (160,74) size 4x21
7  text run at (160,74) width 4: " "
8  RenderText {#text} at (324,74) size 4x21
9  text run at (324,74) width 4: " "
10  RenderText {#text} at (488,74) size 4x21
11  text run at (488,74) width 4: " "
12  RenderText {#text} at (652,74) size 4x21
13  text run at (652,74) width 4: " "
14  RenderText {#text} at (160,169) size 4x21
15  text run at (160,169) width 4: " "
16  RenderText {#text} at (0,0) size 0x0
17 layer at (8,8) size 160x90
18  RenderImage {IMG} at (0,0) size 160x90
19 layer at (172,8) size 160x90
20  RenderImage {IMG} at (164,0) size 160x90
21 layer at (336,8) size 160x90
22  RenderImage {IMG} at (328,0) size 160x90
23 layer at (500,8) size 160x90
24  RenderImage {IMG} at (492,0) size 160x90
25 layer at (8,103) size 160x90
26  RenderImage {IMG} at (0,95) size 160x90
27 layer at (172,103) size 160x90
28  RenderImage {IMG} at (164,95) size 160x90

LayoutTests/platform/qt/css3/filters/effect-sepia-expected.png

5fd51e490aa80c30589a9d4c2e754d3f


Removed

LayoutTests/platform/qt/css3/filters/effect-sepia-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderText {#text} at (160,74) size 4x21
7  text run at (160,74) width 4: " "
8  RenderText {#text} at (324,74) size 4x21
9  text run at (324,74) width 4: " "
10  RenderText {#text} at (488,74) size 4x21
11  text run at (488,74) width 4: " "
12  RenderText {#text} at (652,74) size 4x21
13  text run at (652,74) width 4: " "
14  RenderText {#text} at (160,169) size 4x21
15  text run at (160,169) width 4: " "
16  RenderText {#text} at (0,0) size 0x0
17 layer at (8,8) size 160x90
18  RenderImage {IMG} at (0,0) size 160x90
19 layer at (172,8) size 160x90
20  RenderImage {IMG} at (164,0) size 160x90
21 layer at (336,8) size 160x90
22  RenderImage {IMG} at (328,0) size 160x90
23 layer at (500,8) size 160x90
24  RenderImage {IMG} at (492,0) size 160x90
25 layer at (8,103) size 160x90
26  RenderImage {IMG} at (0,95) size 160x90
27 layer at (172,103) size 160x90
28  RenderImage {IMG} at (164,95) size 160x90

LayoutTests/platform/qt/css3/filters/filter-animation-expected.png

89019cd0208ae4a9e98b2c69d2f22d7f


Removed

LayoutTests/platform/qt/css3/filters/filter-animation-expected.txt

1 CONSOLE MESSAGE: line 123: ReferenceError: Can't find variable: runAnimationTest
2 layer at (0,0) size 800x600
3  RenderView at (0,0) size 800x600
4 layer at (0,0) size 800x264
5  RenderBlock {HTML} at (0,0) size 800x264
6  RenderBody {BODY} at (8,8) size 784x248
7  RenderBlock (anonymous) at (0,0) size 784x248
8  RenderText {#text} at (120,106) size 4x17
9  text run at (120,106) width 4: " "
10  RenderText {#text} at (244,106) size 4x17
11  text run at (244,106) width 4: " "
12  RenderText {#text} at (368,106) size 4x17
13  text run at (368,106) width 4: " "
14  RenderText {#text} at (492,106) size 4x17
15  text run at (492,106) width 4: " "
16  RenderText {#text} at (616,106) size 4x17
17  text run at (616,106) width 4: " "
18  RenderText {#text} at (740,106) size 4x17
19  text run at (740,106) width 4: " "
20  RenderText {#text} at (120,230) size 4x17
21  text run at (120,230) width 4: " "
22  RenderText {#text} at (244,230) size 4x17
23  text run at (244,230) width 4: " "
24  RenderText {#text} at (0,0) size 0x0
25  RenderText {#text} at (0,0) size 0x0
26  RenderBlock {DIV} at (0,248) size 784x0
27 layer at (18,18) size 100x100
28  RenderBlock {DIV} at (10,10) size 100x100 [bgcolor=#0000FF]
29 layer at (142,18) size 100x100
30  RenderBlock {DIV} at (134,10) size 100x100 [bgcolor=#0000FF]
31 layer at (266,18) size 100x100
32  RenderBlock {DIV} at (258,10) size 100x100 [bgcolor=#0000FF]
33 layer at (390,18) size 100x100
34  RenderBlock {DIV} at (382,10) size 100x100 [bgcolor=#0000FF]
35 layer at (514,18) size 100x100
36  RenderBlock {DIV} at (506,10) size 100x100 [bgcolor=#0000FF]
37 layer at (638,18) size 100x100
38  RenderBlock {DIV} at (630,10) size 100x100 [bgcolor=#0000FF]
39 layer at (18,142) size 100x100
40  RenderBlock {DIV} at (10,134) size 100x100 [bgcolor=#0000FF]
41 layer at (142,142) size 100x100
42  RenderBlock {DIV} at (134,134) size 100x100 [bgcolor=#0000FF]
43 layer at (266,142) size 100x100
44  RenderBlock {DIV} at (258,134) size 100x100 [bgcolor=#0000FF]

LayoutTests/platform/qt/css3/filters/filter-animation-from-none-expected.png

0c0c7d9b1a4d916fb56f607d871cea6a


Removed

LayoutTests/platform/qt/css3/filters/filter-animation-from-none-expected.txt

1 CONSOLE MESSAGE: line 123: ReferenceError: Can't find variable: runAnimationTest
2 layer at (0,0) size 800x600
3  RenderView at (0,0) size 800x600
4 layer at (0,0) size 800x264
5  RenderBlock {HTML} at (0,0) size 800x264
6  RenderBody {BODY} at (8,8) size 784x248
7  RenderBlock (anonymous) at (0,0) size 784x248
8  RenderText {#text} at (120,106) size 4x17
9  text run at (120,106) width 4: " "
10  RenderText {#text} at (244,106) size 4x17
11  text run at (244,106) width 4: " "
12  RenderText {#text} at (368,106) size 4x17
13  text run at (368,106) width 4: " "
14  RenderText {#text} at (492,106) size 4x17
15  text run at (492,106) width 4: " "
16  RenderText {#text} at (616,106) size 4x17
17  text run at (616,106) width 4: " "
18  RenderText {#text} at (740,106) size 4x17
19  text run at (740,106) width 4: " "
20  RenderText {#text} at (120,230) size 4x17
21  text run at (120,230) width 4: " "
22  RenderText {#text} at (244,230) size 4x17
23  text run at (244,230) width 4: " "
24  RenderText {#text} at (0,0) size 0x0
25  RenderText {#text} at (0,0) size 0x0
26  RenderBlock {DIV} at (0,248) size 784x0
27 layer at (18,18) size 100x100
28  RenderBlock {DIV} at (10,10) size 100x100 [bgcolor=#0000FF]
29 layer at (142,18) size 100x100
30  RenderBlock {DIV} at (134,10) size 100x100 [bgcolor=#0000FF]
31 layer at (266,18) size 100x100
32  RenderBlock {DIV} at (258,10) size 100x100 [bgcolor=#0000FF]
33 layer at (390,18) size 100x100
34  RenderBlock {DIV} at (382,10) size 100x100 [bgcolor=#0000FF]
35 layer at (514,18) size 100x100
36  RenderBlock {DIV} at (506,10) size 100x100 [bgcolor=#0000FF]
37 layer at (638,18) size 100x100
38  RenderBlock {DIV} at (630,10) size 100x100 [bgcolor=#0000FF]
39 layer at (18,142) size 100x100
40  RenderBlock {DIV} at (10,134) size 100x100 [bgcolor=#0000FF]
41 layer at (142,142) size 100x100
42  RenderBlock {DIV} at (134,134) size 100x100 [bgcolor=#0000FF]
43 layer at (266,142) size 100x100
44  RenderBlock {DIV} at (258,134) size 100x100 [bgcolor=#0000FF]

LayoutTests/platform/qt/css3/filters/filter-property-computed-style-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderBlock {P} at (0,0) size 784x0
7  RenderBlock {DIV} at (0,0) size 784x0

LayoutTests/platform/qt/css3/filters/filter-property-expected.png

853de00567d121bea0b7bece66a5d61c


Removed

LayoutTests/platform/qt/css3/filters/filter-property-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderBlock {P} at (0,0) size 784x0
7  RenderBlock {DIV} at (0,0) size 784x0

LayoutTests/platform/qt/css3/filters/filter-property-parsing-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderBlock {P} at (0,0) size 784x0
7  RenderBlock {DIV} at (0,0) size 784x0

LayoutTests/platform/qt/css3/filters/filter-property-parsing-invalid-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderBlock {P} at (0,0) size 784x0
7  RenderBlock {DIV} at (0,0) size 784x0

LayoutTests/platform/qt/css3/filters/filter-region-expected.png

598a680cbbab8cc10a9398d786568cf2


Removed

LayoutTests/platform/qt/css3/filters/filter-region-expected.txt

1 

LayoutTests/platform/qt/css3/filters/filter-repaint-expected.png

e996ab44f2cc993b1455e947258d63a3


Removed

LayoutTests/platform/qt/css3/filters/filter-repaint-expected.txt

1 CONSOLE MESSAGE: line 37: ReferenceError: Can't find variable: runRepaintTest
2 

LayoutTests/platform/qt/css3/filters/filter-with-transform-expected.png

6f4754297e4ba55fcf38d20e6d1fb86b


Removed

LayoutTests/platform/qt/css3/filters/filter-with-transform-expected.txt

1 

LayoutTests/platform/qt/css3/filters/filtered-inline-expected.png

121924148aef7fc1f6b58efd2343c9f7


Removed

LayoutTests/platform/qt/css3/filters/filtered-inline-expected.txt

1 

LayoutTests/platform/qt/css3/filters/nested-filter-expected.png

8b4c5dab9146b551caba76a75356e0d3


Removed

LayoutTests/platform/qt/css3/filters/nested-filter-expected.txt

1 

LayoutTests/platform/qt/css3/filters/nested-filters-expected.png

e155260a3f543244fbc2ca38532196fc


Removed

LayoutTests/platform/qt/css3/filters/nested-filters-expected.txt

1 

LayoutTests/platform/qt/css3/filters/regions-expanding-expected.png

261522c5570004c4c2521b1c51ae693b


Removed

LayoutTests/platform/qt/css3/filters/regions-expanding-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderText {#text} at (160,74) size 4x21
7  text run at (160,74) width 4: " "
8  RenderText {#text} at (0,0) size 0x0
9  RenderText {#text} at (324,74) size 4x21
10  text run at (324,74) width 4: " "
11  RenderText {#text} at (0,0) size 0x0
12  RenderText {#text} at (0,0) size 0x0
13 layer at (8,8) size 160x90
14  RenderImage {IMG} at (0,0) size 160x90
15 layer at (172,8) size 160x90
16  RenderImage {IMG} at (164,0) size 160x90
17 layer at (336,8) size 160x90
18  RenderImage {IMG} at (328,0) size 160x90

LayoutTests/platform/qt/css3/filters/remove-filter-rendering-expected.png

f7be8f474521ba628de605e9b4c40def


Removed

LayoutTests/platform/qt/css3/filters/remove-filter-rendering-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6  RenderBlock {DIV} at (0,0) size 200x200 [bgcolor=#008000]

LayoutTests/platform/qt/css3/filters/simple-filter-rendering-expected.png

77f1a60efb50ce03b9222c207fcc70e6


Removed

LayoutTests/platform/qt/css3/filters/simple-filter-rendering-expected.txt

1 layer at (0,0) size 800x600
2  RenderView at (0,0) size 800x600
3 layer at (0,0) size 800x600
4  RenderBlock {HTML} at (0,0) size 800x600
5  RenderBody {BODY} at (8,8) size 784x584
6 layer at (8,8) size 200x200
7  RenderBlock {DIV} at (0,0) size 200x200 [bgcolor=#A672A3]