« Call for testing: filters | Main | Call for testing: patterns »

September 9, 2005

Firefox 1.5 and SVG

As you've probably heard by now, Firefox 1.5 Beta 1 has been released. From the SVG standpoint, the features are most likely frozen at this point. However we can still get specification compliance fixes, crasher and hang fixes, and interoperability fixes (depending on their nature) in before the final release.

We'd like your help to make sure Firefox 1.5's SVG is as good as it can be, as the next major release after that will likely be mid to late next year. So if you're a SVG content developer who's blocked by some problem in our implementation, now is the time to speak up. Please test out the beta and submit a bug if you encounter problems.

By the way, if anyone is interested in helping us maintain the current SVG bug list, your help would be greatly appreciated. You don't have to be a coder - just doing things like checking if a bug still exists on the trunk and/or branch, making sure a testcase is provided, minimizing testcases if appropriate, and looking through the Firefox general bugs to make sure misfiled SVG bugs get recategorized appropriately would be a great help.

Posted by tor at September 9, 2005 6:03 PM

Comments

I don't think there are any words to congratulate all the Mozilla SVG team and contributors that are making SVG within Mozilla a reality.

Posted by: Antoine Quint at September 9, 2005 10:29 PM

What do you think about creating a Mozilla SVG spec? You know, like the SVG guys did with XBL. Mozilla could create a scalable vector graphics spec that makes sense and reuses existing specs.

Posted by: hemebond at September 10, 2005 2:37 AM

I just tried firefox 1.5b1 and it failed many of these tests:
http://www.w3.org/Graphics/SVG/Test/20030813/htmlframe/full-index.html

Posted by: jimis at September 10, 2005 4:36 PM

Of course it fails some of the tests; it is not yet a complete implementation of the full SVG standard, and still has bugs. Have patience, and wait for the implementers to finish their work.

Posted by: Neil at September 10, 2005 7:00 PM

What processes do you use to make sure that the SVG code you write is as secure as possible?

Do you use software to check for buffer overflows and int overflows? Do you do any formal threat modeling? Do you use automated fuzzy tests? Who reviews your SVG code, and what is their security background?

This is a huge area of Gecko with lots of new code, and yet it's hardly been noticed outside some rather small circles. Please try hard to code it securely, I don't want Firefox to be crashable using some strange SVG construct.

Posted by: quality at September 10, 2005 8:38 PM

FF 1.5beta is the first time I've used SVG in Firefox. I tried it on a couple of files I'd created and it worked beautifully. Thanks to all the developers for their work.

Posted by: Matthew Wilson at September 11, 2005 2:07 PM

hemebond: We are working towards a SVG 1.1 Full implementation - the only reason we're implementing a subset in Firefox 1.5 is time and manpower.

quality: Security is a concern - the code is being reviewed for security issues and fuzz tools are being used for testing.

Posted by: tor at September 11, 2005 11:58 PM

The more I read the spec the less I like it. I got really excited about SVG; then I started hearing about all the rewriting of existing specs and some just plain stupid decisions.

Maybe someone will fix it later.

Posted by: hemebond at September 12, 2005 1:46 AM

Any chance that performance of SVG will be improved on Mac OS X? The Firefox nightly is very slow to load pages with SVG content. I remember your post a while back about the poor performance of cairo, but I guess it would be nice if some boost in performance could be put to use before 1.5 is released.

Posted by: krove at September 14, 2005 10:12 PM

We're looking at possibly updating to cairo-1.0.0 (from cairo-0.5.0) on the branch due to missing geometry problems on OS-X. I haven't run performance comparisons between the two on the Mac, but hopefully it won't get worse.

Cairo really needs a developer/maintainer for its Quartz backend - if anyone experienced with the Mac is interested in helping with SVG but isn't prepared to deal with the mozilla codebase, this would a great place to help with.

Posted by: tor at September 14, 2005 10:31 PM

Good to hear you're still considering to update the cairo version on the branch.

For the problems I'm encountering on Solaris (and even worse, the color problems on cross-endian remote displays) there will be fixes in the upcoming cairo 1.0.2 release. This version will also support dashed curves, and that might be a good reason to use that version as well.

I hope version 1.0.2 will be the one included in the final Firefox 1.5 release, but am wondering how likely this is given the timeframe for the 1.5 release?

Posted by: egon at September 15, 2005 10:46 AM

Are you sure those fixes are on the cairo 1.0.x branch? I didn't see them listed in the change log for that branch.

Posted by: tor at September 15, 2005 3:02 PM

That is what I understood from a reply from Owen Taylor on the cairo developers mailing list, so I'm kinda sure those will be in the 1.0.2 release.

Posted by: egon at September 15, 2005 4:15 PM

re performance bugs being looked at for the 1.5 release? The application we are developing is extrememly slow in Mozilla when compared to the adobe plug-in. We could spend a bit of time on test cases now if you thought someone might be willing to look into the problems in the short term. We'd really like to choose Mozilla as our platform for its ability to mix HTML and SVG, but right now the app is unusable in Mozilla due to poor performance.

Posted by: at September 21, 2005 9:48 PM

Whoa. That last comment is from me on September 21st. I have no idea why it is showing up as being from egon on September 15th.

Posted by: at September 21, 2005 10:12 PM

Oops. I see I'm being confused by formatting (and the emptying of fields when previewing). Sorry about that.

Posted by: Amos at September 21, 2005 10:13 PM

Linux/Firefox-1.5 SVG rendering performance on linux is currently quite poor (unusable). Apparently the Cairo library is using the xlib backend with (possibly) the XRENDER extension. Interestingly, on NVIDIA cards with "RenderAccel" turned on it performs the same as when disabled.

However, Cairo's "glitz" backend looks more promising as it outputs OpenGL, which should be quite fast on most modern graphics cards.

Part of the work towards FireFox-2.0 involves moving to the Thebes canvas/subtrate (not clear how this relates to Gecko1.9), which will use cairo for everything and will also use Cairo's "glitz" backend. (see http://wiki.mozilla.org/FutureGfxWhiteboard#Canvas_switch_to_Thebes)

Has anyone experimented with Firefox/Cairo/Glitz yet who can give me an idea of the qualitative performance improvement of SVG rendering? I can post a simple example if desired...

Posted by: Sven at December 30, 2005 2:06 AM