summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2013-09-03 17:32:19 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-03 19:31:22 +0200
commitcd76eaf6deede510b492088396abac46be4722ef (patch)
tree45cc1e97f0cb672e8ff9c14106c7ddcaf925cd4b
parent6ba56a9a6a9a087a4517219f4d0febc0c6f8df88 (diff)
downloadqtwebkit-cd76eaf6deede510b492088396abac46be4722ef.tar.gz
[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): Change-Id: Ic6947ae8cf58ce597ef82e2f465fc66d5674e0bd git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154983 268f45cc-cd09-0410-ab3c-d52691b4dbfc Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
index 595d758b4..baf5d5d00 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
@@ -634,19 +634,20 @@ bool QWebFrameAdapter::renderFromTiledBackingStore(QPainter* painter, const QReg
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();
-
- QRect rect = clipRect.translated(scrollX, scrollY);
- painter->setClipRect(rect, Qt::IntersectClip);
+ context.save();
+ QRect rect = clipRect.intersected(frameRect);
+ context.translate(-scrollX, -scrollY);
+ rect.translate(scrollX, scrollY);
+ context.clip(rect);
frame->tiledBackingStore()->paint(&context, rect);
- painter->restore();
+ context.restore();
}
#if USE(ACCELERATED_COMPOSITING)