The RedirectedXCompositeWindow uses XDamage to be notified when the XWindow has been modified. Since the redirected window is created unconditionally we always receive a XDamage notify when the window is mapped, and we schedule a redraw in the web view even when the web view is not in accelerated compositing mode.
Created attachment 244439 [details] Patch This applies on top of patch attached to bug #140352
Comment on attachment 244439 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=244439&action=review > Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:326 > + DrawingAreaProxyImpl* drawingArea = static_cast<DrawingAreaProxyImpl*>(webView->priv->pageProxy->drawingArea()); Loosk like you could use priv here?
Comment on attachment 244439 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=244439&action=review Thanks for the review! >> Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:326 >> + DrawingAreaProxyImpl* drawingArea = static_cast<DrawingAreaProxyImpl*>(webView->priv->pageProxy->drawingArea()); > > Loosk like you could use priv here? No, priv is not captured.
Comment on attachment 244439 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=244439&action=review >>> Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:326 >>> + DrawingAreaProxyImpl* drawingArea = static_cast<DrawingAreaProxyImpl*>(webView->priv->pageProxy->drawingArea()); >> >> Loosk like you could use priv here? > > No, priv is not captured. Could you could capture priv here instead?
(In reply to comment #4) > Comment on attachment 244439 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=244439&action=review > > >>> Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:326 > >>> + DrawingAreaProxyImpl* drawingArea = static_cast<DrawingAreaProxyImpl*>(webView->priv->pageProxy->drawingArea()); > >> > >> Loosk like you could use priv here? > > > > No, priv is not captured. > > Could you could capture priv here instead? Or, I suppose capture both priv and webView.
(In reply to comment #5) > (In reply to comment #4) > > Comment on attachment 244439 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=244439&action=review > > > > >>> Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:326 > > >>> + DrawingAreaProxyImpl* drawingArea = static_cast<DrawingAreaProxyImpl*>(webView->priv->pageProxy->drawingArea()); > > >> > > >> Loosk like you could use priv here? > > > > > > No, priv is not captured. > > > > Could you could capture priv here instead? > > Or, I suppose capture both priv and webView. I need the webview to call gtk_widget_queue_draw. I could capture the priv, but I don't think it's worth it, since priv is already part of web view (so capturing a single pointer is enough), and the only benefit would be saving 7 characters inside the lambda to add 9 more to the capture [].
Committed r178415: <http://trac.webkit.org/changeset/178415>