The default bug view has changed. See this FAQ.

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

RESOLVED FIXED in mozilla16

Status

()

Core
SVG
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: jwatt, Assigned: jwatt)

Tracking

Trunk
mozilla16
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Assignee)

Description

5 years ago
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.
(Assignee)

Comment 1

5 years ago
Created attachment 640185 [details] [diff] [review]
patch

We can do this because nsSVGPathGeometryFrame::DidSetStyleContext will cause a reflow (UpdateBounds) of the SVG if pointer-events changes.
Attachment #640185 - Flags: review?(roc)
Attachment #640185 - Flags: review?(roc) → review+
(Assignee)

Comment 2

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/8774a43f10bf
(Assignee)

Comment 3

5 years ago
Hmm, this patch is not sufficient. Will follow up tomorrow.
Whiteboard: [leave open]
(Assignee)

Comment 4

5 years ago
To be more specific, some of the tens of thousands of tests run by content/svg/content/test/test_pointer-events.xhtml still fail.
https://hg.mozilla.org/mozilla-central/rev/8774a43f10bf
(Assignee)

Updated

5 years ago
Depends on: 772406
(Assignee)

Comment 6

5 years ago
Created attachment 640580 [details] [diff] [review]
patch 2

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)
Attachment #640580 - Flags: review?(roc) → review+
(Assignee)

Updated

5 years ago
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
(Assignee)

Comment 7

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/9bfc3490136e
Whiteboard: [leave open]
https://hg.mozilla.org/mozilla-central/rev/9bfc3490136e
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla16
You need to log in before you can comment on or make changes to this bug.