The existing logic for handling printing for windowed plugins computes the page position based on the current page scroll. This is incorrect, as the printed page is never in a scrolled state. With the current code, scrolling the page and then printing causes the plugin to draw in different positions depending on the scroll state.
The Windows implementation of PluginView::paintWindowedPluginIntoContext is only used during print and print preview operations for windowed plugins. The drawing location passed to the plugin is computed based on the current scroll position, which is wrong for printing operations as the page position is always the same.
Created attachment 57353 [details] Patch
Created attachment 57358 [details] Patch
Don't we have ways to test printing changes like this these days?
I guess this patch changes pixel output but doesn't change render tree, right? If so, we cannot test this patch without Bug 20011.
We should get Anders and/or Jon to look at this.
Comment on attachment 57358 [details] Patch We have printing tests these days - Brent can you create a testcase?
Created attachment 97676 [details] Patch
Wow! This one got lost in the shuffle. Landed under https://trac.webkit.org/changeset/146941.