Title: [249645] trunk
Revision
249645
Author
[email protected]
Date
2019-09-09 08:21:15 -0700 (Mon, 09 Sep 2019)

Log Message

[GTK][WPE] Remove attributes deprecated from MathML3
https://bugs.webkit.org/show_bug.cgi?id=197492

Patch by Rob Buis <[email protected]> on 2019-09-09
Reviewed by Frédéric Wang.

LayoutTests/imported/w3c:

Import relevant WPT test.

* web-platform-tests/mathml/relations/css-styling/attribute-mapping-001-expected.txt: Added.
* web-platform-tests/mathml/relations/css-styling/attribute-mapping-001.html: Added.

Source/WebCore:

Remove some MathML3 deprecated attributes:
https://github.com/mathml-refresh/mathml/issues/5#issuecomment-475506856

This change also maps the dir attribute to direction for MathML Core.

Test: imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001.html

* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::collectStyleForPresentationAttribute):

LayoutTests:

Disable the MathML Core flag for tests assuming MathML3 behavior.

* mathml/presentation/attributes-background-color-expected.html:
* mathml/presentation/attributes-background-color.html:
* mathml/presentation/attributes-mathvariant.html:
* mathml/presentation/direction-overall.html:
* mathml/presentation/mstyle-css-attributes.html:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (249644 => 249645)


