https://bugs.webkit.org/show_bug.cgi?id=78816
Source/WebCore:
Adjust the scissor clipping by -1, as the glScissor() function requires coordinates and
not sizes.
Reviewed by Kenneth Rohde Christiansen.
No new functionality.
* platform/graphics/opengl/TextureMapperGL.cpp:
(WebCore::scissorClip):
Source/WebKit2:
Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
Reviewed by Kenneth Rohde Christiansen.
* UIProcess/qt/LayerBackingStore.cpp:
(WebKit::LayerBackingStore::paintToTextureMapper):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108407
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ [Qt] Previous web page appears outside content rect
+ https://bugs.webkit.org/show_bug.cgi?id=78816
+
+ Adjust the scissor clipping by -1, as the glScissor() function requires coordinates and
+ not sizes.
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ No new functionality.
+
+ * platform/graphics/opengl/TextureMapperGL.cpp:
+ (WebCore::scissorClip):
+
2012-02-21 Victor Carbune <vcarbune@adobe.com>
Added support for pause-on-exit flag on a TextTrackCue.
{
GLint viewport[4];
glGetIntegerv(GL_VIEWPORT, viewport);
- glScissor(rect.x(), viewport[3] - rect.maxY(), rect.width(), rect.height());
+ glScissor(rect.x(), viewport[3] - rect.maxY() + 1, rect.width() - 1, rect.height() - 1);
}
bool TextureMapperGL::beginScissorClip(const TransformationMatrix& modelViewMatrix, const FloatRect& targetRect)
2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
+ [Qt] Previous web page appears outside content rect
+ https://bugs.webkit.org/show_bug.cgi?id=78816
+
+ Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * UIProcess/qt/LayerBackingStore.cpp:
+ (WebKit::LayerBackingStore::paintToTextureMapper):
+
+2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
+
[Qt][WK2] Accelerated animations don't work on Mac
https://bugs.webkit.org/show_bug.cgi?id=78963
return PassRefPtr<BitmapTexture>();
}
-void LayerBackingStore::paintToTextureMapper(TextureMapper* textureMapper, const FloatRect&, const TransformationMatrix& transform, float opacity, BitmapTexture* mask)
+void LayerBackingStore::paintToTextureMapper(TextureMapper* textureMapper, const FloatRect& targetRect, const TransformationMatrix& transform, float opacity, BitmapTexture* mask)
{
Vector<TextureMapperTile*> tilesToPaint;
tilesToPaint.prepend(&tile);
}
+ bool shouldClip = !targetRect.contains(coveredRect);
+
+ if (shouldClip)
+ textureMapper->beginClip(transform, targetRect);
+
for (size_t i = 0; i < tilesToPaint.size(); ++i)
tilesToPaint[i]->paint(textureMapper, transform, opacity, mask);
+
+ if (shouldClip)
+ textureMapper->endClip();
}
void LayerBackingStore::swapBuffers(TextureMapper* textureMapper)