The theme rendering is using the gdkdrawable from the expose event, when printing there is no expose event rendering, the result is the theme (buttons, combos, etc.) are not printed. WebCore/platform/gtk/RenderThemeGtk.cpp: ... if (!i.context->gdkDrawable()) return true; ...
Created attachment 55822 [details] Proposed patch
Attachment 55822 [details] did not pass style-queue: Failed to run "['WebKitTools/Scripts/check-webkit-style', '--no-squash']" exit_code: 1 WebCore/platform/gtk/RenderThemeGtk.cpp:288: Declaration has space between type name and * in GdkDrawable *pixmap [whitespace/declaration] [3] WebCore/platform/gtk/RenderThemeGtk.cpp:293: Use 0 instead of NULL. [readability/null] [5] WebCore/platform/gtk/RenderThemeGtk.cpp:330: Declaration has space between type name and * in cairo_t *cr [whitespace/declaration] [3] WebCore/platform/gtk/RenderThemeGtk.cpp:322: An else statement can be removed when the prior "if" concludes with a return, break, continue or goto statement. [readability/control_flow] [4] Total errors found: 4 in 2 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 55825 [details] Proposed patch
Comment on attachment 55825 [details] Proposed patch We can use GRefPtr for the pixmap, so r- to do that. It also seems when there's no expose event and printing is disabled we'll create a pixmap just to immediately destroy it, which seems a bit pointless.
Created attachment 55955 [details] Patch
Comment on attachment 55955 [details] Patch Looks good to me.
Landed on commit 59356.