It's supposed to be deterministic so there is a bug somewhere. - R. Niwa
On Thu, Aug 29, 2013 at 4:27 PM, Dean Jackson <[email protected]> wrote: > I believe the tests you added are not reliable across runs. In particular, > the unique id you generate > isn’t necessarily always the same, but your -expected.txt is just a dump > of the DOM. > > I filed: http://webkit.org/b/120490, but I only mentioned one test. Since > then I’ve seen more fail. > > Dean > > On 30 Aug 2013, at 3:25 am, Rob Buis <[email protected]> wrote: > > > Fixed. > > > > More seriously, all bugs mentioned below are fixed/closed, please open > > new ones for any regressions/improvements. > > Cheers, > > > > Rob. > > > > On 19 June 2013 14:44, Alex Milowski <[email protected]> wrote: > >> I was working on using MathJax [1] to turn MathML into SVG and ran into > some > >> serious serialization issues. In summary, as MathJax programmatically > >> creates SVG renderings of the MathML, when it creates XLink attributes, > it > >> doesn't seem to define a prefix. While this works for rendering, it > does > >> when you try to extract a serialization of the SVG. > >> > >> That is, MathJax creates SVG 'use' elements like (assuming SVG as the > >> default namespace): > >> > >> <use xlink:href="#MJMATHI-78" xmlns:xlink="http://www.w3.org/1999/xlink > "/> > >> > >> but instead I get: > >> > >> <use href="#MJMATHI-78" xmlns="http://www.w3.org/1999/xlink"/> > >> > >> which makes the SVG incorrect as the 'use' element is now in the xlink > >> namespace. > >> > >> You can work around this by manually setting the "prefix" property on > each > >> xlink:href attribute. > >> > >> Looking into why this happens, I can see that the serializer seriously > >> broken in a number of ways when the DOM is constructed with incomplete > (e.g. > >> missing namespace declarations) or inconsistent information (e.g. same > >> prefix used for different namespaces in the same context). > >> > >> I found at least 6 bugs outstanding (#16739 [2], #16496 [3], #19121 [4], > >> #22958 [5], #83056 [6], #106531 [7]) and filed a new one (#117764 [8]). > >> Some of these date back to 2007 (6 years ago!). > >> > >> These bugs break down to these categories: > >> > >> 1. Default namespace issues: #16739, #106531, #16496 > >> 2. Conflicting prefix mappings: #117764, #19121 > >> 3. Namespace attribute issues: #22958, #83056, #117764 > >> > >> In looking at the code (MarkupAccumulator.cpp), they all suffer from > one of > >> two problems: > >> > >> 1. The computed prefix used isn't properly used for the declaration. > >> > >> 2. The generated namespace mappings aren't properly stored, scoped, or > dealt > >> with when they are inconsistent. > >> > >> There is an general assumption in the code that certain prefixes should > >> always be used for certain namespaces. Unfortunately, it does so > without > >> looking to see whether there is a conflict already in scope. Also, > when the > >> namespace is not recognized and there is no prefix, a prefix needs to be > >> generated for the serialization. > >> > >> Having written several robust XML Serializers for other projects, this > can > >> all be fixed in a straightforward way. I've looked at the code and know > >> what should be done. The changes are probably modest. > >> > >> Unfortunately, I can't spend the time to directly write and test the > code > >> till probably after November. :( > >> > >> I am certainly willing to help, explain my strategy, advise, test, etc. > if > >> there was another willing developer out there who would like to see > these > >> bugs closed. > >> > >> [1] http://www.mathjax.org/ > >> [2] https://bugs.webkit.org/show_bug.cgi?id=16739 > >> [3] https://bugs.webkit.org/show_bug.cgi?id=16496 > >> [4] https://bugs.webkit.org/show_bug.cgi?id=19121 > >> [5] https://bugs.webkit.org/show_bug.cgi?id=22958 > >> [6] https://bugs.webkit.org/show_bug.cgi?id=83056 > >> [7] https://bugs.webkit.org/show_bug.cgi?id=106531 > >> [8] https://bugs.webkit.org/show_bug.cgi?id=117764 > >> > >> > >> -- > >> --Alex Milowski > >> "The excellence of grammar as a guide is proportional to the paucity of > the > >> inflexions, i.e. to the degree of analysis effected by the language > >> considered." > >> > >> Bertrand Russell in a footnote of Principles of Mathematics > >> > >> _______________________________________________ > >> webkit-dev mailing list > >> [email protected] > >> https://lists.webkit.org/mailman/listinfo/webkit-dev > >> > > _______________________________________________ > > webkit-dev mailing list > > [email protected] > > https://lists.webkit.org/mailman/listinfo/webkit-dev > > _______________________________________________ > webkit-dev mailing list > [email protected] > https://lists.webkit.org/mailman/listinfo/webkit-dev >
_______________________________________________ webkit-dev mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-dev

