Title: [114528] releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk
- Revision
- 114528
- Author
- x...@webkit.org
- Date
- 2012-04-18 10:23:15 -0700 (Wed, 18 Apr 2012)
Log Message
[GTK] Enable back double buffering on WebKitWebView to fix flickering
https://bugs.webkit.org/show_bug.cgi?id=84149
Patch by Carlos Garnacho <car...@lanedo.com> on 2012-04-17
Reviewed by Martin Robinson.
Despite having WebKitWebView its own backing buffer, calling
gtk_widget_set_double_buffered(...,FALSE) may still pose side
effects, such as ensuring that all drawing operations are
flushed to the X server before rendering a non-double buffered
widget, which may translate into flickering of the parent
GdkWindow before the WebKitWebView itself is rendered.
Enabling back double buffering solves this as all contents are
first composited together before getting to the front buffer,
but effectively acts as 3rd buffer. This is sort of unavoidable
unless GTK+ gains a "let me take ownership of the backing buffer
for this widget", which currently lacks.
* webkit/webkitwebview.cpp:
(webkit_web_view_init): Remove call to gtk_widget_set_double_buffered(..., FALSE)
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk/ChangeLog (114527 => 114528)
--- releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk/ChangeLog 2012-04-18 17:23:03 UTC (rev 114527)
+++ releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk/ChangeLog 2012-04-18 17:23:15 UTC (rev 114528)
@@ -1,3 +1,26 @@
+2012-04-17 Carlos Garnacho <car...@lanedo.com>
+
+ [GTK] Enable back double buffering on WebKitWebView to fix flickering
+ https://bugs.webkit.org/show_bug.cgi?id=84149
+
+ Reviewed by Martin Robinson.
+
+ Despite having WebKitWebView its own backing buffer, calling
+ gtk_widget_set_double_buffered(...,FALSE) may still pose side
+ effects, such as ensuring that all drawing operations are
+ flushed to the X server before rendering a non-double buffered
+ widget, which may translate into flickering of the parent
+ GdkWindow before the WebKitWebView itself is rendered.
+
+ Enabling back double buffering solves this as all contents are
+ first composited together before getting to the front buffer,
+ but effectively acts as 3rd buffer. This is sort of unavoidable
+ unless GTK+ gains a "let me take ownership of the backing buffer
+ for this widget", which currently lacks.
+
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_init): Remove call to gtk_widget_set_double_buffered(..., FALSE)
+
2012-04-05 Martin Robinson <mrobin...@igalia.com>
[GTK] Scrolling some iframes that are partially out of the viewport leads to repaint errors
Modified: releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk/webkit/webkitwebview.cpp (114527 => 114528)
--- releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk/webkit/webkitwebview.cpp 2012-04-18 17:23:03 UTC (rev 114527)
+++ releases/WebKitGTK/webkit-1.8/Source/WebKit/gtk/webkit/webkitwebview.cpp 2012-04-18 17:23:15 UTC (rev 114528)
@@ -3460,7 +3460,6 @@
priv->viewportAttributes->priv->webView = webView;
gtk_widget_set_can_focus(GTK_WIDGET(webView), TRUE);
- gtk_widget_set_double_buffered(GTK_WIDGET(webView), FALSE);
priv->mainFrame = WEBKIT_WEB_FRAME(webkit_web_frame_new(webView));
priv->lastPopupXPosition = priv->lastPopupYPosition = -1;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes