Add an MathMLSelectElement class to implement <maction> and <semantics>.
[WebKit-https.git] / Source / WebCore / ChangeLog
index 82f23ea..69846e3 100644 (file)
@@ -1,3 +1,45 @@
+2013-12-03  Frédéric Wang  <fred.wang@free.fr>
+
+        Add an MathMLSelectElement class to implement <maction> and <semantics>.
+        <https://webkit.org/b/120058>
+
+        Reviewed by Chris Fleizach.
+
+        Tests: mathml/presentation/maction-dynamic.html
+               mathml/presentation/maction.html
+               mathml/presentation/semantics.html
+
+        This adds a new MathMLSelectElement class to prepare the implementation
+        of the <maction> and <semantics> elements, for which only one "selected"
+        child is visible. We now simply display the first child of the
+        <semantics> element instead of hiding the annotations and this allows to
+        handle the use case of SVG-in-MathML as generated by Instiki when
+        bug 124128 is fixed ; Gecko's selection algorithm will be implemented
+        later (bug 100626). We now also rely on the @actiontype and @selection
+        attributes to select the visible <maction> child ; It remains to deal
+        with the user interaction (bug 85734).
+
+        * CMakeLists.txt: add the new files.
+        * GNUmakefile.list.am: ditto
+        * Target.pri: ditto
+        * WebCore.vcxproj/WebCore.vcxproj: ditto
+        * WebCore.vcxproj/WebCore.vcxproj.filters: ditto
+        * WebCore.xcodeproj/project.pbxproj: ditto
+        * css/mathml.css: remove the CSS rule for annotation/annotation-xml.
+        * mathml/MathMLAllInOne.cpp: add the new cpp file.
+        * mathml/MathMLSelectElement.cpp: Added.
+        (WebCore::MathMLSelectElement::MathMLSelectElement):
+        (WebCore::MathMLSelectElement::create):
+        (WebCore::MathMLSelectElement::createRenderer):
+        (WebCore::MathMLSelectElement::childShouldCreateRenderer):
+        (WebCore::MathMLSelectElement::finishParsingChildren):
+        (WebCore::MathMLSelectElement::childrenChanged):
+        (WebCore::MathMLSelectElement::attributeChanged):
+        (WebCore::MathMLSelectElement::updateSelectedChild): basic implementation for maction, semantics, maction@actiontype and maction@selection.
+        * mathml/MathMLSelectElement.h: Added.
+        * mathml/mathattrs.in: add actiontype and selection attributes.
+        * mathml/mathtags.in: set element classes for maction, semantics, annotation and annotation-xml.
+
 2013-12-03  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
 
         Nix Upstream: Adding missing nix new files to WebCore