Bug 116794

Summary: [GTK] WebKitWebView child widgets are not rendered with recent GTK+
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: WebKit2Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, gns, mrobinson
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch xan.lopez: review+

Description Carlos Garcia Campos 2013-05-26 11:23:17 PDT
Since rev d22fd7223c75f4720ddb982c659efb0d8d7543c4 of GTK+ expose events are not propagated to child GdkWindows anymore, and child widgets are rendered via gtk_container_propagate_draw(). Since all  our children have its own GdkWindow (auth widget, inspector view and windowed plugins) we don't propagate the draw signal making them invisible with current gtk+.
Comment 1 Carlos Garcia Campos 2013-05-26 11:28:57 PDT
Created attachment 202928 [details]
Patch

Chain up to the parent draw(), so it's propagated to the children. This shouldn't have any effect in previous versions of GTK+ because gtk_container_propagate_draw() returned early when the child widget had its own GdkWindow.
Comment 2 WebKit Commit Bot 2013-05-26 11:30:50 PDT
Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
Comment 3 Xan Lopez 2013-05-27 08:43:43 PDT
Comment on attachment 202928 [details]
Patch

OK, looks good.
Comment 4 Carlos Garcia Campos 2013-05-27 09:10:40 PDT
Committed r150763: <http://trac.webkit.org/changeset/150763>