Firefox versions 15 and above (with SMIL support) shouldn't usually load FakeSmile

Bug #987024 reported by Lthere
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
FakeSmile
Fix Released
High
Lthere

Bug Description

Firefox 4 first introduced SMIL support (https://developer.mozilla.org/en/SVG/SVG_animation_with_SMIL). Yet, I've recently noticed that, even in Firefox 10 and beyond (nightly builds), FakeSmile loads and triggers it's animations along with the native ones. This is noticed for example in FakeSmile homepage animation (http://leunen.me/fakesmile/), where it feels a bit sluggish. When FakeSmile is disabled, the animation looks smoother (as there is no longer a race condition - native vs. script - to update the document).

The source of the issue seems to be the fact that Firefox doesn't implement (nor intends to) animateColor (https://bugzilla.mozilla.org/show_bug.cgi?id=436296), which causes the simple feature check performed by FakeSmile (hasFeature("http://www.w3.org/TR/SVG11/feature#SVG-animation", "1.1")) to fail.

Proposal is change feature detection to only trigger FakeSmile when needed. This currently means something like «if any tag "animateColor" or "timesheet", load FakeSmile, else don't». This issue is somehow related with issue #987021, so there's already some ideas underway.

Thoughts, anyone?

Related branches

Revision history for this message
Fenring (leunen-d) wrote :

I'm OK with that.

Changed in smil:
status: New → Confirmed
Revision history for this message
Lthere (helder-magalhaes) wrote :

I've been thinking about special-casing Firefox during this initial processing. As recent Firefox build don't support 'animateColor' (but support 'animate' just fine), we could try to hack support for it:
1. Check if 'animate' is supported
2. Check if FakeSmile is only going to be activated due to lack of support for 'animateColor'
3. If so, for each 'animateColor' color element, create an equivalent 'animate' element and replace the original (or place next to it)

I haven't yet checked for feasibility of this, I'm only tossing this to this bug to act as a reminder - idea might evolve into it's own feature request if this bug is fixed in another way.

Also, I'm not sure if this change of semantics might disrupt some documents? Rework element tag names, add more 'animate' initially not there might confuse existing script logic or behavior...

Revision history for this message
Lthere (helder-magalhaes) wrote :

According to the conclusions in Mozilla bug 436296 [1] (comment 40 and couple of previous ones), this can be easily fixed in Firefox version 15 and above by simply adjusting the feature tested to 'feature#Animation'. Admitting that current release version is 16, this is almost fixed - the only pending issue is the 'animateColor' thing...

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=436296#c40

Changed in smil:
assignee: nobody → Lthere (helder-magalhaes)
summary: - Firefox versions 4 and above (with SMIL support) shouldn't usually load
+ Firefox versions 15 and above (with SMIL support) shouldn't usually load
FakeSmile
Changed in smil:
status: Confirmed → Fix Committed
Revision history for this message
Lthere (helder-magalhaes) wrote :

Fixed for Firefox 15 and above in revision 52, according to comment 3.

If anyone believes that it's worth finding a fix which works for Firefox versions between 4 and 14 (which also have SMIL support but which currently trigger the symptoms in the bug description), then please create a separate bug or add comments here.

Changed in smil:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.