--- trunk/LayoutTests/ChangeLog	2019-09-09 12:58:49 UTC (rev 249644)
+++ trunk/LayoutTests/ChangeLog	2019-09-09 15:21:15 UTC (rev 249645)
@@ -1,3 +1,18 @@
+2019-09-09  Rob Buis  <[email protected]>
+
+        [GTK][WPE] Remove attributes deprecated from MathML3
+        https://bugs.webkit.org/show_bug.cgi?id=197492
+
+        Reviewed by Frédéric Wang.
+
+        Disable the MathML Core flag for tests assuming MathML3 behavior.
+
+        * mathml/presentation/attributes-background-color-expected.html:
+        * mathml/presentation/attributes-background-color.html:
+        * mathml/presentation/attributes-mathvariant.html:
+        * mathml/presentation/direction-overall.html:
+        * mathml/presentation/mstyle-css-attributes.html:
+
 2019-09-08  Saam Barati  <[email protected]>
 
         [WHLSL] Add back a version of the property resolver

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (249644 => 249645)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2019-09-09 12:58:49 UTC (rev 249644)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2019-09-09 15:21:15 UTC (rev 249645)
@@ -1,3 +1,15 @@
+2019-09-09  Rob Buis  <[email protected]>
+
+        [GTK][WPE] Remove attributes deprecated from MathML3
+        https://bugs.webkit.org/show_bug.cgi?id=197492
+
+        Reviewed by Frédéric Wang.
+
+        Import relevant WPT test.
+
+        * web-platform-tests/mathml/relations/css-styling/attribute-mapping-001-expected.txt: Added.
+        * web-platform-tests/mathml/relations/css-styling/attribute-mapping-001.html: Added.
+
 2019-09-07  Chris Dumez  <[email protected]>
 
         Add support for postMessage buffering between the service worker and window

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001-expected.txt (0 => 249645)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001-expected.txt	2019-09-09 15:21:15 UTC (rev 249645)
@@ -0,0 +1,165 @@
+
+PASS dir on the math element is mapped to CSS direction 
+PASS mathcolor on the math element is mapped to CSS color 
+PASS mathbackground on the math element is mapped to CSS background-color 
+PASS mathsize on the math element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the math element are not mapped to CSS 
+PASS dir on the annotation element is mapped to CSS direction 
+PASS mathcolor on the annotation element is mapped to CSS color 
+PASS mathbackground on the annotation element is mapped to CSS background-color 
+PASS mathsize on the annotation element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the annotation element are not mapped to CSS 
+PASS dir on the annotation-xml element is mapped to CSS direction 
+PASS mathcolor on the annotation-xml element is mapped to CSS color 
+PASS mathbackground on the annotation-xml element is mapped to CSS background-color 
+PASS mathsize on the annotation-xml element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the annotation-xml element are not mapped to CSS 
+PASS dir on the maction element is mapped to CSS direction 
+PASS mathcolor on the maction element is mapped to CSS color 
+PASS mathbackground on the maction element is mapped to CSS background-color 
+PASS mathsize on the maction element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the maction element are not mapped to CSS 
+PASS dir on the menclose element is mapped to CSS direction 
+PASS mathcolor on the menclose element is mapped to CSS color 
+PASS mathbackground on the menclose element is mapped to CSS background-color 
+PASS mathsize on the menclose element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the menclose element are not mapped to CSS 
+PASS dir on the merror element is mapped to CSS direction 
+FAIL mathcolor on the merror element is mapped to CSS color assert_equals: no attribute expected "rgb(255, 0, 0)" but got "rgb(0, 0, 255)"
+PASS mathbackground on the merror element is mapped to CSS background-color 
+PASS mathsize on the merror element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the merror element are not mapped to CSS 
+PASS dir on the mfrac element is mapped to CSS direction 
+PASS mathcolor on the mfrac element is mapped to CSS color 
+PASS mathbackground on the mfrac element is mapped to CSS background-color 
+PASS mathsize on the mfrac element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mfrac element are not mapped to CSS 
+PASS dir on the mi element is mapped to CSS direction 
+PASS mathcolor on the mi element is mapped to CSS color 
+PASS mathbackground on the mi element is mapped to CSS background-color 
+PASS mathsize on the mi element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mi element are not mapped to CSS 
+PASS dir on the mmultiscripts element is mapped to CSS direction 
+PASS mathcolor on the mmultiscripts element is mapped to CSS color 
+PASS mathbackground on the mmultiscripts element is mapped to CSS background-color 
+PASS mathsize on the mmultiscripts element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mmultiscripts element are not mapped to CSS 
+PASS dir on the mn element is mapped to CSS direction 
+PASS mathcolor on the mn element is mapped to CSS color 
+PASS mathbackground on the mn element is mapped to CSS background-color 
+PASS mathsize on the mn element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mn element are not mapped to CSS 
+PASS dir on the mo element is mapped to CSS direction 
+PASS mathcolor on the mo element is mapped to CSS color 
+PASS mathbackground on the mo element is mapped to CSS background-color 
+PASS mathsize on the mo element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mo element are not mapped to CSS 
+PASS dir on the mover element is mapped to CSS direction 
+PASS mathcolor on the mover element is mapped to CSS color 
+PASS mathbackground on the mover element is mapped to CSS background-color 
+PASS mathsize on the mover element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mover element are not mapped to CSS 
+PASS dir on the mpadded element is mapped to CSS direction 
+PASS mathcolor on the mpadded element is mapped to CSS color 
+PASS mathbackground on the mpadded element is mapped to CSS background-color 
+PASS mathsize on the mpadded element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mpadded element are not mapped to CSS 
+PASS dir on the mphantom element is mapped to CSS direction 
+PASS mathcolor on the mphantom element is mapped to CSS color 
+PASS mathbackground on the mphantom element is mapped to CSS background-color 
+PASS mathsize on the mphantom element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mphantom element are not mapped to CSS 
+PASS dir on the mprescripts element is mapped to CSS direction 
+PASS mathcolor on the mprescripts element is mapped to CSS color 
+PASS mathbackground on the mprescripts element is mapped to CSS background-color 
+FAIL mathsize on the mprescripts element is mapped to CSS font-size assert_equals: no attribute expected "50px" but got "37.5px"
+PASS deprecated MathML3 attributes on the mprescripts element are not mapped to CSS 
+PASS dir on the mroot element is mapped to CSS direction 
+PASS mathcolor on the mroot element is mapped to CSS color 
+PASS mathbackground on the mroot element is mapped to CSS background-color 
+PASS mathsize on the mroot element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mroot element are not mapped to CSS 
+PASS dir on the mrow element is mapped to CSS direction 
+PASS mathcolor on the mrow element is mapped to CSS color 
+PASS mathbackground on the mrow element is mapped to CSS background-color 
+PASS mathsize on the mrow element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mrow element are not mapped to CSS 
+PASS dir on the ms element is mapped to CSS direction 
+PASS mathcolor on the ms element is mapped to CSS color 
+PASS mathbackground on the ms element is mapped to CSS background-color 
+PASS mathsize on the ms element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the ms element are not mapped to CSS 
+PASS dir on the mspace element is mapped to CSS direction 
+PASS mathcolor on the mspace element is mapped to CSS color 
+PASS mathbackground on the mspace element is mapped to CSS background-color 
+PASS mathsize on the mspace element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mspace element are not mapped to CSS 
+PASS dir on the msqrt element is mapped to CSS direction 
+PASS mathcolor on the msqrt element is mapped to CSS color 
+PASS mathbackground on the msqrt element is mapped to CSS background-color 
+PASS mathsize on the msqrt element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the msqrt element are not mapped to CSS 
+PASS dir on the mstyle element is mapped to CSS direction 
+PASS mathcolor on the mstyle element is mapped to CSS color 
+PASS mathbackground on the mstyle element is mapped to CSS background-color 
+PASS mathsize on the mstyle element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mstyle element are not mapped to CSS 
+PASS dir on the msub element is mapped to CSS direction 
+PASS mathcolor on the msub element is mapped to CSS color 
+PASS mathbackground on the msub element is mapped to CSS background-color 
+PASS mathsize on the msub element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the msub element are not mapped to CSS 
+PASS dir on the msubsup element is mapped to CSS direction 
+PASS mathcolor on the msubsup element is mapped to CSS color 
+PASS mathbackground on the msubsup element is mapped to CSS background-color 
+PASS mathsize on the msubsup element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the msubsup element are not mapped to CSS 
+PASS dir on the msup element is mapped to CSS direction 
+PASS mathcolor on the msup element is mapped to CSS color 
+PASS mathbackground on the msup element is mapped to CSS background-color 
+PASS mathsize on the msup element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the msup element are not mapped to CSS 
+PASS dir on the mtable element is mapped to CSS direction 
+PASS mathcolor on the mtable element is mapped to CSS color 
+PASS mathbackground on the mtable element is mapped to CSS background-color 
+PASS mathsize on the mtable element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mtable element are not mapped to CSS 
+PASS dir on the mtd element is mapped to CSS direction 
+PASS mathcolor on the mtd element is mapped to CSS color 
+PASS mathbackground on the mtd element is mapped to CSS background-color 
+PASS mathsize on the mtd element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mtd element are not mapped to CSS 
+PASS dir on the mtext element is mapped to CSS direction 
+PASS mathcolor on the mtext element is mapped to CSS color 
+PASS mathbackground on the mtext element is mapped to CSS background-color 
+PASS mathsize on the mtext element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mtext element are not mapped to CSS 
+PASS dir on the mtr element is mapped to CSS direction 
+PASS mathcolor on the mtr element is mapped to CSS color 
+PASS mathbackground on the mtr element is mapped to CSS background-color 
+PASS mathsize on the mtr element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the mtr element are not mapped to CSS 
+PASS dir on the munder element is mapped to CSS direction 
+PASS mathcolor on the munder element is mapped to CSS color 
+PASS mathbackground on the munder element is mapped to CSS background-color 
+PASS mathsize on the munder element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the munder element are not mapped to CSS 
+PASS dir on the munderover element is mapped to CSS direction 
+PASS mathcolor on the munderover element is mapped to CSS color 
+PASS mathbackground on the munderover element is mapped to CSS background-color 
+PASS mathsize on the munderover element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the munderover element are not mapped to CSS 
+PASS dir on the none element is mapped to CSS direction 
+PASS mathcolor on the none element is mapped to CSS color 
+PASS mathbackground on the none element is mapped to CSS background-color 
+FAIL mathsize on the none element is mapped to CSS font-size assert_equals: no attribute expected "50px" but got "37.5px"
+PASS deprecated MathML3 attributes on the none element are not mapped to CSS 
+PASS dir on the semantics element is mapped to CSS direction 
+PASS mathcolor on the semantics element is mapped to CSS color 
+PASS mathbackground on the semantics element is mapped to CSS background-color 
+PASS mathsize on the semantics element is mapped to CSS font-size 
+PASS deprecated MathML3 attributes on the semantics element are not mapped to CSS 
+ 
+   
+ 
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001.html (0 => 249645)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001.html	2019-09-09 15:21:15 UTC (rev 249645)
@@ -0,0 +1,102 @@
+<!DOCTYPE html><!-- webkit-test-runner [ experimental:CoreMathMLEnabled=true ] -->
+<html>
+<head>
+<meta charset="utf-8">
+<title>Attribute mapping</title>
+<link rel="help" href=""
+<link rel="help" href=""
+<meta name="assert" content="Verify that dir, mathcolor, mathbackground and mathsize are mapped to CSS but that deprecated MathML3 attributes are not.">
+<script src=""
+<script src=""
+<script src=""
+<style>
+  #container {
+      color: blue;
+      font-size: 50px;
+  }
+</style>
+<script>
+  setup({ explicit_done: true });
+  window.addEventListener("load", runTests);
+  function runTests() {
+      var container = document.getElementById("container");
+      for (tag in MathMLFragments) {
+          container.insertAdjacentHTML("beforeend", `<math>${MathMLFragments[tag]}</math>`);
+      }
+      Array.from(document.getElementsByClassName("element")).forEach(element => {
+          var tag = element.tagName;
+          var style = window.getComputedStyle(element);
+
+          test(function() {
+              assert_equals(style.getPropertyValue("direction"), "ltr", "no attribute");
+              element.setAttribute("dir", "rtl");
+              assert_equals(style.getPropertyValue("direction"), "rtl", "attribute specified");
+              element.setAttribute("dir", "RtL");
+              assert_equals(style.getPropertyValue("direction"), "rtl", "case insensitive");
+          }, `dir on the ${tag} element is mapped to CSS direction`)
+
+          test(function() {
+              assert_equals(style.getPropertyValue("color"),
+                            tag === "merror" ?
+                            "rgb(255, 0, 0)" : "rgb(0, 0, 255)",
+                            "no attribute");
+              element.setAttribute("mathcolor", "black");
+              assert_equals(style.getPropertyValue("color"), "rgb(0, 0, 0)", "attribute specified");
+              // The color names are case-insensitive.
+              // See https://www.w3.org/TR/css-color-3/#html4
+              element.setAttribute("mathcolor", "GrEeN");
+              assert_equals(style.getPropertyValue("color"), "rgb(0, 128, 0)", "case insensitive");
+          }, `mathcolor on the ${tag} element is mapped to CSS color`);
+
+          test(function() {
+              assert_equals(style.getPropertyValue("background-color"),
+                            tag === "merror" ?
+                            "rgb(255, 255, 224)" : "rgba(0, 0, 0, 0)",
+                            "no attribute");
+              element.setAttribute("mathbackground", "lightblue");
+              assert_equals(style.getPropertyValue("background-color"), "rgb(173, 216, 230)", "attribute specified");
+              // The color names are case-insensitive.
+              // See https://www.w3.org/TR/css-color-3/#html4
+              element.setAttribute("mathbackground", "YeLlOw");
+              assert_equals(style.getPropertyValue("background-color"), "rgb(255, 255, 0)", "case insensitive");
+          }, `mathbackground on the ${tag} element is mapped to CSS background-color`);
+
+          test(function() {
+              assert_equals(style.getPropertyValue("font-size"), "50px", "no attribute");
+              element.setAttribute("mathsize", "20px");
+              assert_equals(style.getPropertyValue("font-size"), "20px", "attribute specified");
+              // unit identifiers are ASCII case-insensitive.
+              // https://www.w3.org/TR/css-values-3/#typedef-dimension
+              element.setAttribute("mathsize", "30Px");
+              assert_equals(style.getPropertyValue("font-size"), "30px", "case insensitive");
+          }, `mathsize on the ${tag} element is mapped to CSS font-size`);
+
+          test(function() {
+              var properties = ["background-color", "color", "fontfamily", "font-size", "font-style", "font-weight"];
+              var oldStyle = {};
+              properties.forEach(property => {
+                  oldStyle[property] = style.getPropertyValue(property);
+              });
+              element.setAttribute("background", "red");
+              element.setAttribute("color", "blue");
+              element.setAttribute("fontfamily", "monospace");
+              element.setAttribute("fontsize", "50px");
+              element.setAttribute("fontstyle", "italic");
+              element.setAttribute("fontweight", "bold");
+              properties.forEach(property => {
+                  assert_equals(style.getPropertyValue(property), oldStyle[property], `${property}`);
+              });
+          }, `deprecated MathML3 attributes on the ${tag} element are not mapped to CSS`);
+      });
+
+      done();
+  }
+</script>
+</head>
+<body>
+  <div id="log"></div>
+  <div id="container">
+    <math class="element"></math>
+  </div>
+</body>
+</html>

