[Webkit-unassigned] [Bug 56929] [Qt] Tiled painting still causes synchronous layout when accelerated compositing and texture mapper are enabled

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Mar 25 10:10:31 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=56929





--- Comment #6 from Carol Szabo <carol.szabo at nokia.com>  2011-03-25 10:10:32 PST ---
(In reply to comment #4)
> (From update of attachment 86696 [details])
> > +    renderFrameWidgets(context, (QWebFrame::RenderLayer)(QWebFrame::ScrollBarLayer | QWebFrame::PanIconLayer), clip);

> Maybe change the signature to use QFlags and avoid the ugly cast?

I would gladly do that, but I would like to do that on renderRelativeCoords as well in this case. Shouldn't I?

> > Source/WebKit/qt/Api/qwebframe.cpp:391
> > +void QWebFramePrivate::renderFrameWidgets(GraphicsContext* context, QWebFrame::RenderLayer layer, QRegion clip)

> I think the name Widgets is missleading here because of the PanIconLayer (and someone could think page's widgets are rendered here).
> What about:
> ::renderFrameOverlayLayers()

I thought about OverlayLayers, but I found it more confusing since it might refer to content overlay layers.

> or simply ::renderFrameScollbarAndPanIconLayer() :)

I considered this name as well, but I thought it is too long and too specific, other things such as title bar, title bar buttons, or who knows what might be included.

I also considered renderFrameDecorations and renderFrameControls but that may be confusing as well.

What do you think about renderFrameExtras / renderFrameVisuals ?

> > Source/WebKit/qt/Api/qwebframe.cpp:394
> > +    if (!layer & (QWebFrame::PanIconLayer | QWebFrame::ScrollBarLayer))
> > +        return;
> This could be an assertion instead of a runtime check.

This is a runtime check copied from renderRelativeCoords. It cannot simply be turned into an ASSERT as renderRelativeCoords can cause false assertions. I moved it here since I considered that the robustness added by it overweighs its low cost. I figured that most callers would have to do the test anyway so I save some memory by putting it here, rather then to do the check before every call. If you want I can totally remove the check in which case I uselessly walk through the rects of the region painting nothing if the function is called with neither of the interesting layers specified, or I can move the test to renderRelativeCoords and put an ASSERT in the function.

> If someone call the method with layer == Content, he clearly made a mistake and should be notified. In QWebFramePrivate::renderRelativeCoords(), you would mask the layer to get the right flags and make the call explicit.

I do not understand the last sentence above.

-- 
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