Created attachment 66625 [details] Test failure diff Running latest WebKit GTK/EFL (r127473) against cairo git revision 51594d9 causes a regression when running the following webkit test to ensure correct behavior of canvas with fillRect using a gradient fillStyle and a shadow. Test case: http://trac.webkit.org/export/127473/trunk/LayoutTests/fast/canvas/canvas-fillRect-gradient-shadow.html I suspect that cairo matrix to pixman transform/offset conversion in _cairo_matrix_to_pixman_matrix_offset() causes this regression. The test results with the failure can be seen in the attachments.
Created attachment 66627 [details] Test results with the failure
Test case works under firefox... Is there any chance you can simplify it to the single failure to make extraction into C easier?
Created attachment 66630 [details] Simplified test case Thanks for the quick look, Chris. I modified the test case to reproduce only the actual failure.
The test case wasn't as simple as I was hoping for. :) Can you run the test case locally whilst capturing the cairo calls: cairo-trace eflwebkit test.html you might want to add some obvious fluff calls around the canvas to make the interesting section more clear.
Created attachment 67642 [details] cairo-trace of the test case Having extracted the test case and saved the output to a file, the value of pixel (351, 751) is 0x00ff0000 (that is 100% red, 0% alpha). Yet the test case is reporting 0 red. Can you enlighten me as to what magic 'ctx.getImageData(351, 751, 1, 1).data' performs?
ShadowBlur::blurLayerImage() is broken for starters.
Thanks, Chris. I will look into the shadowBlur and blur radius handling code in webkit.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.