Modified: trunk/LayoutTests/mathml/presentation/attributes-background-color-expected.html (249644 => 249645)


--- trunk/LayoutTests/mathml/presentation/attributes-background-color-expected.html	2019-09-09 12:58:49 UTC (rev 249644)
+++ trunk/LayoutTests/mathml/presentation/attributes-background-color-expected.html	2019-09-09 15:21:15 UTC (rev 249645)
@@ -1,4 +1,4 @@
-<!doctype html>
+<!doctype html><!-- webkit-test-runner [ experimental:CoreMathMLEnabled=false ] -->
 <html>
   <head>
     <title>background, color</title>

Modified: trunk/LayoutTests/mathml/presentation/attributes-background-color.html (249644 => 249645)


--- trunk/LayoutTests/mathml/presentation/attributes-background-color.html	2019-09-09 12:58:49 UTC (rev 249644)
+++ trunk/LayoutTests/mathml/presentation/attributes-background-color.html	2019-09-09 15:21:15 UTC (rev 249645)
@@ -1,4 +1,4 @@
-<!doctype html>
+<!doctype html><!-- webkit-test-runner [ experimental:CoreMathMLEnabled=false ] -->
 <html>
   <head>
     <title>background, color</title>

Modified: trunk/LayoutTests/mathml/presentation/attributes-mathvariant.html (249644 => 249645)


