Splitting this out from bug 614732. The plan is to land the patches to implement SVG display lists in bug 614732, and then enable SVG display lists in this bug after the patches for bug 755084 have landed and have been enabled.
Off-main-thread-animations are going to cause problems wherever we've got an nsDisplayTransform that combines a transform due to CSS styling with another transform (e.g. a transform imposed by SVG viewbox or 'transform' attribute). A CSS animation on such an element will modify the layer's transform directly, wiping out any modifications made by SVG.
To fix this, we should ensure that CSS transforms aren't mixed with other transforms in the same nsDisplayTransform. We may need to create multiple nsDisplayTransforms for the same element. That's OK as long as they always have different display-item-keys.
Created attachment 648126 [details] [diff] [review]
patch - flip prefs to enable SVG display lists [r=roc in bug 614732]
As discussed with jet and roc, I've pushed the patch to enable SDL without addressing comment 1 yet. This is in order to gather info on any regressions as early as possible, and to maxixmize our chances of fixing them before the next uplift.
Whether or not this sticks, I've spun comment 1 out into bug 779683 to address it there.
I've been looking through the Talos data since I pushed this. We got both wins and losses.
We got tscrollr wins on three platforms:
And tsvgr_opacity regression on three platforms:
I don't think the tsvgr_opacity regressions are worth backing out for. I'd rather keep this enabled and get eyes on any functional regressions.
I'll work on figuring out and fixing the tsvgr_opacity regressions on Tuesday when I'm back online.
Apologies - wrong bug.