Bug 10849 - SVG needs to support CSS "outline" property (for proper focus-ring support)
Summary: SVG needs to support CSS "outline" property (for proper focus-ring support)
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 420+
Hardware: Mac OS X 10.4
: P4 Normal
Assignee: Eric Seidel (no email)
Depends on: 10848
Blocks: 8823 14019
  Show dependency treegraph
Reported: 2006-09-13 16:35 PDT by Eric Seidel (no email)
Modified: 2007-06-06 13:10 PDT (History)
0 users

See Also:

test case (630 bytes, application/xhtml+xml)
2006-09-13 16:35 PDT, Eric Seidel (no email)
no flags Details
a hackish fix (3.94 KB, patch)
2007-06-05 20:54 PDT, Eric Seidel (no email)
no flags Details | Formatted Diff | Diff
the fix (and test case) (59.88 KB, patch)
2007-06-06 12:39 PDT, Eric Seidel (no email)
oliver: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Seidel (no email) 2006-09-13 16:35:33 PDT
SVG needs to support CSS "outline" property (for proper focus-ring support)

See test case.
Comment 1 Eric Seidel (no email) 2006-09-13 16:35:56 PDT
Created attachment 10552 [details]
test case
Comment 2 Eric Seidel (no email) 2007-06-05 20:54:42 PDT
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).
Comment 3 Eric Seidel (no email) 2007-06-06 12:39:25 PDT
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.
Comment 4 Eric Seidel (no email) 2007-06-06 13:10:52 PDT
Landed on the feature branch as r22032.