--- trunk/LayoutTests/mathml/presentation/attributes-mathvariant.html	2019-09-09 12:58:49 UTC (rev 249644)
+++ trunk/LayoutTests/mathml/presentation/attributes-mathvariant.html	2019-09-09 15:21:15 UTC (rev 249645)
@@ -1,4 +1,4 @@
-<!doctype html>
+<!doctype html><!-- webkit-test-runner [ experimental:CoreMathMLEnabled=false ] -->
 <html>
   <head>
     <title>mathvariant</title>

Modified: trunk/LayoutTests/mathml/presentation/direction-overall.html (249644 => 249645)


--- trunk/LayoutTests/mathml/presentation/direction-overall.html	2019-09-09 12:58:49 UTC (rev 249644)
+++ trunk/LayoutTests/mathml/presentation/direction-overall.html	2019-09-09 15:21:15 UTC (rev 249645)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ experimental:CoreMathMLEnabled=false ] -->
 <html>
   <head><title>Test overall directionality</title></head>
   <body>

Modified: trunk/LayoutTests/mathml/presentation/mstyle-css-attributes.html (249644 => 249645)


--- trunk/LayoutTests/mathml/presentation/mstyle-css-attributes.html	2019-09-09 12:58:49 UTC (rev 249644)
+++ trunk/LayoutTests/mathml/presentation/mstyle-css-attributes.html	2019-09-09 15:21:15 UTC (rev 249645)
@@ -1,4 +1,4 @@
-<!doctype html>
+<!doctype html><!-- webkit-test-runner [ experimental:CoreMathMLEnabled=false ] -->
 <html>
   <head>
     <title>mstyle css attributes</title>

