Closed Bug 772017 Opened 12 years ago Closed 12 years ago

Have the visual overflow rect for SVG frames include non-rendered stroke when 'pointer-events' demands it

Categories

(Core :: SVG, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla16

People

(Reporter: jwatt, Assigned: jwatt)

References

Details

Attachments

(2 files)

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.
Attached patch patch (deleted) — Splinter Review
We can do this because nsSVGPathGeometryFrame::DidSetStyleContext will cause a reflow (UpdateBounds) of the SVG if pointer-events changes.
Attachment #640185 - Flags: review?(roc)
Hmm, this patch is not sufficient. Will follow up tomorrow.
Whiteboard: [leave open]
To be more specific, some of the tens of thousands of tests run by content/svg/content/test/test_pointer-events.xhtml still fail.
Depends on: 772406
Attached patch patch 2 (deleted) — Splinter Review
This patch makes sure we also ignore things like stroke-opacity when pointer-events demands it, and fixes nsSVGGlyphFrame too.
Attachment #640580 - Flags: review?(roc)
Summary: Have the visual overflow rect for SVG frames include 'none' stroke when 'pointer-events' demands it → Have the visual overflow rect for SVG frames include non-rendered stroke when 'pointer-events' demands it
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla16
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: