Last Comment Bug 772017 - Have the visual overflow rect for SVG frames include non-rendered stroke when 'pointer-events' demands it
: Have the visual overflow rect for SVG frames include non-rendered stroke when...
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: SVG (show other bugs)
: Trunk
: All All
: -- normal (vote)
: mozilla16
Assigned To: Jonathan Watt [:jwatt] (back in October - email directly if necessary)
:
:
Mentors:
Depends on: 772406
Blocks: 614732 762647
  Show dependency treegraph
 
Reported: 2012-07-09 04:46 PDT by Jonathan Watt [:jwatt] (back in October - email directly if necessary)
Modified: 2012-07-12 09:40 PDT (History)
2 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
patch (2.10 KB, patch)
2012-07-09 04:49 PDT, Jonathan Watt [:jwatt] (back in October - email directly if necessary)
roc: review+
Details | Diff | Splinter Review
patch 2 (7.98 KB, patch)
2012-07-10 06:45 PDT, Jonathan Watt [:jwatt] (back in October - email directly if necessary)
roc: review+
Details | Diff | Splinter Review

Description Jonathan Watt [:jwatt] (back in October - email directly if necessary) 2012-07-09 04:46:33 PDT
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.
Comment 1 Jonathan Watt [:jwatt] (back in October - email directly if necessary) 2012-07-09 04:49:26 PDT
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.
Comment 2 Jonathan Watt [:jwatt] (back in October - email directly if necessary) 2012-07-09 04:57:39 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/8774a43f10bf
Comment 3 Jonathan Watt [:jwatt] (back in October - email directly if necessary) 2012-07-09 17:05:27 PDT
Hmm, this patch is not sufficient. Will follow up tomorrow.
Comment 4 Jonathan Watt [:jwatt] (back in October - email directly if necessary) 2012-07-09 17:13:37 PDT
To be more specific, some of the tens of thousands of tests run by content/svg/content/test/test_pointer-events.xhtml still fail.
Comment 5 Ryan VanderMeulen [:RyanVM] 2012-07-09 18:05:01 PDT
https://hg.mozilla.org/mozilla-central/rev/8774a43f10bf
Comment 6 Jonathan Watt [:jwatt] (back in October - email directly if necessary) 2012-07-10 06:45:06 PDT
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.
Comment 7 Jonathan Watt [:jwatt] (back in October - email directly if necessary) 2012-07-11 04:27:19 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/9bfc3490136e
Comment 8 Ed Morley [:emorley] 2012-07-12 09:40:36 PDT
https://hg.mozilla.org/mozilla-central/rev/9bfc3490136e

Note You need to log in before you can comment on or make changes to this bug.