Bug 84149

Summary: [GTK] Enable back double buffering on WebKitWebView to fix flickering
Product: WebKit Reporter: Carlos Garnacho <carlosg>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: carlosg, cgarcia, gustavo, mrobinson, webkit.review.bot, zan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch, enable back GTK+ double buffering to fix flickering none

Carlos Garnacho
Reported 2012-04-17 06:42:27 PDT
WebKitWebView disables GTK+ double buffering as it already has its own backing store, as worthwhile as it is, it unfortunately brings in other side effects in how non-double-buffered widgets are rendered, from the docs of gdk_window_flush(): "For Gtk widgets that don't use double buffering this will be called automatically before sending the expose event" This means that all drawing commands up to the WebKitWebView parent GdkWindow are flushed to the X server before rendering the view itself, this may translate into flickering of the parent window background. GTK+ unfortunately has no means to let WebKit claim ownership on the backing buffer, nor to hand a surface to act as the backing buffer for a widget, so this has to be enabled back so all contents are composited before getting to the front store. I'm going to attach a patch to remove the gtk_widget_set_double_buffered() call from wk1, as for wk2 the flickering is reportedly non visible, but I think the same issue may lie there, just better hidden.
Attachments
Patch, enable back GTK+ double buffering to fix flickering (2.03 KB, patch)
2012-04-17 06:47 PDT, Carlos Garnacho
no flags
Carlos Garnacho
Comment 1 2012-04-17 06:47:04 PDT
Created attachment 137530 [details] Patch, enable back GTK+ double buffering to fix flickering
WebKit Review Bot
Comment 2 2012-04-17 06:47:47 PDT
Comment on attachment 137530 [details] Patch, enable back GTK+ double buffering to fix flickering Rejecting attachment 137530 [details] from review queue. carlosg@gnome.org does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py. - If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags. - If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed). The commit-queue restarts itself every 2 hours. After restart the commit-queue will correctly respect your reviewer rights.
WebKit Review Bot
Comment 3 2012-04-17 06:48:29 PDT
Comment on attachment 137530 [details] Patch, enable back GTK+ double buffering to fix flickering Rejecting attachment 137530 [details] from commit-queue. carlosg@gnome.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py. - If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags. - If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed). The commit-queue restarts itself every 2 hours. After restart the commit-queue will correctly respect your committer rights.
Carlos Garnacho
Comment 4 2012-04-17 06:51:43 PDT
Comment on attachment 137530 [details] Patch, enable back GTK+ double buffering to fix flickering Ehrm... unused to bugzilla review stuff, sorry :), setting to '?' now
Carlos Garcia Campos
Comment 5 2012-04-17 07:44:59 PDT
Comment on attachment 137530 [details] Patch, enable back GTK+ double buffering to fix flickering It's ok for me as long as this doesn't have a huge impact in performance, since the flickering effect is quite annoying.
Martin Robinson
Comment 6 2012-04-17 09:04:34 PDT
Comment on attachment 137530 [details] Patch, enable back GTK+ double buffering to fix flickering Thanks for spending the time to fix this!
WebKit Review Bot
Comment 7 2012-04-17 09:12:40 PDT
Comment on attachment 137530 [details] Patch, enable back GTK+ double buffering to fix flickering Clearing flags on attachment: 137530 Committed r114385: <http://trac.webkit.org/changeset/114385>
WebKit Review Bot
Comment 8 2012-04-17 09:12:44 PDT
All reviewed patches have been landed. Closing bug.
Martin Robinson
Comment 9 2012-04-22 18:03:40 PDT
*** Bug 80747 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.