[webkit-qt] Frame render doesn't support content rendering not clipped to viewport.

viatcheslav.ostapenko at nokia.com viatcheslav.ostapenko at nokia.com
Tue Jan 18 17:41:58 PST 2011



>-----Original Message-----
>From: webkit-qt-bounces at lists.webkit.org [mailto:webkit-qt-
>bounces at lists.webkit.org] On Behalf Of ext Benjamin Poulain
>Sent: Tuesday, January 18, 2011 4:29 PM
>To: webkit-qt at lists.webkit.org
>Subject: Re: [webkit-qt] Frame render doesn't support content rendering
>not clipped to viewport.
>
>On 01/18/2011 09:15 PM, ext viatcheslav.ostapenko at nokia.com wrote:
>> The problem, that QWebFrame::render method always clips to viewport even
>> if user app have specified its own clipping region.
>
>In short, my opinion on the problem is:
>-conceptually, the frame is the viewport on the document

No, it's not.
Viewport is window (or part of window) where part of frame contents visible.
Frame is a special element of the document.

> -> natural clipping to that viewport.
>-scrollbar and fixed element are adjusted to the frame, rendering
>outside the natural clipping will make them useless/out of place.

Yes. That's why I wrote, that rendering without clipping should apply to contents render only.

>-now that I think of it, QWebFrame::render() without clipping cannot be
>made to work with accelerated compositing, while QWebElement::render()
>could (altough I don't know if it does currently...).

Actually, they call the same FrameView::paintContents and work similar, so with accel. compositing QWebElement::render will not render layers.

>That is why I think such use cases - rendering the full content - should
>be addressed by QWebElement::render()

QWebElement::render would be good if it get clipping region to avoid traversing full render tree in case of partial render.
Might be parameter enabling paint of all layers would be useful also.

>&& frame with resize to content.

I think resize to contents is quite problematic and prefer to avoid using it.

Sl


More information about the webkit-qt mailing list