Title: [203278] trunk/LayoutTests
Revision
203278
Author
[email protected]
Date
2016-07-15 09:48:17 -0700 (Fri, 15 Jul 2016)

Log Message

Import more tests from the MathML in HTML5 test suite
https://bugs.webkit.org/show_bug.cgi?id=159715

Patch by Frederic Wang <[email protected]> on 2016-07-15
Reviewed by Brent Fulgham.

* imported/mathml-in-html5/fonts/math/lineheight5000-typolineheight2300.woff: Added.
* imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5-expected.txt: Added.
* imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5.html: Added.
* imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1-expected.txt: Added.
* imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1.html: Added.
* imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2-expected.html: Added.
* imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2.html: Added.
* imported/mathml-in-html5/mathml/relations/css-styling/color-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/css-styling/color-1.html: Added.
* imported/mathml-in-html5/mathml/relations/css-styling/visibility-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/css-styling/visibility-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/class-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/class-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/class-2-expected.txt: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/class-2.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/display-1-expected.txt: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/display-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1-expected.txt: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1-expected.txt: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2-expected.txt: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3.html: Added.
* imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1.html: Added.
* platform/ios-simulator/TestExpectations: Mark use-typo-metrics-1.html as failing.
* platform/mac/TestExpectations: Ditto.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (203277 => 203278)


--- trunk/LayoutTests/ChangeLog	2016-07-15 16:42:21 UTC (rev 203277)
+++ trunk/LayoutTests/ChangeLog	2016-07-15 16:48:17 UTC (rev 203278)
@@ -1,3 +1,52 @@
+2016-07-15  Frederic Wang  <[email protected]>
+
+        Import more tests from the MathML in HTML5 test suite
+        https://bugs.webkit.org/show_bug.cgi?id=159715
+
+        Reviewed by Brent Fulgham.
+
+        * imported/mathml-in-html5/fonts/math/lineheight5000-typolineheight2300.woff: Added.
+        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5-expected.txt: Added.
+        * imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5.html: Added.
+        * imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1-expected.txt: Added.
+        * imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1.html: Added.
+        * imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2-expected.html: Added.
+        * imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2.html: Added.
+        * imported/mathml-in-html5/mathml/relations/css-styling/color-1-expected.html: Added.
+        * imported/mathml-in-html5/mathml/relations/css-styling/color-1.html: Added.
+        * imported/mathml-in-html5/mathml/relations/css-styling/visibility-1-expected.html: Added.
+        * imported/mathml-in-html5/mathml/relations/css-styling/visibility-1.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/class-1-expected.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/class-1.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/class-2-expected.txt: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/class-2.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1-expected.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/display-1-expected.txt: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/display-1.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1-expected.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1-expected.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2-expected.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3-expected.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1-expected.txt: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1-expected.txt: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2-expected.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2-expected.txt: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3-expected.html: Added.
+        * imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3.html: Added.
+        * imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1-expected.html: Added.
+        * imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1.html: Added.
+        * platform/ios-simulator/TestExpectations: Mark use-typo-metrics-1.html as failing.
+        * platform/mac/TestExpectations: Ditto.
+
 2016-07-15  Eric Carlson  <[email protected]>
 
         [MSE] Increase the SourceBuffer "fudge factor"

