Title: [154983] trunk/Source/WebKit/qt
Revision
154983
Author
allan.jen...@digia.com
Date
2013-09-03 07:47:01 -0700 (Tue, 03 Sep 2013)

Log Message

[Qt] Tiled-backing store not clipped to frame or visible rect
https://bugs.webkit.org/show_bug.cgi?id=120606

Reviewed by Jocelyn Turcotte.

Clip painting from the tiled-backing store to the frame rect.

* WebCoreSupport/QWebFrameAdapter.cpp:
(QWebFrameAdapter::renderFromTiledBackingStore):

Modified Paths

Diff

Modified: trunk/Source/WebKit/qt/ChangeLog (154982 => 154983)


--- trunk/Source/WebKit/qt/ChangeLog	2013-09-03 14:43:20 UTC (rev 154982)
+++ trunk/Source/WebKit/qt/ChangeLog	2013-09-03 14:47:01 UTC (rev 154983)
@@ -1,5 +1,17 @@
 2013-09-03  Allan Sandfeld Jensen  <allan.jen...@digia.com>
 
+        [Qt] Tiled-backing store not clipped to frame or visible rect
+        https://bugs.webkit.org/show_bug.cgi?id=120606
+
+        Reviewed by Jocelyn Turcotte.
+
+        Clip painting from the tiled-backing store to the frame rect.
+
+        * WebCoreSupport/QWebFrameAdapter.cpp:
+        (QWebFrameAdapter::renderFromTiledBackingStore):
+
+2013-09-03  Allan Sandfeld Jensen  <allan.jen...@digia.com>
+
         [Qt][WK1] PageVisibility tests are flaky
         https://bugs.webkit.org/show_bug.cgi?id=120418
 

Modified: trunk/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp (154982 => 154983)


--- trunk/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp	2013-09-03 14:43:20 UTC (rev 154982)
+++ trunk/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp	2013-09-03 14:47:01 UTC (rev 154983)
@@ -641,19 +641,20 @@
 
     int scrollX = view->scrollX();
     int scrollY = view->scrollY();
-    context.translate(-scrollX, -scrollY);
+    QRect frameRect = view->frameRect();
 
     for (int i = 0; i < vector.size(); ++i) {
         const QRect& clipRect = vector.at(i);
 
-        painter->save();
+        context.save();
+        QRect rect = clipRect.intersected(frameRect);
+        context.translate(-scrollX, -scrollY);
+        rect.translate(scrollX, scrollY);
+        context.clip(rect);
 
-        QRect rect = clipRect.translated(scrollX, scrollY);
-        painter->setClipRect(rect, Qt::IntersectClip);
-
         frame->tiledBackingStore()->paint(&context, rect);
 
-        painter->restore();
+        context.restore();
     }
 
 #if USE(ACCELERATED_COMPOSITING)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to