Bug 44382 - SVG Animations don't start for inlineSVG's in HTML5
Summary: SVG Animations don't start for inlineSVG's in HTML5
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Nobody
URL:
Keywords: HTML5
Depends on:
Blocks: 41761
  Show dependency treegraph
 
Reported: 2010-08-21 10:20 PDT by Dirk Schulze
Modified: 2023-01-11 15:12 PST (History)
6 users (show)

See Also:


Attachments
HTML with inlineSVG and SMIL animation (324 bytes, text/html)
2010-08-21 10:20 PDT, Dirk Schulze
no flags Details
standalone SVG with SMIL animation (animation runs) (268 bytes, image/svg+xml)
2010-08-21 10:21 PDT, Dirk Schulze
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Schulze 2010-08-21 10:20:28 PDT
Created attachment 65029 [details]
HTML with inlineSVG and SMIL animation

If you add SMIL animations in inlineSVG's for HTML5, they don't start animating.
Comment 1 Dirk Schulze 2010-08-21 10:21:44 PDT
Created attachment 65030 [details]
standalone SVG with SMIL animation (animation runs)
Comment 2 Eric Seidel (no email) 2010-08-21 11:17:19 PDT
Maybe this is all on SVGDocument instead of on an SVGTimeContainer (aka SVGSVGElement) like it should be.  There is another bug about abstracting more of this code into a SVGTimeContainer class.
Comment 3 Dirk Schulze 2010-08-21 12:06:18 PDT
(In reply to comment #2)
> Maybe this is all on SVGDocument instead of on an SVGTimeContainer (aka SVGSVGElement) like it should be.  There is another bug about abstracting more of this code into a SVGTimeContainer class.

I'm not very familiar with the SMIL code. But we have a SMILTimeContainer and it's all in SVGSVGElement. I guess you mean bug 9192. I would say SMILTimeContainer is your SVGTimeContainer class with the functionality you suggested. Need to debug it.
Comment 4 Rob Buis 2010-08-21 13:22:06 PDT
Hi Eric,

(In reply to comment #2)
> Maybe this is all on SVGDocument instead of on an SVGTimeContainer (aka SVGSVGElement) like it should be.  There is another bug about abstracting more of this code into a SVGTimeContainer class.

Dirk and I debugged this a bit, the old fashioned way using printfs :) Anyway my suspicion is that SVGSMILElement::finishParsingChildren() is not called, and therefore resolveFirstInterval is never called. Is it possible the new HTML5 parsing and tree building code does not call finishParsingChildren for non html/foreign elements?
Cheers,

Rob.
Comment 5 Eric Seidel (no email) 2010-08-21 14:37:47 PDT
HTMLElementStack is responsible for calling finishParsingChildren.  It's possible we missed one case.
Comment 6 Adam Barth 2010-08-21 21:35:36 PDT
I think we also fail to run SVG scripts.  That might be related to this bug.  Thanks for filing it.
Comment 7 Dirk Schulze 2010-08-21 22:31:36 PDT
(In reply to comment #6)
> I think we also fail to run SVG scripts.  That might be related to this bug.  Thanks for filing it.

Yes, looks like this. SVGElement::finishParsingChildren is also used for event handling (sendSVGLoadEventIfPossible).
Comment 8 Nikolas Zimmermann 2012-02-08 00:21:15 PST
Any updates here?
Comment 9 Nikolas Zimmermann 2012-02-13 08:17:26 PST
The bug is fixed in trunk, but we should add Dirks testcase first.
Comment 10 Ahmad Saleem 2023-01-11 15:12:35 PST
Attached HTML inline SVG.. test case works in Safari Technology Preview 160, Chrome Canary 111 and Firefox Nightly 110.

Can we close this now?