[Webkit-unassigned] [Bug 52735] [Qt] painting of windowed plugins faulty on certain scroll events
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Jan 31 13:37:03 PST 2011
https://bugs.webkit.org/show_bug.cgi?id=52735
--- Comment #3 from Robert Hogan <robert at webkit.org> 2011-01-31 13:37:03 PST ---
(In reply to comment #2)
> Just a guess but make sure the dirty rect you pass in is correct. There's nothing wrong with the cross-platform code there.
Right enough, another 'fix' is:
--- a/Source/WebKit/qt/Api/qwebframe.cpp
+++ b/Source/WebKit/qt/Api/qwebframe.cpp
@@ -374,6 +374,7 @@ void QWebFramePrivate::renderRelativeCoords(GraphicsContext* context, QWebFrame:
QRect rect = intersectedRect;
context->translate(x, y);
rect.translate(-x, -y);
+ view->paintContents(context, rect);
context->translate(-scrollX, -scrollY);
rect.translate(scrollX, scrollY);
context->clip(view->visibleContentRect());
It looks like RenderWidget::paint() needs to test the rect using its absolute co-ordinates in the frame but QWebFrame only supplies relative co-ordinates. I imagine this is pretty unique to plugins. And Qt is the only port calling frameview->paintContents() directly when rendering the page.
So I think Qt needs to test the page for plugins/widgets and make sure they always get painted.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list