This because GraphicsContext::setPlatformShadow() checks the value of m_state.shadowsIgnoreTransforms. GraphicsContext::setPlatformShadow() is called from GraphicsContextStateChange::apply() via setLegacyShadow() or setShadow() when it detects a ShadowChange.
Created attachment 393512 [details] Patch
Created attachment 393514 [details] test case
Repro steps: 1. Launch mini-browser 2. Enable "Settings/Internal Features/Render Canvas in GPU Process" or "Settings/Enable Display List Drawing". 3. Open the attached test case Result: the test case shows a 100x100 green rectangle Expected: the test case shows a 100x100 green rectangle with its shadow 100x100 red rectangle
This patch fixes the following test cases when running "run-webkit-tests --internal-feature RenderCanvasInGPUProcessEnabled" fast/canvas/canvas-image-shadow.html fast/canvas/canvas-scale-drawImage-shadow.html fast/canvas/canvas-scale-fillPath-shadow.html fast/canvas/canvas-scale-fillRect-shadow.html fast/canvas/canvas-scale-shadowBlur.html fast/canvas/canvas-transforms-fillRect-shadow.html fast/canvas/fillText-shadow.html
(In reply to Said Abou-Hallawa from comment #4) > This patch fixes the following test cases when running "run-webkit-tests > --internal-feature RenderCanvasInGPUProcessEnabled" > > fast/canvas/canvas-image-shadow.html > fast/canvas/canvas-scale-drawImage-shadow.html > fast/canvas/canvas-scale-fillPath-shadow.html > fast/canvas/canvas-scale-fillRect-shadow.html > fast/canvas/canvas-scale-shadowBlur.html > fast/canvas/canvas-transforms-fillRect-shadow.html > fast/canvas/fillText-shadow.html Change log should mention this.
Created attachment 393540 [details] Patch
Comment on attachment 393540 [details] Patch Clearing flags on attachment: 393540 Committed r258454: <https://trac.webkit.org/changeset/258454>
All reviewed patches have been landed. Closing bug.
<rdar://problem/60442640>