Bug 77760

Summary: GtkLauncher.exe doesn't draw anything in its webkitwebview
Product: WebKit Reporter: Kalev Lember <kalevlember>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Create the backing store after WebKitWebView is realized none

Description Kalev Lember 2012-02-03 11:49:16 PST
On Windows, GtkLauncher.exe starts up with two

Gdk-CRITICAL **: IA__gdk_window_create_similar_surface: assertion `GDK_IS_WINDOW (window)' failed

warnings, and doesn't draw anything in its WebKitWebView. This is coming from createSurfaceForBackingStore() in WidgetBackingStoreCairo.cpp, which tries to call gtk_widget_get_window() before the widget is realized.
Comment 1 Kalev Lember 2012-02-03 11:50:41 PST
Created attachment 125378 [details]
Create the backing store after WebKitWebView is realized

The widget backing store was created in size_allocate() before the
widget was realized. This wasn't a problem for GtkWidgetBackingStoreX11,
but WidgetBackingStoreCairo's constructor needs the widget's GDK window,
which is is created in realize().

Fixes the WebKitWebView not painting on platforms that use
WidgetBackingStoreCairo, e.g. win32.

Gdk-CRITICAL **: IA__gdk_window_create_similar_surface: assertion `GDK_IS_WINDOW (window)' failed
Comment 2 Martin Robinson 2012-02-03 12:59:48 PST
Comment on attachment 125378 [details]
Create the backing store after WebKitWebView is realized

Please check if my patch at https://bugs.webkit.org/show_bug.cgi?id=77743 fixes this issue. It should delay the backing store creation until mapping.
Comment 3 Kalev Lember 2012-02-03 13:55:34 PST
I can confirm that the patch in bug 77743 also fixes it, thanks!

*** This bug has been marked as a duplicate of bug 77743 ***