For certain vales of 'pointer-events' we need the visual overflow rect for SVG frames to include stroke geometry regardless of whether the stroke is 'none' (doesn't render anything) or not. If the VORs doesn't include stroke in these cases, then we can't use the VORs of SVG frames to short circuit hit-testing.
This is required both for the patch Nick Cameron is working on in bug 762647, and for my work in bug 614732 to do hit-testing of SVG via display lists.
Created attachment 640185 [details] [diff] [review]
We can do this because nsSVGPathGeometryFrame::DidSetStyleContext will cause a reflow (UpdateBounds) of the SVG if pointer-events changes.
Hmm, this patch is not sufficient. Will follow up tomorrow.
To be more specific, some of the tens of thousands of tests run by content/svg/content/test/test_pointer-events.xhtml still fail.
Created attachment 640580 [details] [diff] [review]
This patch makes sure we also ignore things like stroke-opacity when pointer-events demands it, and fixes nsSVGGlyphFrame too.