webkitgtk/webkit-r114385.diff

41 lines
1.9 KiB
Diff

Index: /trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp
===================================================================
--- /trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp (revision 113147)
+++ /trunk/Source/WebKit/gtk/webkit/webkitwebview.cpp (revision 114385)
@@ -3623,5 +3623,4 @@
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));
Index: /trunk/Source/WebKit/gtk/ChangeLog
===================================================================
--- /trunk/Source/WebKit/gtk/ChangeLog (revision 113533)
+++ /trunk/Source/WebKit/gtk/ChangeLog (revision 114385)
@@ -1,2 +1,25 @@
+2012-04-17 Carlos Garnacho <carlos@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-06 Martin Robinson <mrobinson@igalia.com>