Bug 160540

Summary: Introduce a MathMLAnnotationElement class for the annotation/annotation-xml elements
Product: WebKit Reporter: Frédéric Wang (:fredw) <fred.wang>
Component: MathMLAssignee: Frédéric Wang (:fredw) <fred.wang>
Status: RESOLVED FIXED    
Severity: Normal CC: alex, bfulgham, commit-queue, darin
Priority: P2    
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 160542, 160543    
Attachments:
Description Flags
Patch
darin: review+
Final Patch none

Frédéric Wang (:fredw)
Reported 2016-08-04 01:56:51 PDT
annotation can only contain text whereas the annotation-xml element can contain some elements as described in the HTML5 RelaxNG schema. For this reason, they have been implemented in MathMLTextElement and MathMLInlineContainerElement respectively. However, they are actually closer to each other than to token elements or presentation containers. In particular, they have their own attributes and are not supposed to handle things like mathvariant or displaystyle. We should introduce a MathMLAnnotationClass to shar their implementation.
Attachments
Patch (23.68 KB, patch)
2016-08-04 02:11 PDT, Frédéric Wang (:fredw)
darin: review+
Final Patch (24.57 KB, patch)
2016-08-21 03:51 PDT, Frédéric Wang (:fredw)
no flags
Frédéric Wang (:fredw)
Comment 1 2016-08-04 02:11:25 PDT
Frédéric Wang (:fredw)
Comment 2 2016-08-04 03:26:19 PDT
Comment on attachment 285307 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=285307&action=review > Source/WebCore/CMakeLists.txt:1990 > + mathml/MathMLAnnotationElement.cpp The windows bot seems happy, but I should also update Source/WebCore/mathml/MathMLAllInOne.cpp
Darin Adler
Comment 3 2016-08-05 23:09:06 PDT
Comment on attachment 285307 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=285307&action=review > Source/WebCore/mathml/MathMLAnnotationElement.cpp:32 > +#include "HTMLElement.h" No need to include this, since this is a base class of HTMLHtmlElement. > Source/WebCore/mathml/MathMLAnnotationElement.cpp:38 > +#include "SVGElement.h" No need to include this, since this is a base class of SVGSVGElement. > Source/WebCore/mathml/MathMLAnnotationElement.h:44 > + void attributeChanged(const QualifiedName&, const AtomicString& oldValue, const AtomicString& newValue, AttributeModificationReason) override; Should be final, not override.
Frédéric Wang (:fredw)
Comment 4 2016-08-21 03:51:05 PDT
Created attachment 286562 [details] Final Patch
WebKit Commit Bot
Comment 5 2016-08-21 05:20:24 PDT
Comment on attachment 286562 [details] Final Patch Clearing flags on attachment: 286562 Committed r204692: <http://trac.webkit.org/changeset/204692>
Note You need to log in before you can comment on or make changes to this bug.