Closed Bug 886883 Opened 11 years ago Closed 11 years ago

Elements (XUL only?) sometimes not rendered when an SVG filter is set on them

Categories

(Core :: SVG, defect)

defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla26
Tracking Status
firefox23 --- unaffected
firefox24 + wontfix
firefox25 + wontfix
firefox26 --- unaffected
firefox27 --- unaffected

People

(Reporter: sebo, Assigned: mstange)

References

Details

Attachments

(3 files)

Attached file Firebug 1.12a8
In Firebug we lately replaced PNG images by SVG images and use SVG filters on them. In Firefox 24.0a1 (Nightly) we realized that sometimes the buttons inside Firebug won't be shown when the SVG filters are used.

Test case:
1. Install the attached Firebug version in a fresh Firefox Nightly profile
2. Press F12 to open Firebug
3. Click the Close button at the upper right corner of Firebug
4. Press F12 again
5. Hover the Close button

=> It's not displayed anymore.

This just happens on Nightlies and to the regression must have happened between 2013-05-25 and 2013-05-26.
See also the related bug report on the Firebug issue tracker[1]. 

Sebastian

[1] http://code.google.com/p/fbug/issues/detail?id=6536
Summary: Elements don't get rendered when an SVG filter is set on them&list_id=6956553 → Elements don't get rendered when an SVG filter is set on them
Quoting http://code.google.com/p/fbug/issues/detail?id=6536#c4 :
{
 Last good nightly: 2013-05-25
 First bad nightly: 2013-05-26

Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=7a2f7a45819a&tochange=0fed3377c839
}

which includes a bunch of svg changes from jwatt; presumably this is a regression from one of those.
> => It's not displayed anymore.

That typically means the filter was not valid SVG or for some other reason could not be rendered...
Flags: needinfo?(jwatt)
Though it is rendered correctly the first time you hover it. This is just happening after it was clicked the first time.
FWIW the same happens for the other window buttons (the ones in the upper right corner) and for the debugger buttons (inside the Script panel), which have a filter applied. Though it does not happen for other buttons like the e.g. Inspect button (the one with the blue arrow at the left upper side of Firebug), which have the same filter when hovering them.
They are all <toolbarbutton>s having their images defined via "list-style-image".

Sebastian
I checked out http://code.google.com/p/fbug/source/checkout and I'm not seeing '<filter ' in there.

Sebastian, could you help me out by pointing me to the relevant Firebug source code? (The filters, and the elements referencing those filters.)
Flags: needinfo?(jwatt)
> simple CSS rule[2]
Should have been [3] of course.

Sebastian
Adding needsinfo on :jwatt to confirm the issue based on information in comment#5 & 6
Flags: needinfo?(jwatt)
Bah. It seems I fell into the trap of reading old unmaintained MDN docs pointing to a defunct SVN repo, since that was the top Google result for "Firebug source". I've fixed the MDN page now, and I'll look at this again in a few days when I clear a bit of time.
> It seems I fell into the trap of reading old unmaintained MDN docs pointing to a 
> defunct SVN repo
Yeah, we moved to github at the beginning of last year. Sorry for not explicitly mentioning where the current code can be found.

Sebastian
Assignee: nobody → jwatt
I've not been able to extract a working testcase to debug out from the Firebug code, and since Firebug has since worked around this problem and we haven't had any other related reports I don't think we should track. Resetting tracking flags to "?" to see if releng agree.
Flags: needinfo?(jwatt)
Also note that the issue is with XUL, so this may not be an issue for web content.

The Firebug workaround is detailed here:

http://code.google.com/p/fbug/issues/detail?id=6536#c12
Summary: Elements don't get rendered when an SVG filter is set on them → Elements (XUL only?) sometimes not rendered when an SVG filter is set on them
> The Firebug workaround is detailed here:
> 
> http://code.google.com/p/fbug/issues/detail?id=6536#c12

Note that this is just a temporary workaround, so we could release the next version of Firebug without waiting for this issue to be fixed.