Modified: trunk/Source/WebCore/ChangeLog (249644 => 249645)


--- trunk/Source/WebCore/ChangeLog	2019-09-09 12:58:49 UTC (rev 249644)
+++ trunk/Source/WebCore/ChangeLog	2019-09-09 15:21:15 UTC (rev 249645)
@@ -1,3 +1,20 @@
+2019-09-09  Rob Buis  <[email protected]>
+
+        [GTK][WPE] Remove attributes deprecated from MathML3
+        https://bugs.webkit.org/show_bug.cgi?id=197492
+
+        Reviewed by Frédéric Wang.
+
+        Remove some MathML3 deprecated attributes:
+        https://github.com/mathml-refresh/mathml/issues/5#issuecomment-475506856
+
+        This change also maps the dir attribute to direction for MathML Core.
+
+        Test: imported/w3c/web-platform-tests/mathml/relations/css-styling/attribute-mapping-001.html
+
+        * mathml/MathMLElement.cpp:
+        (WebCore::MathMLElement::collectStyleForPresentationAttribute):
+
 2019-09-09  Youenn Fablet  <[email protected]>
 
         Move checkProcessLocalPortForActivity from provider to registry

Modified: trunk/Source/WebCore/mathml/MathMLElement.cpp (249644 => 249645)