Added: trunk/LayoutTests/imported/mathml-in-html5/fonts/math/lineheight5000-typolineheight2300.woff (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/fonts/math/lineheight5000-typolineheight2300.woff	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/fonts/math/lineheight5000-typolineheight2300.woff	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,10 @@
+wOFFOTTOT
+CFF L\xDF(\x88\xC9 7FFTM,yS\xE3OS/2HD`!\xD5'cmap\xECEJ\x93\xA9head\xF406	F\xFE\xEBhhea$$+\xAD+\xAFhmtxH
+
+\xD0maxp@Pname\x8C^\xE1$opost4 \xFF\x863x\x9Cc`d``\xE2KoS\x93\xE3\xF9m\xBE2p3\xBF\x8A0\\x96\xBF{A\xFF\xB7`~\xC1\xAC\xE4r00\x81Dvd\xBAx\x9Cc`d`\xE0<\xC2y\x84\x81\x81\xF9\x98dd@LX\xE2uPx\x9Cc`a~\xC18\x81\x81\x95\x81\x81\xA9\x8BiC\x84f|\xC0`\xC8\xC8e`\xE5d\x80Ft\xD0\xC0\xA0\xC0\xE0Ϭ\xF0߂U\x84\xF3\xE7\x84fd:\xFD
+-x\x9CŒ\xBFj\xC30\xC6?;\xA0PJ\xA7\xCE\xEAАPd\x9B\x92-	d\xF6\x9A=\xA4JlV\xB0\xB5x\xEF\xD6gi\xA1\xF4\xFA}\x8D~\xB6\xD5v\xE9\x90!\xA1\x9F\xE4\xEF\xEEtwp\x8378h\xBED\x96\xF4\xF0a\xD9Ž\xF3h\xB9\x85\xB9\xF3i\xB9\x8D\x9E\xFBd\xB9\x83[\xF7\xD5r\xBD\xD65\x95N\xFB\x8A\xBBUmU\xB1C\xEF\xB9es|Yn\xE1ى-\xB7\xB9w\x96;\xEE\x8B\xE5.\xCF߱\x80\xC6%\xBD\xA4\xD8#\x81\x81@[\xB8\x90\xF01&\xC5\xD8\xF0O\xC25\xE2n\x86\x82CS\x95\xD6\xE7)9\xFAX\xE6\xE9>1\xA2\xBF\x88@\xFAcoLGbVz\x9BnL\xAA)\xDB\xD5jZfP\xF4\xAB~\xA3\x8F\xB3\xB9\xE4\xCD\xF4\xBF\xAAa\xAD\xC2Ng\xC6;\xA4\x99JTy$\xA5\xF4Ly\xD4GA(\xA9;C\xA8\xA2,mj՚\xD3^\xD5E\xD2Z`\xCAy\xCE\xD4\x8F&ԇ\x9C?\xCD’%Y\xEA|\xAFD0\x94b*N+\x85\xC1\xC4\xBD\xAAm\xEAњ\xC69V\xF3\x9CDm\xEC\xD7\xD5k\xF2\xC5Z\xE5\x9F\x90\x90\xD2҉\xB8\xCC=\xBF\xBFx\x9Cc```f\x80`Fp\xF2\xC1|+ \xCD\xA4\x98\xFC\xFF\xFF\xF2\xC1\xF4\xFF\x87\xFF7C\xD5#\x82\x83\x92GL\xA4)x	9x\x9Cc`f\x83\xFF\xCDF@\x8
 A\x91+(U\xB9x\x9Ccd`aa`ddTO\xCB\xCF+\xD1\xCD\xC9\xCCK\xCDH\xCDL\xCF(1500\xD0-\xA9,\xC8G002102\xE8\xFD\xE0g\xF8!\xCD\xF8C\x86\xE9\x87,\xF3	\x96\xC6\xEE\xDF1\xBFj~na\x95ax\xC8/\xC3\xC0  \xC3\xF0LP\x86\x81O\x86QJ\x88\x81\xA4G\x8D\xC1\x87\xA1\xC89\xBF\xA0\xB2d\x96\x82F\xB2\xA6\x82\x91\x81\xA1\x99\x82obI\x86\xAF\x8F\x82cqq~rfbIf~q.!ҽ@\xC0\xC8`\xC0\xC0\xCCȨ\xA4\xAC׽\xF7\x87\xEB^ƽ{n\xD9˼W\xEC\x97ď\x95\xFF$\xD8\xF6\xFE)\xFD\xE1\xFAs\xCBWv>\xBE\xDF1,\xBFj~\xD5\xFC\xABa\xE3\xFBU#\xD2-Z>\xFF\xE7\x96n\xB6n.\x8Fc[x\x9Cc```d\x82\xCB"\xEA\xF9`Z\xFE\xEEu+=\xEE\xCB\xE8\xE8
\ No newline at end of file

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5-expected.txt (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5-expected.txt	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,5 @@
+
+PASS Alignment on the baseline with different and large script heights 
+PASS Tall subscripts/superscripts are not placed too high/low 
+PASS No collisions for tall subscripts and superscripts 
+

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Subscripts and Superscripts metrics</title>
+<link rel="help" href=""
+<meta name="assert" content="Verify metrics of scripted elements with tall scripts.">
+<script src=""
+<script src=""
+<style>
+  math, mspace {
+    font-size: 10px;
+  }
+</style>
+<script>
+  /* This test does not use any specific fonts and so the exact rules are not
+  specified precisely. We assume reasonable values for script shifts and
+  spacing. */
+
+  function getBox(aId) {
+    var box = document.getElementById(aId).getBoundingClientRect();
+    box.middle = (box.bottom + box.top) / 2;
+    return box;
+  }
+
+  setup({ explicit_done: true });
+  window.addEventListener("load", runTests);
+
+  var sizeArray = [50, 75, 100];
+
+  function runTests() {
+    test(function() {
+      var e = 1;
+       assert_approx_equals(getBox("msubbase").middle, getBox("baseline").bottom, e, "msub base is placed on the baseline");
+       assert_approx_equals(getBox("msupbase").middle, getBox("baseline").bottom, e, "msup base is placed on the baseline");
+       assert_approx_equals(getBox("msubsupbase").middle, getBox("baseline").bottom, e, "msubsup base is placed on the baseline");
+       assert_approx_equals(getBox("multibase").middle, getBox("baseline").bottom, e, "mmultiscripts baseis placed on the baseline");
+    }, "Alignment on the baseline with different and large script heights");
+
+    test(function() {
+      assert_greater_than(getBox("msubsub").top, getBox("msubbase").top, "msub: subscript is below the top of the base");
+      assert_less_than(getBox("msupsup").bottom, getBox("msupbase").bottom, "msup: supscript is above the bottom of the base");
+      assert_greater_than(getBox("msubsupsub").top, getBox("msubsupbase").top, "msubsup: subscript is below the top of the base");
+      assert_less_than(getBox("msubsupsup").bottom, getBox("msubsupbase").bottom, "msubsup: supscript is above the bottom of the base");
+      assert_greater_than(getBox("multipostsub").top, getBox("multibase").top, "mmultiscripts: postsubscript is below the top of the base");
+      assert_less_than(getBox("multipostsup").bottom, getBox("multibase").bottom, "mmultiscripts: postsupscript is above the bottom of the base");
+      assert_greater_than(getBox("multipresub").top, getBox("multibase").top, "mmultiscripts: presubscript is below the top of the base");
+      assert_less_than(getBox("multipresup").bottom, getBox("multibase").bottom, "mmultiscripts: presupscript is above the bottom of the base");
+    }, "Tall subscripts/superscripts are not placed too high/low");
+
+    test(function() {
+      assert_greater_than(getBox("msubsupsub").top, getBox("msubsupsup").bottom, "msubsup: subscript is below the superscript");
+      assert_greater_than(getBox("multipresub").top, getBox("multipresup").bottom, "mmultiscripts: presubscript is below the presuperscript");
+      assert_greater_than(getBox("multipostsub").top, getBox("multipostsup").bottom, "mmultiscripts: postsubscript is below the postsuperscript");
+    }, "No collisions for tall subscripts and superscripts");
+
+    done();
+  }
+</script>
+</head>
+<body>
+  <p>
+    <math>
+      <mspace id="baseline" width="30px" height="2px" depth="0px" mathbackground="blue"/>
+      <msub id="msub">
+        <mspace id="msubbase" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mspace id="msubsub" width="10px" height="50px" depth="50px" mathbackground="black"/>
+      </msub>
+      <msup id="msup">
+        <mspace id="msupbase" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mspace id="msupsup" width="10px" height="75px" depth="75px" mathbackground="black"/>
+      </msup>
+      <msubsup id="msubsup">
+        <mspace id="msubsupbase" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mspace id="msubsupsub" width="10px" height="50px" depth="50px" mathbackground="black"/>
+        <mspace id="msubsupsup" width="10px" height="75px" depth="75px" mathbackground="black"/>
+      </msubsup>
+      <mmultiscripts id="multi">
+        <mspace id="multibase" width="30px" height="15px" depth="15px" mathbackground="black"/>
+        <mspace id="multipostsub" width="10px" height="50px" depth="50px" mathbackground="black"/>
+        <mspace id="multipostsup" width="10px" height="75px" depth="75px" mathbackground="black"/>
+        <mprescripts/>
+        <mspace id="multipresub" width="10px" height="50px" depth="50px" mathbackground="black"/>
+        <mspace id="multipresup" width="10px" height="75px" depth="75px" mathbackground="black"/>
+      </mmultiscripts>
+    </math>
+  </p>
+  <hr/>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1-expected.txt (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1-expected.txt	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,9 @@
+ 
+
+
+PASS Empty mspace 
+PASS Different widths 
+PASS Different heights 
+PASS Different depths 
+PASS Various combinations of height, depth and width. 
+

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Space</title>
+<link rel="help" href=""
+<meta name="assert" content="Verify mspace metrics for different values of height, depth and width">
+<script src=""
+<script src=""
+<script>
+  var epsilon = 1;
+  function getBox(aId) {
+    var box = document.getElementById(aId).getBoundingClientRect();
+    box.middle = (box.bottom + box.top) / 2;
+    box.center = (box.left + box.right) / 2;
+    return box;
+  }
+
+  setup({ explicit_done: true });
+  window.addEventListener("load", runTests);
+
+  function runTests() {
+    test(function() {
+      var empty = getBox("empty");
+      assert_equals(empty.width, 0, "zero width");
+      assert_approx_equals(getBox("baseline").bottom - empty.top, 0, epsilon, "zero depth");
+      assert_approx_equals(empty.bottom - getBox("baseline").bottom, 0, epsilon, "zero depth");
+    }, "Empty mspace");
+
+    test(function() {
+      for (var i = 0; i <= 2; i++) {
+        var space = getBox("width" + i);
+        assert_approx_equals(space.width, 25*(i+1), epsilon, "width " + i);
+        assert_approx_equals(getBox("baseline").bottom - space.top, 0, epsilon, "height" + i);
+        assert_approx_equals(space.bottom - getBox("baseline").bottom, 0, epsilon, "depth" + i);
+      }
+    }, "Different widths");
+
+    test(function() {
+      for (var i = 0; i <= 2; i++) {
+        var space = getBox("height" + i);
+        assert_equals(space.width, 0, "width" + i);
+        assert_approx_equals(getBox("baseline").bottom - space.top, 25*(i+1), epsilon, "height" + i);
+        assert_approx_equals(space.bottom - getBox("baseline").bottom, 0, epsilon, "depth" + i);
+      }
+    }, "Different heights");
+
+    test(function() {
+      for (var i = 0; i <= 2; i++) {
+        var space = getBox("depth" + i);
+        assert_equals(space.width, 0, "width" + i);
+        assert_approx_equals(getBox("baseline").bottom - space.top, 0, epsilon, "height" + i);
+        assert_approx_equals(space.bottom - getBox("baseline").bottom, 25*(i+1), epsilon, "depth" + i);
+      }
+    }, "Different depths");
+
+    test(function() {
+      for (var i = 0; i <= 2; i++) {
+        var space = getBox("mspace" + i);
+        assert_approx_equals(space.width, 25*(1+i%3), epsilon, "width" + i);
+        assert_approx_equals(getBox("baseline").bottom - space.top, 25*(1+(i+1)%3), epsilon, "height" + i);
+        assert_approx_equals(space.bottom - getBox("baseline").bottom, 25*(1+(i+2)%3), epsilon, "depth" + i);
+      }
+    }, "Various combinations of height, depth and width.");
+
+    done();
+  }
+</script>
+</head>
+<body>
+  <p>
+    <span id="baseline" style="display: inline-block; width: 30px; height: 5px; background: blue"></span>
+    <math>
+      <mspace id="empty"/>
+      <mspace id="width0" width="25px"/>
+      <mspace id="width1" width="50px"/>
+      <mspace id="width2" width="75px"/>
+      <mspace id="height0" height="25px"/>
+      <mspace id="height1" height="50px"/>
+      <mspace id="height2" height="75px"/>
+      <mspace id="depth0" depth="25px"/>
+      <mspace id="depth1" depth="50px"/>
+      <mspace id="depth2" depth="75px"/>
+      <mspace id="mspace0" width="25px" height="50px" depth="75px" mathbackground="green"/>
+      <mspace id="mspace1" width="50px" height="75px" depth="25px" mathbackground="blue"/>
+      <mspace id="mspace2" width="75px" height="25px" depth="50px" mathbackground="green"/>
+    </math>
+  </p>
+  <hr/>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2-expected.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2-expected.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>space (reference)</title>
+</head>
+<body>
+  <p>Test passes if you see a green square and no red.</p>
+  <div style="position: relative;">
+    <div style="position: absolute; top: 0px; left: 0px;
+                background: green; width: 200px; height: 200px;">
+    </div>
+  </div>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>space</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<meta name="assert" content="Verify mspace visual rendering for different values of height, depth and width">
+</head>
+<body>
+  <p>Test passes if you see a green square and no red.</p>
+  <div style="position: relative;">
+    <!-- Some green and red mspaces to draw a square -->
+    <div style="position: absolute; top: 0px; left: 0px;
+                width: 200px; height: 200px;">
+      <math style="position: absolute; top: 0px; left: 0px">
+        <mspace width="50px" height="100px" depth="100px" mathbackground="green"/>
+        <mspace width="50px" height="100px" depth="100px" mathbackground="green"/>
+        <mspace width="25px" depth="100px" mathbackground="green"/>
+        <mspace width="25px" depth="100px" mathbackground="green"/>
+        <mspace width="25px" height="100px" mathbackground="green"/>
+        <mspace width="25px" height="100px" mathbackground="green"/>
+      </math>
+      <math style="position: absolute; top: 0px; left: 0px">
+        <mspace width="100px" height="20px" depth="20px" mathbackground="red"/>
+        <mspace width="50px" height="100px" mathbackground="red"/>
+        <mspace width="50px" depth="100px" mathbackground="red"/>
+      </math>
+    </div>
+    <!-- These green divs should cover the red mspace elements -->
+    <div style="position: absolute; top: 0px; left: 0px;
+                width: 200px; height: 200px;">
+      <div style="position: absolute; top: 80px; left: 0px;
+                  width: 100px; height: 40px; background: green"></div>
+      <div style="position: absolute; top: 0px; left: 100px;
+                  width: 50px; height: 100px; background: green"></div>
+      <div style="position: absolute; top: 100px; left: 150px;
+                  width: 50px; height: 100px; background: green"></div>
+    </div>
+  </div>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/color-1-expected.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/color-1-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/color-1-expected.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>color</title>
+</head>
+<body>
+  <p>Test passes if you see a green square.</p>
+  <div style="background: green; color: red; width: 200px; height: 200px; padding: 1px;">
+  </div>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/color-1.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/color-1.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/color-1.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>color</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<meta name="assert" content="Verify that the color is used for text and graphical elements.">
+</head>
+<body>
+  <p>Test passes if you see a green square.</p>
+  <div style="background: green; color: red; width: 200px; height: 200px; padding: 1px;">
+    <math><mfrac style="color: green"><mn>1</mn><mn>2</mn></mfrac></math>
+    <math><msqrt style="color: green"><mn>3</mn></msqrt></math>
+    <math><mroot style="color: green"><mn>4</mn><mn>5</mn></mroot></math>
+    <math><menclose notation="left" style="color: green"><mn>6</mn></menclose></math>
+    <math><menclose notation="right" style="color: green"><mn>7</mn></menclose></math>
+    <math><menclose notation="top" style="color: green"><mn>8</mn></menclose></math>
+    <math><menclose notation="bottom" style="color: green"><mn>9</mn></menclose></math>
+    <math><menclose notation="box" style="color: green"><mn>10</mn></menclose></math>
+    <math><menclose notation="roundedbox" style="color: green"><mn>11</mn></menclose></math>
+    <math><menclose notation="actuarial" style="color: green"><mn>12</mn></menclose></math>
+    <math><menclose notation="madruwb" style="color: green"><mn>13</mn></menclose></math>
+    <math><menclose notation="horizontalstrike" style="color: green"><mn>14</mn></menclose></math>
+    <math><menclose notation="verticalstrike" style="color: green"><mn>15</mn></menclose></math>
+    <math><menclose notation="updiagonalstrike" style="color: green"><mn>16</mn></menclose></math>
+    <math><menclose notation="downdiagonalstrike" style="color: green"><mn>17</mn></menclose></math>
+    <math><menclose notation="longdiv" style="color: green"><mn>18</mn></menclose></math>
+    <math><menclose notation="circle" style="color: green"><mn>19</mn></menclose></math>
+    <math><mi style="color: green">20</mi></math>
+    <math><mn style="color: green">21</mn></math>
+    <math><mo style="color: green">22</mo></math>
+    <math><mtext style="color: green">23</mtext></math>
+    <math><ms style="color: green">24</ms></math>
+  </div>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/visibility-1-expected.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/visibility-1-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/visibility-1-expected.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>visibility</title>
+</head>
+<body>
+  <p>Test passes if you see a green square.</p>
+  <div style="background: green; color: red; width: 200px; height: 200px;">
+  </div>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/visibility-1.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/visibility-1.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/visibility-1.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>visibility</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<meta name="assert" content="Verify that visibility=hidden is used for text and graphical elements.">
+</head>
+<body>
+  <p>Test passes if you see a green square.</p>
+  <div style="background: green; color: red; width: 200px; height: 200px;">
+    <math><mfrac style="visibility: hidden"><mn>1</mn><mn>2</mn></mfrac></math>
+    <math><msqrt style="visibility: hidden"><mn>3</mn></msqrt></math>
+    <math><mroot style="visibility: hidden"><mn>4</mn><mn>5</mn></mroot></math>
+    <math><menclose notation="left" style="visibility: hidden"><mn>6</mn></menclose></math>
+    <math><menclose notation="right" style="visibility: hidden"><mn>7</mn></menclose></math>
+    <math><menclose notation="top" style="visibility: hidden"><mn>8</mn></menclose></math>
+    <math><menclose notation="bottom" style="visibility: hidden"><mn>9</mn></menclose></math>
+    <math><menclose notation="box" style="visibility: hidden"><mn>10</mn></menclose></math>
+    <math><menclose notation="roundedbox" style="visibility: hidden"><mn>11</mn></menclose></math>
+    <math><menclose notation="actuarial" style="visibility: hidden"><mn>12</mn></menclose></math>
+    <math><menclose notation="madruwb" style="visibility: hidden"><mn>13</mn></menclose></math>
+    <math><menclose notation="horizontalstrike" style="visibility: hidden"><mn>14</mn></menclose></math>
+    <math><menclose notation="verticalstrike" style="visibility: hidden"><mn>15</mn></menclose></math>
+    <math><menclose notation="updiagonalstrike" style="visibility: hidden"><mn>16</mn></menclose></math>
+    <math><menclose notation="downdiagonalstrike" style="visibility: hidden"><mn>17</mn></menclose></math>
+    <math><menclose notation="longdiv" style="visibility: hidden"><mn>18</mn></menclose></math>
+    <math><menclose notation="circle" style="visibility: hidden"><mn>19</mn></menclose></math>
+    <math><mi style="visibility: hidden">20</mi></math>
+    <math><mn style="visibility: hidden">21</mn></math>
+    <math><mo style="visibility: hidden">22</mo></math>
+    <math><mtext style="visibility: hidden">23</mtext></math>
+    <math><ms style="visibility: hidden">24</ms></math>
+  </div>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-1-expected.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-1-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-1-expected.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>Class (reference)</title>
+</head>
+<body>
+
+  <p>Test passes if you see the text "PASS".</p>
+  <math>
+    <mtext style="background: green; color: white;">PASS</mtext>
+  </math>
+
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-1.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-1.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-1.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>Class</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<meta name="assert" content="Verify that the class attribute affects CSS selectors.">
+<style>
+  mtext.fail { display: none; }
+  mtext.pass { background: green; }
+</style>
+</head>
+<body>
+
+  <p>Test passes if you see the text "PASS".</p>
+  <math>
+    <mtext class="fail" style="background: red; color: white;">FAIL</mtext>
+    <mtext class="pass" style="color: white;">PASS</mtext>
+  </math>
+
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-2-expected.txt (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-2-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-2-expected.txt	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,3 @@
+
+PASS getElementsByClassName() 
+

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-2.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-2.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-2.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Class</title>
+<link rel="help" href=""
+<meta name="assert" content="Verify whether the getElementsByClassName() works for MathML elements.">
+<script src=""
+<script src=""
+<script>
+  setup({ explicit_done: true });
+  window.addEventListener("DOMContentLoaded", function() {
+    var mtext = document.getElementsByClassName("cl");
+    test(function() {
+      assert_equals(mtext.length, 3);
+      var mtext_ref = document.body.firstElementChild.firstElementChild;
+      mtext_ref = mtext_ref.nextElementSibling.nextElementSibling
+      assert_equals(mtext[0], mtext_ref);
+      mtext_ref = mtext_ref.nextElementSibling.nextElementSibling;
+      assert_equals(mtext[1], mtext_ref);
+      mtext_ref = mtext_ref.nextElementSibling.nextElementSibling;
+      assert_equals(mtext[2], mtext_ref);
+    }, "getElementsByClassName()");
+    done();
+  });
+</script>
+</head>
+<body>
+  <math>
+    <mtext class="cl_"></mtext>
+    <mtext class="c"></mtext>
+    <mtext class="cl"></mtext>
+    <mtext class="cl_"></mtext>
+    <mtext class="cl"></mtext>
+    <mtext class="c"></mtext>
+    <mtext class="cl"></mtext>
+    <mtext class="cl_"></mtext>
+  </math>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1-expected.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1-expected.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>Color Attributes</title>
+<style>
+  #content > div {
+    position: absolute;
+  }
+</style>
+</head>
+<body>
+
+  <p>Test passes if you see the text below is written in white on a green
+    background.</p>
+
+  <div id="content">
+    <div>
+      <math style="background: green;">
+        <mtext style="color: white;">Hello World!</mtext>
+      </math>
+    </div>
+  </div>
+
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>Color Attributes</title>
+<link rel="help" href=""
+<meta name="assert" content="Verify that the mathcolor and mathbackground attributes are supported on the math element.">
+<link rel="match" href=""
+<style>
+  #content {
+    color: red;
+  }
+  #content > div {
+    position: absolute;
+  }
+</style>
+</head>
+<body>
+
+  <p>Test passes if you see the text below is written in white on a green
+    background.</p>
+
+  <div id="content">
+    <div>
+      <math style="background: red;">
+        <mtext style="visibility: hidden;">Hello World!</mtext>
+      </math>
+    </div>
+    <div>
+      <math mathcolor="white" mathbackground="green">
+        <mtext>Hello World!</mtext>
+      </math>
+    </div>
+  </div>
+
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/display-1-expected.txt (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/display-1-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/display-1-expected.txt	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,7 @@
+ 
+ 
+ 
+
+PASS Test display math 
+PASS Test inline math 
+

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/display-1.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/display-1.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/display-1.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>MathML display attribute</title>
+<link rel="help" href=""
+<meta name="assert" content="Verify that the display attribute on the math element is supported and impacts centering and line breaking with surrounding content.">
+<script src=""
+<script src=""
+<script>
+  function getBox(aId) {
+    return document.getElementById(aId).getBoundingClientRect();
+  }
+  window.addEventListener("DOMContentLoaded", function() {
+    var content = getBox("content");
+
+    var before_block = getBox("before_block");
+    var mspace_block = getBox("mspace_block");
+    var after_block = getBox("after_block");
+    test(function() {
+      assert_approx_equals(before_block.left, content.left, 1,
+                           "content before must be left aligned");
+      assert_approx_equals((mspace_block.left + mspace_block.right) / 2,
+                           (content.left + content.right) / 2,
+                           1,
+                           "math must be centered.");
+      assert_approx_equals(after_block.left, content.left, 1,
+                           "content before must be left aligned");
+      assert_less_than_equal(before_block.bottom, mspace_block.top,
+                            "new line before math");
+      assert_less_than_equal(mspace_block.bottom, after_block.top,
+                            "new line after math");
+    }, "Test display math");
+
+    var before_inline = getBox("before_inline");
+    var mspace_inline = getBox("mspace_inline");
+    var after_inline = getBox("after_inline");
+    test(function() {
+      assert_approx_equals((before_inline.top + before_inline.bottom) / 2,
+                           (mspace_inline.top + mspace_inline.bottom) / 2,
+                           1,
+                           "content before must be horizontally aligned with math");
+      assert_approx_equals((after_inline.top + after_inline.bottom) / 2,
+                           (mspace_inline.top + mspace_inline.bottom) / 2,
+                           1,
+                           "content after must be horizontally aligned with math");
+      assert_less_than_equal(before_inline.right, mspace_inline.left,
+                            "content before must be on the left of math");
+      assert_less_than_equal(mspace_inline.right, after_inline.left,
+                            "content after must be on the right of math");
+    }, "Test inline math");
+
+    done();
+  });
+</script>
+<style>
+  #content {
+    width: 600px;
+    background: #ccc;
+  }
+  span.square {
+    display: inline-block;
+    width: 50px;
+    height: 50px;
+    background: black;
+  }
+  mspace {
+    background: black;
+  }
+</style>
+</head>
+<body>
+  <div id="content">
+    <span id="before_block" class="square"></span>
+    <math display="block"><mspace id="mspace_block" width="50px" height="50px"/></math>
+    <span id="after_block" class="square"></span>
+    <br/>
+    <span id="before_inline" class="square"></span>
+    <math display="inline"><mspace id="mspace_inline" width="50px" height="50px"/></math>
+    <span id="after_inline" class="square"></span>
+  </div>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1-expected.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1-expected.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>Dynamic MathML DOM (reference)</title>
+<style>
+  mtext.pass { background: green; color: white; }
+</style>
+</head>
+<body>
+  <p>Test passes if you see the text "PASS".</p>
+  <math>
+    <mtext class="pass">PASS</mtext>
+  </math>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>Dynamic MathML DOM</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<meta name="assert" content="Verify that the MathML DOM tree can be modified via _javascript_ and that the rendering is correctly updated.">
+<style>
+  mtext.fail { background: red; color: white; }
+  mtext.pass { background: green; color: white; }
+</style>
+<script>
+  window.addEventListener("DOMContentLoaded", function() {
+    var kMathMLNamespace = "http://www.w3.org/1998/Math/MathML";
+    var mtext = document.createElementNS(kMathMLNamespace, "mtext");
+    mtext.setAttribute("class", "pass");
+    mtext.textContent = "PASS";
+    var math = document.getElementsByTagNameNS(kMathMLNamespace, "math")[0];
+    math.replaceChild(mtext, math.firstElementChild);
+  });
+</script>
+</head>
+<body>
+  <p>Test passes if you see the text "PASS".</p>
+  <math>
+    <mtext class="fail">FAIL</mtext>
+  </math>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1-expected.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1-expected.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>MathML inside foreignObject (reference)</title>
+</head>
+<body>
+  <p>Test passes if there is a green square and no red.</p>
+  <div>
+    <div style="position: absolute; width: 200px; height: 200px; background: green"></div>
+  </div>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>MathML inside foreignObject</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<meta name="assert" content="Verify that MathML can be used inside a foreignObject element.">
+</head>
+<body>
+  <p>Test passes if there is a green square and no red.</p>
+  <div>
+    <div style="position: absolute; width: 200px; height: 200px; background: red"></div>
+    <div style="position: absolute;">
+      <svg width="200px" height="200px">
+        <rect width="200px" height="100px" fill="red"/>
+        <foreignObject width="200px" height="200px"
+                       requiredExtensions="http://www.w3.org/1998/Math/MathML">
+          <div style="width: 200px; height: 200px; background: green"></div>
+        </foreignObject>
+      </svg>
+    </div>
+  </div>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2-expected.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2-expected.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>MathML as a phrasing content (reference)</title>
+</head>
+<body>
+  <p>Test passes if there is a green square and no red.</p>
+
+  <div>
+    <div style="position: absolute; background: green; width: 400px; height: 400px;"></div>
+  </div>
+
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>MathML as a phrasing content</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<meta name="assert" content="Verify that MathML can be used at positions where phrasing content is accepted.">
+<style type="text/css">
+  div {
+    color: green;
+  }
+  span.redsquare {
+    display: inline-block;
+    width: 10px;
+    height: 10px;
+    background: red;
+  }
+  mspace {
+    background: green;
+  }
+</style>
+</head>
+<body>
+  <p>Test passes if there is a green square and no red.</p>
+
+  <div>
+
+    <div style="position: absolute; background: green; width: 400px; height: 400px;">
+      <p><span class="redsquare"></span></p>
+      <h1><span class="redsquare"></span></h1>
+      <h2><span class="redsquare"></span></h2>
+      <ul>
+        <li><span class="redsquare"></span></li>
+      </ul>
+      <ol>
+        <li><span class="redsquare"></span></li>
+      </ol>
+      <table><tr><td><span class="redsquare"></span></td></tr></table>
+      <a href="" class="redsquare"></span></a>
+      <em><span class="redsquare"></span></em>
+      <strong><span class="redsquare"></span></strong>
+      <small><span class="redsquare"></span></small>
+      <span><span class="redsquare"></span></span>
+      <u><span class="redsquare"></span></u>
+      <q><span class="redsquare"></span></q>
+    </div>
+    <div style="position: absolute; width: 400px;">
+      <p><math><mspace width="10px" height="10px"/></math></p>
+      <h1><math><mspace width="10px" height="10px"/></math></h1>
+      <h2><math><mspace width="10px" height="10px"/></math></h2>
+      <ul>
+        <li><math><mspace width="10px" height="10px"/></math></li>
+      </ul>
+      <ol>
+        <li><math><mspace width="10px" height="10px"/></math></li>
+      </ol>
+      <table><tr><td><math><mspace width="10px" height="10px"/></math></td></tr></table>
+      <a href="" width="10px" height="10px"/></math></a>
+      <em><math><mspace width="10px" height="10px"/></math></em>
+      <strong><math><mspace width="10px" height="10px"/></math></strong>
+      <small><math><mspace width="10px" height="10px"/></math></small>
+      <span><math><mspace width="10px" height="10px"/></math></span>
+      <u><math><mspace width="10px" height="10px"/></math></u>
+      <q><math><mspace width="10px" height="10px"/></math></q>
+    </div>
+
+  </div>
+
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3-expected.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3-expected.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>phrasing content inside mtext (reference)</title>
+</head>
+<body>
+  <p>Test passes if there is a green square and no red.</p>
+
+  <div>
+
+    <div style="position: absolute; background: green; width: 200px; height: 200px;"></div>
+
+  </div>
+
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>phrasing content inside mtext</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<meta name="assert" content="Verify that <mtext> can contain phrasing content">
+<style type="text/css">
+  div {
+    color: green;
+  }
+  span, math, mtext { font-family: Arial; font-size: 12pt; }
+  span.redsquare, span.greensquare {
+    display: inline-block;
+    width: 10px;
+    height: 10px;
+  }
+  span.redsquare {
+    background: red;
+  }
+  span.greensquare {
+    background: green;
+  }
+  mspace {
+    background: green;
+  }
+</style>
+</head>
+<body>
+  <p>Test passes if there is a green square and no red.</p>
+
+  <div>
+
+    <div style="position: absolute; background: green; width: 200px; height: 200px;">
+      <span><span><span><span class="redsquare"></span></span></span></span>
+      <span><span><u><span class="redsquare"></span></u></span></span>
+      <span><span><a href="" class="redsquare"></span></a></span></span>
+      <span><span><del><span class="redsquare"></span></del></span></span>
+      <span><span><em><span class="redsquare"></span></em></span></span>
+      <span><span><strong><span class="redsquare"></span></strong></span></span>
+      <span><span><q><span class="redsquare"></span></q></span></span>
+      <span><span><small><span class="redsquare"></span></small></span></span>
+      <span><span><var><span class="redsquare"></span></var></span></span>
+      <span><span><samp><span class="redsquare"></span></samp></span></span>
+    </div>
+    <div style="position: absolute; width: 200px;">
+      <math><mtext><span><span class="greensquare"></span></span></mtext></math>
+      <math><mtext><u><span class="greensquare"></span></u></mtext></math>
+      <math><mtext><a href="" class="greensquare"></span></a></mtext></math>
+      <math><mtext><del><span class="greensquare"></span></del></mtext></math>
+      <math><mtext><em><span class="greensquare"></span></em></mtext></math>
+      <math><mtext><strong><span class="greensquare"></span></strong></mtext></math>
+      <math><mtext><q><span class="greensquare"></span></q></mtext></math>
+      <math><mtext><small><span class="greensquare"></span></small></mtext></math>
+      <math><mtext><var><span class="greensquare"></span></var></mtext></math>
+      <math><mtext><samp><span class="greensquare"></span></samp></mtext></math>
+    </div>
+
+  </div>
+
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1-expected.txt (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1-expected.txt	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,8 @@
+  
+ 
+ 
+
+PASS Test elements in XHTML namespace 
+PASS Test elements in SVG namespace 
+PASS Test elements in MathML namespace 
+

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Namespaces</title>
+<link rel="help" href=""
+<meta name="assert" content="Verify whether some elements are in the right namespaces.">
+<script src=""
+<script src=""
+<script>
+  var namespaces = {
+    "XHTML": "http://www.w3.org/1999/xhtml",
+    "SVG": "http://www.w3.org/2000/svg",
+    "MathML": "http://www.w3.org/1998/Math/MathML"
+  };
+  for (var c in namespaces) {
+    var test_namespace = async_test("Test elements in " + c + " namespace");
+    window.addEventListener("DOMContentLoaded", function() {
+      var el = document.getElementsByClassName(c);
+      for (var i = 0; i < el.length; i++) {
+        test_namespace.step(function() {
+          assert_equals(el[i].namespaceURI, namespaces[c]);
+        });
+      }
+    });
+    test_namespace.done();
+  }
+</script>
+</head>
+<body>
+  <math class="MathML" xmlns="http://www.w3.org/1998/Math/MathML"></math>
+  <math class="MathML"></math>
+  <math><mtext class="MathML"></mtext></math>
+  <svg width="0" height="0">
+    <foreignObject height="0" width="0">
+      <math class="MathML"></math>
+    </foreignObject>
+  </svg>
+  <math>
+    <semantics>
+      <mtext><span class="XHTML"></span></mtext>
+      <annotation-xml encoding="SVG1.1">
+        <svg class="SVG" width="0" height="0"></svg>
+      </annotation-xml>
+      <annotation-xml encoding="image/svg+xml">
+        <svg class="SVG" width="0" height="0"></svg>
+      </annotation-xml>
+      <annotation-xml encoding="application/xhtml+xml">
+        <span class="XHTML"></span>
+      </annotation-xml>
+      <annotation-xml encoding="text/html">
+        <span class="XHTML"></span>
+      </annotation-xml>
+    </semantics>
+  </math>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1-expected.txt (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1-expected.txt	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,3 @@
+
+PASS Testing foreignObject.hasExtension('http://www.w3.org/1998/Math/MathML') 
+

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>SVG requiredExtensions</title>
+<link rel="help" href=""
+<meta name="assert" content="Verify whether the MathML namespace is recognized as a required extensions of SVG foreignObject when using the hasExtension _javascript_ function.">
+<script src=""
+<script src=""
+<script>
+  test(function() {
+  assert_true(document.createElementNS("http://www.w3.org/2000/svg", "foreignObject").hasExtension("http://www.w3.org/1998/Math/MathML"))
+  }, "Testing foreignObject.hasExtension('http://www.w3.org/1998/Math/MathML')");
+</script>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2-expected.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2-expected.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>SVG requiredExtensions (reference)</title>
+</head>
+<body>
+  <p>Test passes if there is a green square and no red.</p>
+  <svg width="200px" height="200px">
+    <rect width="200px" height="200px" fill="green"/>
+  </svg>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>SVG requiredExtensions</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<meta name="assert" content="Verify that a foreignObject with MathML used as a requiredExtensions value is selected for display in a SVG switch element.">
+</head>
+<body>
+  <p>Test passes if there is a green square and no red.</p>
+  <svg width="200px" height="200px">
+    <rect width="200px" height="100px" fill="red"/>
+    <switch>
+      <foreignObject width="200px" height="200px"
+                     requiredExtensions="http://www.w3.org/1998/Math/MathML">
+        <div style="width: 200px; height: 200px; background: green"></div>
+      </foreignObject>
+      <rect y="100px" width="200px" height="100px" fill="red"/>
+    </switch>
+  </svg>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2-expected.txt (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2-expected.txt	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,3 @@
+
+PASS getElementById() 
+

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Unique Identifier</title>
+<link rel="help" href=""
+<meta name="assert" content="Verify whether the getElementById() works for MathML elements.">
+<script src=""
+<script src=""
+<script>
+  setup({ explicit_done: true });
+  window.addEventListener("DOMContentLoaded", function() {
+    var mtext = document.getElementById("MTEXT");
+    test(function() {
+      assert_equals(mtext, document.body.firstElementChild.lastElementChild);
+    }, "getElementById()");
+    done();
+  });
+</script>
+</head>
+<body>
+  <math>
+    <mtext id="MTEXT_"></mtext>
+    <mtext id="MTEX"></mtext>
+    <mtext id="MTEXT"></mtext>
+  </math>
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3-expected.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3-expected.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>Unique identifier 3 (reference)</title>
+</head>
+<body>
+
+  <p>Test passes if you see the text "PASS".</p>
+  <math>
+    <mtext style="background: green; color: white;">PASS</mtext>
+  </math>
+
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8"/>
+<title>Unique Identifier</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<meta name="assert" content="Verify that the id attribute affects CSS selectors.">
+<style>
+  #fail { display: none; }
+  #pass { background: green; }
+</style>
+</head>
+<body>
+
+  <p>Test passes if you see the text "PASS".</p>
+  <math>
+    <mtext id="fail" style="background: red; color: white;">FAIL</mtext>
+    <mtext id="pass" style="color: white;">PASS</mtext>
+  </math>
+
+</body>
+</html>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1-expected.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1-expected.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1-expected.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8"/>
+<title>Open Font Format: USE_TYPO_METRICS (reference)</title>
+<style>
+  #green {
+     position: absolute;
+     background: green;
+     left: 10px;
+     width: 230px;
+     height: 230px;
+  }
+</style>
+<body>
+  <p>Test passes if there is a green square and no red.</p>
+
+  <div>
+    <div id="green"></div>
+  </div>
+</body>

Added: trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1.html (0 => 203278)


--- trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1.html	                        (rev 0)
+++ trunk/LayoutTests/imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1.html	2016-07-15 16:48:17 UTC (rev 203278)
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<meta charset="utf-8"/>
+<title>Open Font Format: USE_TYPO_METRICS</title>
+<link rel="help" href=""
+<link rel="match" href=""
+<meta name="assert" content="Verify that the USE_TYPO_METRICS flag from the OS/2 table is taken into account to calculate line height.">
+<style>
+  @font-face {
+    font-family: TestFont;
+    src: url("../../../fonts/math/lineheight5000-typolineheight2300.woff");
+  }
+  .green {
+     position: absolute;
+     background: green;
+     width: 115px;
+  }
+  .red {
+     position: absolute;
+     background: red;
+     width: 115px;
+  }
+  .forceHeight {
+    height: 230px;
+  }
+  .leftSide {
+    left: 10px;
+  }
+  .rightSide {
+    left: 125px;
+  }
+  span {
+    /* em=1000, lineHeight=5000, typoLineHeight=2300 and font-size=100px
+       implies typoLineHeightPx = 230px < 500px = lineHeightPx */
+     font-family: TestFont;
+     font-size: 100px;
+     color: transparent;
+  }
+</style>
+<body>
+  <p>Test passes if there is a green square and no red.</p>
+
+  <div>
+    <!-- Left side verifies that typoLineHeightPx <= 230px -->
+    <div class="leftSide red"><span>O</span></div>
+    <div class="leftSide green forceHeight"></div>
+
+    <!-- Right side verifies that typoLineHeightPx => 230px -->
+    <div class="rightSide red forceHeight"></div>
+    <div class="rightSide green"><span>O</span></div>
+  </div>
+</body>

Modified: trunk/LayoutTests/platform/ios-simulator/TestExpectations (203277 => 203278)


--- trunk/LayoutTests/platform/ios-simulator/TestExpectations	2016-07-15 16:42:21 UTC (rev 203277)
+++ trunk/LayoutTests/platform/ios-simulator/TestExpectations	2016-07-15 16:48:17 UTC (rev 203278)
@@ -677,6 +677,9 @@
 mathml/presentation/mathvariant-inheritance.html [ Skip ]
 mathml/presentation/mathvariant-tokens.html [ Skip ]
 
+# This test fails because the USE_TYPO_METRICS flag is ignored for non-math font
+webkit.org/b/150394 imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1.html [ ImageOnlyFailure ]
+
 # The web font loading & relayout seems to be performed too late.
 imported/mathml-in-html5/mathml/relations/css-styling/mathvariant-transforms-1.html [ Pass ImageOnlyFailure ]
 

Modified: trunk/LayoutTests/platform/mac/TestExpectations (203277 => 203278)


--- trunk/LayoutTests/platform/mac/TestExpectations	2016-07-15 16:42:21 UTC (rev 203277)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2016-07-15 16:48:17 UTC (rev 203278)
@@ -809,6 +809,9 @@
 webkit.org/b/159662 mathml/presentation/href-enter.html [ Skip ]
 webkit.org/b/159662 mathml/presentation/href-style.html [ Skip ]
 
+# This test fails because the USE_TYPO_METRICS flag is ignored for non-math font
+webkit.org/b/150394 imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1.html [ ImageOnlyFailure ]
+
 webkit.org/b/128255 compositing/columns/composited-lr-paginated-repaint.html [ Pass Failure ]
 webkit.org/b/128255 compositing/columns/composited-rl-paginated-repaint.html [ Pass Failure ]
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to