> I've not been able to extract a working testcase to debug out from the Firebug 
> code
Isn't my test case from comment 0 enough? Do you need something else from me?

Sebastian
(In reply to Sebastian Zartner from comment #12)
> Note that this is just a temporary workaround, so we could release the next
> version of Firebug without waiting for this issue to be fixed.

I see.

> Isn't my test case from comment 0 enough? Do you need something else from me?

I don't see a testcase in comment 0, just a series of steps to reproduce the issue in the live app. A testcase would be a small file with the minimum amount of content to reproduce the issue.
Sebastian, can someone on the Firebug side maybe reduce the issue down to a single, smallish XUL file? This addon will likely come in handy for that:

https://addons.mozilla.org/en-US/firefox/addon/remote-xul-manager/
I'll try to find one. Honza, maybe you can also have a look and search for a test case.

Sebastian
Attached file test-extension.xpi
(In reply to Sebastian Zartner from comment #15)
> Honza, maybe you can also have a look and search for a test case.
Test case committed and available here:
https://github.com/firebug/manual-tests/tree/master/mozilla/bug886883

I am also attaching an xpi build.

STR:

1) Install the extension into an empty Firefox profile
2) You should see a new grey area at the bottom of the browser window (the same place Firebug usually takes).
3) Click the red button at the top-left corner of the area, it should close it.
4) Press F12 to open it again
5) Move mouse over the red button it disappears -> BUG

Can you see the problem?

Honza
You're a genius, Honza!
I was working on a similar test extension, though it would have taken me some more time to finish it.

Sebastian
Jwatt, what are the next steps here given comment #16 ?
Flags: needinfo?(jwatt)
I'll be looking into it soon; today hopefully.
Flags: needinfo?(jwatt)
Attached file Test extension v2
Slightly modified version of the extension attached in comment #16

Use it if you testing on Mac and want to avoid F12

This version uses cmd+shift+e instead

Honza
I've spent quite a lot of time running down some deadends debugging this. The chances of getting a patch for v24 are very small to none. I think we should wontfix this for v24, and Firebug will have to keep their workaround in place until v25 comes around.
(In reply to Jonathan Watt [:jwatt] from comment #21)
> I've spent quite a lot of time running down some deadends debugging this.
> The chances of getting a patch for v24 are very small to none. I think we
> should wontfix this for v24, and Firebug will have to keep their workaround
> in place until v25 comes around.

Where do we stand on resolving this for FF25 in that case?
Flags: needinfo?(jwatt)
(In reply to Jan Honza Odvarko from comment #20)
> Created attachment 797265 [details]
> Test extension v2
> 
> Slightly modified version of the extension attached in comment #16

This is WFM in current beta, aurora and nightly. Anyone care to track down what fixed it?
Flags: needinfo?(jwatt)
Actually beta is still affected.
The problem was present in a build from 8/25 and gone away in a build from 8/26. Something here fixed it:

https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=01576441bdc6&tochange=4887845b1142

There are few fixes that look suspicious like bug 908880 bug 879682, but I'm guessing.
Almost certainly bug 908880 - checking.
Applying the patch for bug 908880 to beta branch fixes this bug there. I'll request approval for beta over on that bug based on that.
Depends on: 908880
Jonathan: do you still want me to update the extension, so it's easier to test?
It looks like the bug is resolved...

Honza
Honza, no need (pinged you on IRC last night, but I guess you didn't get that).
Pre-emptively adding verifyme to test the fix once it gets uplifted to Beta.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: verifyme
I can confirm that it's working on the current (2013-10-15) Aurora and Nightly build.
Seems like I can finally get the new SVG icons for Firebug back. Thanks for the efforts!

Sebastian
The patch in 908880 has been given approval-mozilla-beta- for being too late in the cycle, so this is status-firefox25:wontfix.

To reiterate, Firefox 26 and above are fixed.
Fixed by bug 908880.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Assignee: jwatt → mstange
Target Milestone: --- → mozilla26
Verified fixed based on comment 31.
Status: RESOLVED → VERIFIED
Keywords: verifyme
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: