Closed Bug 1187199 Opened 5 years ago Closed 4 years ago

on hover does not work in SVG with large coordinates


(Core :: Graphics, defect)

39 Branch
Not set



Tracking Status
firefox39 --- wontfix
firefox40 --- wontfix
firefox41 + wontfix
firefox42 - affected
firefox-esr31 --- unaffected
firefox-esr38 - affected


(Reporter: marktmorgan, Assigned: kip)



(Keywords: regression, Whiteboard: [gfx-noted])


(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:39.0) Gecko/20100101 Firefox/39.0
Build ID: 20150630154324

Steps to reproduce:

Display attached SVG file use-hover-detection-float-bug.svg.

The file defines two circles.  Both are created with 'use' elements from a symbol defined in defs.  Fill and stroke are controlled with CSS so that both circles should have gold fill which turns green on hover.  The circle on the right has stroke set to red.  The circle on the left is embedded in a group and has stroke set to green in CSS.

Actual results:

Two circles display with gold fill.  The circle on the left has a green border while the circle on the right has a red border.  When hovering over the left circle, its fill turns green (as expected).  When hovering over the right circle, the fill colour does not change.

Expected results:

The fill in each circle should turn green on hover, but the fill in the circle on the right with the red border does not.

If the right circle is added to a group, the CSS fill styling works on hover; conversely, if the left circle is removed from a group, the CSS fill styling will not work on hover.

The problem seems to be the magnitude of the coordinates used in the SVG viewBox.
This file is simply a demonstration, but the actual usage initially demonstrating the problem was when using online map coordinates in an SVG viewbox.
Component: Untriaged → SVG
Product: Firefox → Core
It works in FF40+ so it's probably already fixed.

Reported, could you download Beta and confirm it's fixed on your side, please.
Flags: needinfo?(marktmorgan)
(In reply to Loic from comment #1)
> It works in FF40+ so it's probably already fixed.
> Reported, could you download Beta and confirm it's fixed on your side,
> please.

Doesn't work for me on linux using Beta or Nightly.
Flags: needinfo?(marktmorgan)
Ever confirmed: true
OS: Unspecified → Linux
There are different regression range for i686 and x86_64

Pushlog (linux-i686):

Suspected: 99153c410bad	Kearwood (Kip) Gilbert — Bug 1035611 - Part 1: Updated Matrix4x4::ProjectRectBounds to properly handle infinite values when untransformed rects cross the w=0 plane. r=mattwoodrow

Pushlog (linux-x86_64):

Suspect: Bug 1020556 or Bug 1031948
No longer blocks: 1020556
Backed out Bug 1031948 fixes for linux-x86_64 build
Component: SVG → Graphics
Flags: needinfo?(matt.woodrow)
[Tracking Requested - why for this release]: affects ESR38
Flags: needinfo?(kgilbert)
Also affected win64 build
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:42.0) Gecko/20100101 Firefox/42.0 ID:20150724030210
OS: Linux → All
Tried file on an existing 40-beta installation on a 32-bit Windows build running on 64-bit Windows 7 and it works properly.

Downloaded and installed beta7 on the original machine which showed the problem (MacOSX 10.9) and it still does not work.
Whiteboard: [gfx-noted]
[Tracking Requested - why for this release]: SVG is used in a lot of websites, this sounds like something that watching out for a fix would be good for.
In the patch for Bug 1157984, I have expanded the functions in gfx::2d to work with double precision.  This may help in correcting this bug without regressing Bug 1031948.
Depends on: 1157984
I think this is an outlier, not important enough for tracking, but we should probably take a look at it.  It is at least platform specific, perhaps backend specific as well (e.g., for me it works on Windows 7 D2D1.1 and Cairo, but on on the Mac with CG or Skia.)
(In reply to Milan Sreckovic [:milan] from comment #11)
> I think this is an outlier, not important enough for tracking...

Hmm, I take that back, re-reading the comment 0 in more detail about the original map scenario.
For now Kip seems like the right person to own this.
Assignee: nobody → kgilbert
We limit most ESR changes to security and some stability fixes. I don't think we need to track this for ESR38.
We ship some releases with this bug. Stop tracking.
Flags: needinfo?(matt.woodrow)
Flags: needinfo?(kgilbert)
Both circles turn green for me on my end. I can not reproduce this issue. I will close it as WFM.
Closed: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.