Remove extra space above/below stretchy operators.

Gecko always adds .2em space above and below stretchy operators but this
is not part of MathML Core and is causing several WPT failures. The
MATH table does not have any parameter for that so it's likely some
tweak that was added in the early days of MathML that may no longer be
necessary. This patch tentatively removes this feature by placing it
under a disabled-by-default flag.

Tests adjustments:
- table-width-1.xhtml: adjusted to work around antialiasing issue with the
  top/bottom of stretchy operators (in the past the extra space added was
  preventing this issue). This does not affect the testing goal, which is about
  the width.
- stretchy-largeop-with-default-font-2.html: Some tests are failing depending
  on the OS config so mark them as such. In the past, the extra vertical space
  added was hiding the issue.

Differential Revision: https://phabricator.services.mozilla.com/D207014

bugzilla-url: https://bugzilla.mozilla.org/show_bug.cgi?id=1890523
gecko-commit: ff639c7b8eb2e78c02c5c13fc23d039b29cc922b
gecko-reviewers: emilio
diff --git a/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-2.html b/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-2.html
index 7c43c80..83f160a 100644
--- a/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-2.html
+++ b/mathml/presentation-markup/operators/stretchy-largeop-with-default-font-2.html
@@ -11,8 +11,8 @@
       function contentOf(aElement) {
         return document.getElementById(aElement).textContent;
       }
-      function heightOf(aElement) {
-        return document.getElementById(aElement).getBoundingClientRect().height;
+      function boxOf(aElement) {
+        return document.getElementById(aElement).getBoundingClientRect();
       }
       promise_test(() => {
         return new Promise(resolve => {
@@ -21,7 +21,10 @@
           const numTests = 10; // zero indexed
           for (let i = 0; i < numTests; i++) {
             const operatorName = contentOf(`mo${i}`);
-            assert_greater_than(heightOf(`mo${i}`), heightOf(`moRef${i}`), `size of largeop '${operatorName}'`);
+            const box = boxOf(`mo${i}`);
+            const ref = boxOf(`moRef${i}`);
+            assert_greater_than(box.width, ref.width, `width of largeop '${operatorName}'`);
+            assert_greater_than(box.height, ref.height, `height of largeop '${operatorName}'`);
           }
         });
       }, "Test that non-stretchy largeops are bigger in display mode.");
diff --git a/mathml/relations/css-styling/table-width-1-ref.xhtml b/mathml/relations/css-styling/table-width-1-ref.xhtml
index d76a350..7653cac 100644
--- a/mathml/relations/css-styling/table-width-1-ref.xhtml
+++ b/mathml/relations/css-styling/table-width-1-ref.xhtml
@@ -3,8 +3,8 @@
     <style type="text/css">
       html { background-color: grey; }
       td { border: 1px solid white;
-           padding-top: 0;
-           padding-bottom: 0;
+           padding-top: 1px;
+           padding-bottom: 1px;
            padding-right: 1px;
            padding-left: 1px;
            background-color: black;
diff --git a/mathml/relations/css-styling/table-width-1.xhtml b/mathml/relations/css-styling/table-width-1.xhtml
index c3689ad..9158948 100644
--- a/mathml/relations/css-styling/table-width-1.xhtml
+++ b/mathml/relations/css-styling/table-width-1.xhtml
@@ -6,8 +6,8 @@
     <style type="text/css">
       html { background-color: grey; }
       td { border: 1px solid white;
-           padding-top: 0;
-           padding-bottom: 0;
+           padding-top: 1px;
+           padding-bottom: 1px;
            padding-right: 1px;
            padding-left: 1px;
            background-color: black;