--- trunk/Source/WebCore/mathml/MathMLElement.cpp	2019-09-09 12:58:49 UTC (rev 249644)
+++ trunk/Source/WebCore/mathml/MathMLElement.cpp	2019-09-09 15:21:15 UTC (rev 249645)
@@ -40,6 +40,7 @@
 #include "MathMLNames.h"
 #include "MouseEvent.h"
 #include "RenderTableCell.h"
+#include "Settings.h"
 #include <wtf/IsoMallocInlines.h>
 #include <wtf/text/StringConcatenateNumbers.h>
 
@@ -139,25 +140,31 @@
         addPropertyToPresentationAttributeStyle(style, CSSPropertyFontSize, convertMathSizeIfNeeded(value));
     else if (name == mathcolorAttr)
         addPropertyToPresentationAttributeStyle(style, CSSPropertyColor, value);
-    // FIXME: The following are deprecated attributes that should lose if there is a conflict with a non-deprecated attribute.
-    else if (name == fontsizeAttr)
-        addPropertyToPresentationAttributeStyle(style, CSSPropertyFontSize, value);
-    else if (name == backgroundAttr)
-        addPropertyToPresentationAttributeStyle(style, CSSPropertyBackgroundColor, value);
-    else if (name == colorAttr)
-        addPropertyToPresentationAttributeStyle(style, CSSPropertyColor, value);
-    else if (name == fontstyleAttr)
-        addPropertyToPresentationAttributeStyle(style, CSSPropertyFontStyle, value);
-    else if (name == fontweightAttr)
-        addPropertyToPresentationAttributeStyle(style, CSSPropertyFontWeight, value);
-    else if (name == fontfamilyAttr)
-        addPropertyToPresentationAttributeStyle(style, CSSPropertyFontFamily, value);
     else if (name == dirAttr) {
-        if (hasTagName(mathTag) || hasTagName(mrowTag) || hasTagName(mstyleTag) || isMathMLToken())
+        if (document().settings().coreMathMLEnabled() || hasTagName(mathTag) || hasTagName(mrowTag) || hasTagName(mstyleTag) || isMathMLToken())
             addPropertyToPresentationAttributeStyle(style, CSSPropertyDirection, value);
-    }  else {
-        ASSERT(!isPresentationAttribute(name));
-        StyledElement::collectStyleForPresentationAttribute(name, value, style);
+    } else {
+        if (document().settings().coreMathMLEnabled()) {
+            StyledElement::collectStyleForPresentationAttribute(name, value, style);
+            return;
+        }
+        // FIXME: The following are deprecated attributes that should lose if there is a conflict with a non-deprecated attribute.
+        if (name == fontsizeAttr)
+            addPropertyToPresentationAttributeStyle(style, CSSPropertyFontSize, value);
+        else if (name == backgroundAttr)
+            addPropertyToPresentationAttributeStyle(style, CSSPropertyBackgroundColor, value);
+        else if (name == colorAttr)
+            addPropertyToPresentationAttributeStyle(style, CSSPropertyColor, value);
+        else if (name == fontstyleAttr)
+            addPropertyToPresentationAttributeStyle(style, CSSPropertyFontStyle, value);
+        else if (name == fontweightAttr)
+            addPropertyToPresentationAttributeStyle(style, CSSPropertyFontWeight, value);
+        else if (name == fontfamilyAttr)
+            addPropertyToPresentationAttributeStyle(style, CSSPropertyFontFamily, value);
+        else {
+            ASSERT(!isPresentationAttribute(name));
+            StyledElement::collectStyleForPresentationAttribute(name, value, style);
+        }
     }
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to