|
| 1 | +2016-07-21 Carlos Garcia Campos < [email protected]> |
| 2 | + |
| 3 | + [GTK] Web view background colors don't work in accelerated compositing mode |
| 4 | + https://bugs.webkit.org/show_bug.cgi?id=159455 |
| 5 | + |
| 6 | + Reviewed by Michael Catanzaro. |
| 7 | + |
| 8 | + In non AC mode it's the drawing area backing store the one drawing the background, and the web process just |
| 9 | + renders into a transparent bitmap. In AC mode we need to make the redirected window pixmap transparent for the |
| 10 | + web process to render there, and let the web view fill the background color before rendering the redirected |
| 11 | + window pixmap on top. To be able to make the redirected window surface transparent, we need to ensure the parent |
| 12 | + window has an RGBA visual, even when setting a fully opaque background, because we still need the web process |
| 13 | + to render on the transparent xwindow. |
| 14 | + |
| 15 | + * UIProcess/API/gtk/WebKitWebView.cpp: Update documentation of webkit_web_view_set_background_color() since now |
| 16 | + it's required to set the RGBA visual even for opaque colors in case AC mode is enabled. |
| 17 | + * UIProcess/API/gtk/WebKitWebViewBase.cpp: |
| 18 | + (webkitWebViewRenderAcceleratedCompositingResults): When a background color has been set, fill it before |
| 19 | + rendering the redirected window surface. |
| 20 | + * UIProcess/gtk/RedirectedXCompositeWindow.cpp: |
| 21 | + (WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow): Mark the surface as dirty after every damage |
| 22 | + event, since the web process has modified it. |
| 23 | + (WebKit::RedirectedXCompositeWindow::surface): Initialize the surface after creating it, to avoid flickering and |
| 24 | + rendering artifacts when waiting for the first damage event from the web process. |
| 25 | + * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: |
| 26 | + (WebKit::LayerTreeHostGtk::compositeLayersToContext): Use a fully transparent color to clear the context when the page |
| 27 | + is resized or when a view background color has been set. |
| 28 | + |
1 | 29 | 2016-07-20 Carlos Garcia Campos < [email protected]>
|
2 | 30 |
|
3 | 31 | [GTK] Avoid the redirected window resize when the view is realized in AC mode
|
|
0 commit comments