[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