Closed Bug 1260878 Opened 9 years ago Closed 8 years ago

Google I/O Website doesn't work in nightly/aurora Firefox (with Web Animations API enabled)

Categories

(Core :: DOM: Animation, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: dbaron, Unassigned)

References

()

Details

https://events.google.com/io2016/ doesn't work in Firefox; it shows only the word "I/O" and two links in the upper right, and doesn't show the bulk of the page's content (as seen in Chrome).
Oh, and only a problem in relatively recent nightlys, it seems, so perhaps worth bisecting.
In the console: TypeError: Invalid easing. b.newUnderlyingAnimationForKeyframeEffect() elements.js:13080 b.Animation.prototype._rebuildUnderlyingAnimation() elements.js:13079 b.Animation() elements.js:13079 b.AnimationTimeline.prototype._play() elements.js:13079 b.newUnderlyingAnimationForGroup() elements.js:13080 b.Animation.prototype._rebuildUnderlyingAnimation() elements.js:13079 b.Animation() elements.js:13079 b.AnimationTimeline.prototype._play() elements.js:13079 b.AnimationTimeline.prototype.play() elements.js:13079 m() site-scripts.js:1 l() site-scripts.js:1 .fire() elements.js:4079 ._selectedChanged/<() elements.js:16707 .async/<() elements.js:4099 Polymer.Async._atEndOfMicrotask() elements.js:2716 <anonymous> elements.js:2731 Let me spin up mozregression.
I think this may be related to Web Animations, given the console errors. (I currently have the regression window down to January 27 - February 5, but the site crashed for much of the interim.)
Component: Desktop → DOM: Animation
Product: Tech Evangelism → Core
Regression window is January 28 - February 5; crashing from January 29 - February 4.
Blocks: 1096773
If I turn off the dom.animations-api.core.enabled pref, the site works -- which also means this doesn't affect beta/release.
Blocks: 1245000
Summary: Google I/O Website doesn't work in Firefox → Google I/O Website doesn't work in nightly/aurora Firefox (with Web Animations API enabled)
> (In reply to David Baron [:dbaron] ⌚️UTC+1 (less responsive until April 4) from comment #5) > If I turn off the dom.animations-api.core.enabled pref, the site works -- > which also means this doesn't affect beta/release. So it sounds like we don't need to track this as a regression then, right? (assuming dom.animations-api.core.enabled is not shipping past aurora)
The easing string passed in this case appears to be: function (e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(0==e||1==e)return e;for(var g=0,h=1;;){var i=(g+h)/2,j=f(a,c,i);if(Math.abs(e-j)<.001)return f(b,d,i);e>j?g=i:h=i}} i.e. I guess the polymer polyfill supports javascript easing functions, maybe the Chrome impl does too? I sure hope not, anyway. That's definitely not in the spec. Maybe the polyfill expects to be able to set this, have the impl ignore it, then eval() it later? But we made invalid values throw in bug 1253470. I'll ping the Chrome guys.
Chrome guys are looking into it and will try to get the page fixed. If it turns out that this is a common pattern with the polyfill that we need to support we'll have to update the spec and our implementation to preserve the easing as-specified (but still have getComputedTiming() return the actual easing).
Filed bug 1260933 for actually printing the invalid easing when this happens.
This probably works in Aurora since we turned Element.animate off there. Unless, of course, this is using the various constructors to set up the animation.
Spoke to the Google guys. This has been fixed in the Web Animations polyfill and there is a new version of the Google I/O site prepared with the updated polyfill. That new version of the site is hoped to go live next week or thereabouts.
I now see "TypeError: IOWA.Elements.Template.debounce is not a function" with today's nightly.
(In reply to Andrew Overholt [:overholt] from comment #12) > I now see "TypeError: IOWA.Elements.Template.debounce is not a function" > with today's nightly. Do you need to click anything to see that? I can't reproduce with today's nightly. There was an update to the I/O site very recently (I got a message from Eric Bidelman about ~1 hour ago to that effect) so maybe something changed just now.
Flags: needinfo?(overholt)
(In reply to Brian Birtles (:birtles) from comment #13) > (In reply to Andrew Overholt [:overholt] from comment #12) > > I now see "TypeError: IOWA.Elements.Template.debounce is not a function" > > with today's nightly. > > Do you need to click anything to see that? No. Now I get "TypeError: Polymer.Base is undefined" (still 2016-04-21 nightly) but that's due to me having the webcomponents pref flipped.
Flags: needinfo?(overholt)
(In reply to Andrew Overholt [:overholt] from comment #14) > No. Now I get "TypeError: Polymer.Base is undefined" (still 2016-04-21 > nightly) but that's due to me having the webcomponents pref flipped. Great, thanks. In that case I think I can mark this as fixed (by changes to the Google I/O site itself).
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.