The problem is readily evident when viewing pixel dump results in GtkLauncher. Instead of using nearest-neighbor scaling the resulting images use CAIRO_FILTER_FAST, which leads to distortion in the output. Scaled images with InterpolationNone should use CAIRO_FILTER_NEAREST.
Created attachment 106230 [details] Patch
Comment on attachment 106230 [details] Patch Looks good to me.
Comment on attachment 106230 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=106230&action=review > Source/WebCore/platform/graphics/cairo/PlatformContextCairo.cpp:162 > case InterpolationNone: > + cairo_pattern_set_filter(pattern.get(), CAIRO_FILTER_NEAREST); > case InterpolationLow: > cairo_pattern_set_filter(pattern.get(), CAIRO_FILTER_FAST); > break; IMHO, break looks missing.
Comment on attachment 106230 [details] Patch Absolutely right, break is missing. Sorry about that.
I don't see this issue any longer oddly enough! I'm going to close for now. I'll reopen if I observe it again.