diff options
author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2013-09-03 17:32:19 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-03 19:31:22 +0200 |
commit | cd76eaf6deede510b492088396abac46be4722ef (patch) | |
tree | 45cc1e97f0cb672e8ff9c14106c7ddcaf925cd4b | |
parent | 6ba56a9a6a9a087a4517219f4d0febc0c6f8df88 (diff) | |
download | qtwebkit-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.cpp | 13 |
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) |