This is covered by these layout tests: LayoutTests/fast/repaint/shadow-multiple-horizontal.html LayoutTests/fast/repaint/shadow-multiple-strict-horizontal.html LayoutTests/fast/repaint/shadow-multiple-strict-vertical.html LayoutTests/fast/repaint/shadow-multiple-vertical.html
Created attachment 27625 [details] Fix for 23934
Comment on attachment 27625 [details] Fix for 23934 I don't quite understand why the fill/stroke changes are necessary. I'd also rather they were named something like fillColorWithAlpha() if you're going to pre-multiply the alpha?
The alpha is stored separately in PlatformContextSkia. To get the real color to draw with you need to add the alpha into it. See other places in PlatformContextSkia that do the same song and dance. Brett suggested the name effectiveXXX.
Comment on attachment 27625 [details] Fix for 23934 144 // Returns the stroke color. The returned color has it's alpha adjusted 145 // by the current alpha. Whoever lands this could change that comment to say "current context alpha" instead of just "current alpha" to be more specific that this is the context-wide alpha which CG supports, thus GraphicsContext supports, and thus we support. I talked this out with brett at length. The patch looks fine.
Landed as http://trac.webkit.org/changeset/40982.