[Webkit-unassigned] [Bug 76661] [Qt] [WK2] Support threaded renderer in WK2

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jan 20 08:55:13 PST 2012


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





--- Comment #14 from Jocelyn Turcotte <jocelyn.turcotte at nokia.com>  2012-01-20 08:55:10 PST ---
(From update of attachment 123234)
View in context: https://bugs.webkit.org/attachment.cgi?id=123234&action=review

The clean up of QQuickWebPage looks very nice, some other comments:

> Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp:36
> +    setClip(true);

Why is this needed, isn't the texture mapper overriding the clip anyway?

>> Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp:93
>> +        return drawingArea->layerTreeHostProxy()->updatePaintNode(oldNode);
> 
> Add a layerTreeHostProxy() function to QQuickWebPagePrivate instead of doing this twice

I don't like the idea of the LayerTreeHost being referenced both on the scene graph and in WebKit.
The problem is when the WebView gets destroyed on the UI thread, the rendering thread must be able to continue. And delaying the destruction of the LayerTreeHostProxy alone until the rendering thread is done destroying the scene graph nodes seems wrong to me.

Isn't it possible to instead move all the texture mapper related objects/nodes ownership to the scene graph node that we attach on the scene graph, and leave the LayerTreeHostProxy referenced by the UI thread only? To put it in other words, all the texture mapper node tree would be owned only by the object we return from updatePaintNode.

> Source/WebKit2/UIProcess/DrawingAreaProxyImpl.cpp:68
> +        m_layerTreeHostProxy->setDrawingAreaProxy(0);

This is the kind of hacks that results on having a dual ownership across threads. It strongly smells future maintenance problems.

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