{"id":187,"date":"2005-12-13T16:23:19","date_gmt":"2005-12-13T22:23:19","guid":{"rendered":"http:\/\/blog.codedread.com\/?p=187"},"modified":"2005-12-13T16:23:19","modified_gmt":"2005-12-13T22:23:19","slug":"top-10-things-to-fix-for-firefoxs-svg-implementation","status":"publish","type":"post","link":"https:\/\/www.codedread.com\/blog\/archives\/2005\/12\/13\/top-10-things-to-fix-for-firefoxs-svg-implementation\/","title":{"rendered":"Top 10 Things To Fix for Firefox&#8217;s SVG Implementation"},"content":{"rendered":"<p>Now that Firefox 1.5 has been released, I thought I would follow up <a href=\"http:\/\/blog.codedread.com\/archives\/2005\/07\/07\/top-10-things-to-fix-for-operas-svg-tiny-implementation\/\">this entry<\/a> with my corresponding entry for Firefox.  <!--more--> I decided to limit my scope of items to things that Firefox claims it supports on their status page (even if they have acknowledged certain caveats).<\/p>\n<div class=\"ads\"><object type=\"text\/html\" width=\"468\" height=\"60\" data=\"http:\/\/www.codedread.com\/gads.php\"><\/object><\/div>\n<p>In no particular order they are:<\/p>\n<p>1) Support svg:a target attribute.  See <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=300868\">Bug 300868<\/a>.<\/p>\n<p>2) Support text selection.  See <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=292498\">Bug 292498<\/a>.<\/p>\n<p>3) Local SVG files (not online documents) sometimes fail to load up in Firefox.  See <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=303581\">Bug 303581<\/a>.<\/p>\n<p>4) Support SVG documents as targets in svg:image.  See <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=272288\">Bug 272288<\/a>.  This is particularly frustrating as the only other way to do this is by using XMLHttpRequest and then inserting the SVG document into the DOM.<\/p>\n<p>5) Allow the use of CSS background-image to include SVG into an HTML page.  This would be great for rounded corners in HTML &#60;div&#62;s.  See <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=231179\">Bug 231179<\/a>.<\/p>\n<p>6) Gradients in text don't work very well.  See <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=303584\">Bug 303584<\/a>.<\/p>\n<p>7) &#60;use&#62; elements should be allowed to reference external documents.  See <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=269482\">Bug 269482<\/a>.<\/p>\n<p>8) &#60;svg&#62; width and height should be overridden when embedded.  See <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=288276\">Bug 288276<\/a>.  Ironically up until I learned of this bug via <a href=\"http:\/\/www.alleged.org.uk\/pdc\/2005\/09\/09.html#e20050909.svg\">this page<\/a>, I thought Mozilla's behavior was correct and that SVG authors should just use width=\"100%\" height=\"100%\" and an appropriate viewBox attribute.  Now I know better - but I still prefer Mozilla's approach \ud83d\ude09<\/p>\n<p>9) SVG should respect xml:space=\"preserve\".  See <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=319786\">Bug 319786<\/a>.<\/p>\n<p>10) Improved speed and performance.  Currently the Mozilla SVG implementation is pretty slow and memory-heavy (especially when compared to Adobe).  For instance, I was using the DOM methods to add and remove elements repeatedly in my <a href=\"http:\/\/www.codedread.com\/yastframe.php\" title=\"SVG Tetris Clone\">SVG Tetris Clone<\/a> and it was causing the memory used by Firefox to increment without bound (I eventually changed my implementation to a more sensible approach - I have yet to investigate this and write a bug against Mozilla).<\/p>\n<p>Well that's about it.  Of course there are many pieces of the SVG 1.1 spec that still need to be implemented, but I put my vote firmly in the camp of those people who think Mozilla did a good thing by releasing this implementation in partial state so people can start playing with it at larger levels than perhaps a browser plugin could reach.  Combine this with Opera's and Safari's efforts and the picture for SVG looks a little less bleak lately.<\/p>\n<div class=\"ads\"><object type=\"text\/html\" width=\"468\" height=\"60\" data=\"http:\/\/www.codedread.com\/gads.php\"><\/object><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Now that Firefox 1.5 has been released, I thought I would follow up this entry with my corresponding entry for Firefox.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35,25,46,11,28],"tags":[],"class_list":["post-187","post","type-post","status-publish","format-standard","hentry","category-firefox","category-software","category-svg","category-technology","category-web"],"_links":{"self":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts\/187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/comments?post=187"}],"version-history":[{"count":0,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts\/187\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/media?parent=187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/categories?post=187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/tags?post=187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}