| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"/> |
| <title>MathML sibling of SVG with foreignObject[overflow=visible]</title> |
| <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#html-and-svg"> |
| <link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=989920"> |
| <meta name="assert" content="Verify that an SVG containing a foreignObject with visible overflow does not affect layout of MathML siblings."> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/mathml/support/feature-detection.js"></script> |
| <script> |
| setup({ explicit_done: true }); |
| window.addEventListener("DOMContentLoaded", function() { |
| var scale = 2; |
| var epsilon = 1; |
| var mfrac = document.getElementById("mfrac"); |
| var num = mfrac.firstElementChild.getBoundingClientRect(); |
| var denom = mfrac.lastElementChild.getBoundingClientRect(); |
| test(function() { |
| assert_true(MathMLFeatureDetection.has_mspace()); |
| assert_approx_equals(num.width, 30, epsilon, "numerator width"); |
| assert_approx_equals(num.height, 40, epsilon, "numerator height"); |
| assert_approx_equals(denom.width, 50, epsilon, "denonimator width"); |
| assert_approx_equals(denom.height, 60, epsilon, "denonimator height"); |
| }, "mspace layout in sibling of SVG foreignObject[overflow=visible]"); |
| test(function() { |
| assert_true(MathMLFeatureDetection.has_mfrac()); |
| assert_greater_than_equal(denom.bottom - num.top, |
| (40 + 60), |
| "numerator above denominator"); |
| assert_approx_equals((num.left + num.right) / 2, |
| (denom.left + denom.right) / 2, |
| epsilon, "numerator and denominator are horizontally aligned"); |
| }, "mfrac layout in sibling of SVG with foreignObject[overflow=visible]"); |
| done(); |
| }); |
| </script> |
| </head> |
| <body> |
| <div id="log"></div> |
| <math> |
| <mfrac id="mfrac"> |
| <mspace width="30px" height="40px" style="background: cyan"></mspace> |
| <mspace width="50px" height="60px" style="background: yellow"></mspace> |
| </mfrac> |
| </math> |
| <svg width="200px" height="200px" style="background: lightblue"> |
| <foreignObject width="200px" height="200px" |
| overflow="visible"> |
| <div xmlns="http://www.w3.org/1999/xhtml"> |
| This is a foreignObject |
| </div> |
| </foreignobject> |
| </svg> |
| </body> |
| </html> |