SVG needs to support CSS "outline" property (for proper focus-ring support)
See test case.
Created attachment 10552 [details]
Created attachment 14875 [details]
a hackish fix
Ok, so here is a hack which demonstrates the some of the issues blocking fixing this. One is that SVGRenderContainer doesn't pass any phases other than Foreground up to its children. It should probably be reorganized a little to do that. Second, is that none of the SVG code implements paintOutline, this adds a hackish implementation for RenderPath. One final issue which will need to be resolved (eventually) is teaching GraphicsContext to be able to draw non-rectangular focus rings. One other issue with this patch is that the focus ring is drawn a little too large because it's using the repaint rect (which has a 1px fuzz around it).
Created attachment 14886 [details]
the fix (and test case)
Support is still a little buggy (for text, and images, and focus rings interacting with clip paths), but I think this patch is good enough to land. It gives us focus ring support for the vast majority of cases, which allows us to finally implement some sort of keyboard access for SVG links, etc.
Landed on the feature branch as r22032.