SummerOfCode/2012/DynamicMathML: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 3: Line 3:
The ability for Web authors to make dynamic pages is important and was requested by many users. In the case of MathML it allows such things as writing interactive pages, i.e. math quiz or similar. For the simplest interactions, the MathML specification provides the ''maction'' element, which is partially implemented in Mozilla's MathML engine.
The ability for Web authors to make dynamic pages is important and was requested by many users. In the case of MathML it allows such things as writing interactive pages, i.e. math quiz or similar. For the simplest interactions, the MathML specification provides the ''maction'' element, which is partially implemented in Mozilla's MathML engine.


However, Mozilla's ''maction'' implementation has several bugs/spec violations and some features asked by users such as the ''tooltip actiontype'' are not still implemented. Similarly, the rendering of MathML formulas created by Javascript is not always updated correctly. This is problematic, for example to render the MathML code generated by the MathJax library. In my project, I intend to develop a full ''maction'' support in Mozilla MathML and fix known bugs, related with ''maction'' and Javascript.
However, Mozilla's maction implementation has several bugs/spec violations and some features asked by users such as the ''tooltip actiontype'' are not still implemented. Similarly, the rendering of MathML formulas created by Javascript is not always updated correctly. This is problematic, for example to render the MathML code generated by the MathJax library.  
 
This project consists of several parts. Firstly, I intend to develop a full maction support (for example, implementing the tooltip actiontype) and to fix known maction bugs. I intend to write tests for maction and dynamic MathML rendering in general to reveal previously unknown bugs and make the implementation more reliable. Also Mozilla MathML demo pages are incomplete and out of date, so I want to update them to follow our current maction implementation and using MathML syntax instead of HTML+CSS.
 
Finally, there are some things in MathML REC that are not clear or cases when Mozilla implementation differs from the REC, e.g. [https://bugzilla.mozilla.org/show_bug.cgi?id=749044 bug 749044]. During this summer I plan to discuss these issues with MathML WG, fix them in Mozilla MathML implementation and possibly implement more features from the MathML spec.


==Project Goals==
==Project Goals==


*To implement the "tooltip" actiontype. "Tooltip" actiontype provides the ability to display a tooltip when the cursor is pointed over the expression.
*To implement the "tooltip" actiontype. "Tooltip" actiontype provides the ability to display a tooltip when the cursor is pointed over the expression. <br>[[https://bugzilla.mozilla.org/show_bug.cgi?id=544001 bug 544001]]
*To fix known maction bugs, such as [https://bugzilla.mozilla.org/show_bug.cgi?id=734729 734729], [https://bugzilla.mozilla.org/show_bug.cgi?id=739556 739556], [https://bugzilla.mozilla.org/show_bug.cgi?id=700440 700440] etc.
*To improve implementation of maction, fix known maction bugs. [[https://bugzilla.mozilla.org/show_bug.cgi?id=734729 bug 734729]][[https://bugzilla.mozilla.org/show_bug.cgi?id=748779 bug 748779]][[https://bugzilla.mozilla.org/show_bug.cgi?id=749044 bug 749044]][[https://bugzilla.mozilla.org/show_bug.cgi?id=544036 tracking bug 544036]]
*To verify that Javascript works well with MathML, report and fix related bugs (for example, [https://bugzilla.mozilla.org/show_bug.cgi?id=657279 657279]).
*To improve handling of attribute/child changes of MathML frames. [[https://bugzilla.mozilla.org/show_bug.cgi?id=734729 bug 734729]][[https://bugzilla.mozilla.org/show_bug.cgi?id=750169 bug 750169]][[https://bugzilla.mozilla.org/show_bug.cgi?id=744783 tracking bug 744783]]
*To rewrite MathML demo pages using REC syntax (this should be done after implementing "tooltip"). Currently, we have demo pages, but they use CSS and Javascript instead of maction.
*To verify that Javascript works well with MathML, report and fix related bugs.
*To rewrite MathML demo pages using MathML REC syntax (this should be done after implementing "tooltip"). [[https://bugzilla.mozilla.org/show_bug.cgi?id=700440 bug 700440]][[https://bugzilla.mozilla.org/show_bug.cgi?id=749103 bug 749103]]<br>[[https://bugzilla.mozilla.org/show_bug.cgi?id=585142 MathML demo pages tracking bug 585142]]
*To write reftests to compare dynamically generated MathML / static MathML.
*To write reftests to compare dynamically generated MathML / static MathML.


14

edits

Navigation menu