There seems to be a fair amount of image tests that are flakey failures due to a zoomed in or blank rendered result. These tests also appear to be failing in tandem in small groups. These tests are not all part of the same directory but are displaying very similar failures. Bugs: https://bugs.webkit.org/show_bug.cgi?id=193107 https://bugs.webkit.org/show_bug.cgi?id=193091 https://bugs.webkit.org/show_bug.cgi?id=192881
another set of tests appear to exhibiting this issue. https://bugs.webkit.org/show_bug.cgi?id=193116
It appears that Image tests on Mojave WK1 in general have this zooming or blank issue. Here is a run with 15 failing image tests with many of them showing a zoomed in result: https://build.webkit.org/results/Apple%20Mojave%20Release%20WK1%20(Tests)/r239610%20(1925)/results.html
<rdar://problem/47049667>
Another set of tests exhibiting this issue. https://build.webkit.org/results/Apple%20Mojave%20Release%20WK1%20(Tests)/r241018%20(2754)/results.html
Also: https://build.webkit.org/results/Apple%20Mojave%20Release%20WK1%20(Tests)/r241021%20(2756)/results.html
Set of 12 newer failure: https://build.webkit.org/results/Apple%20Mojave%20Release%20WK1%20(Tests)/r245285%20(4955)/results.html Set of 5: https://build.webkit.org/results/Apple%20Mojave%20Release%20WK1%20(Tests)/r245210%20(4919)/results.html Set of 10: https://build.webkit.org/results/Apple%20Mojave%20Debug%20WK1%20(Tests)/r245219%20(3433)/results.html
This bug is happening because of a bug in CGWindowListCreateImage() in which it returns the wrong size snapshot when changing the window deviceScaleFactor from 2 to 1. When running DRT, the bug happens only when running a hidpi test followed by a composite layout test. To fake the hipdi the deviceScaleFactor is set manually to 2. Before running a new test, the deviceScaleFactor has to be set back to 1. But this does not make CGWindowListCreateImage() works correctly in this case. When createBitmapContextFromWebView() calls CGContextDrawImage(), only the bottom left quarter snapshot is drawn from the snapshot image to the bitmapContext. Most of the layout tests do not draw in this part of the WebView. So the result is seen as blank. Like what we did in WebViewImpl::takeViewSnapshot() as a workaround for <rdar://problem/17084993>, we have to do similar workaround for DRT function createBitmapContextFromWebView().
Created attachment 374154 [details] Patch
Comment on attachment 374154 [details] Patch Clearing flags on attachment: 374154 Committed r247466: <https://trac.webkit.org/changeset/247466>
All reviewed patches have been landed. Closing bug.