diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:35:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:35:49 +0000 |
commit | d8bbc7858622b6d9c278469aab701ca0b609cddf (patch) | |
tree | eff41dc61d9f714852212739e6b3738b82a2af87 /testing/web-platform/mozilla/tests/css | |
parent | Releasing progress-linux version 125.0.3-1~progress7.99u1. (diff) | |
download | firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.tar.xz firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.zip |
Merging upstream version 126.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/mozilla/tests/css')
5 files changed, 219 insertions, 26 deletions
diff --git a/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print-ref.html b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print-ref.html new file mode 100644 index 0000000000..c3acd7e90a --- /dev/null +++ b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print-ref.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> + +<style> +@page { size: 5in 3in; margin: 0.5in; } +body { margin: 0; } + +td { + border: 3px solid purple; + vertical-align: top; +} +ol { + margin: 0; +} +</style> + +<table> + <tr> + <td> + <ol> + <li></li><li></li><li></li><li></li> + <li></li><li></li><li></li><li></li> + <li></li><li></li><li></li><li></li> + </ol> + </td> + <td>top</td> + <td>middle</td> + <td>bottom</td> + <td rowspan="2">bottom</td> + </tr> + <tr> + <td colspan="4"> + <ol> + <li></li><li></li> + <li></li><li></li> + </ol> + </td> + </tr> +</table> diff --git a/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print.html b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print.html new file mode 100644 index 0000000000..a5812ce42e --- /dev/null +++ b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1648947"> +<link rel="match" href="table-cell-vertical-align-001-print-ref.html"> + +<style> +@page { size: 5in 3in; margin: 0.5in; } +body { margin: 0; } + +td { + border: 3px solid purple; +} +ol { + margin: 0; +} +</style> + +<table> + <!-- This table row is fragmented across page boundary, and that makes Firefox + force table-cells to behave as if they have vertical-align:top, to avoid + data loss from the complexity of fragmenting arbitrarily-aligned cells. + --> + <tr> + <td style="vertical-align: baseline"> + <ol> + <li></li><li></li><li></li><li></li> + <li></li><li></li><li></li><li></li> + <li></li><li></li><li></li><li></li> + </ol> + </td> + <td style="vertical-align: top">top</td> + <td style="vertical-align: middle">middle</td> + <td style="vertical-align: bottom">bottom</td> + <td style="vertical-align: bottom" rowspan="2">bottom</td> + </tr> + <tr> + <td colspan="4"> + <ol> + <li></li><li></li> + <li></li><li></li> + </ol> + </td> + </tr> +</table> diff --git a/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print-ref.html b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print-ref.html new file mode 100644 index 0000000000..f525414684 --- /dev/null +++ b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print-ref.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1648947"> +<link rel="match" href="table-cell-vertical-align-002-print-ref.html"> + +<style> +@page { size: 5in 3in; margin: 0.5in; } +body { margin: 0; } + +.tbody { + display: flex; + inline-size: min-content; +} +.tbody:nth-child(1) { + background: cyan; +} +.tbody:nth-child(2) { + background: yellow; +} +ol { + margin: 0; +} +</style> + +<div class="tbody"> + <ol class="td"> + <li></li><li></li><li></li><li></li> + </ol> + <div class="td" style="align-self: end">bottom</div> +</div> + +<div class="tbody"> + <ol class="td"> + <li></li><li></li><li></li><li></li> + <li></li><li></li><li></li><li></li> + <li></li><li></li><li></li><li></li> + </ol> + <div class="td">bottom</div> +</div> diff --git a/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print.html b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print.html new file mode 100644 index 0000000000..91416ee543 --- /dev/null +++ b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print.html @@ -0,0 +1,59 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com"> +<link rel="author" title="Mozilla" href="https://www.mozilla.org/"> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1648947"> +<link rel="match" href="table-cell-vertical-align-002-print-ref.html"> + +<style> +@page { size: 5in 3in; margin: 0.5in; } +body { margin: 0; } + +table { + border-spacing: 0; +} +tbody:nth-child(1) > tr { + background: cyan; +} +tbody:nth-child(2) > tr { + background: yellow; +} +td { + padding: 0; +} +ol { + margin: 0; +} +</style> + +<table> + <tbody> + <!-- This table row can be fit in the first page. The table-cells' + vertical-align should be respected. + --> + <tr> + <td style="vertical-align: baseline"> + <ol> + <li></li><li></li><li></li><li></li> + </ol> + </td> + <td style="vertical-align: bottom">bottom</td> + </tr> + </tbody> + <tbody> + <!-- This table row is fragmented across page boundary, and that makes Firefox + force table-cells to behave as if they have vertical-align:top, to avoid + data loss from the complexity of fragmenting arbitrarily-aligned cells. + --> + <tr> + <td style="vertical-align: baseline"> + <ol> + <li></li><li></li><li></li><li></li> + <li></li><li></li><li></li><li></li> + <li></li><li></li><li></li><li></li> + </ol> + </td> + <td style="vertical-align: bottom">bottom</td> + </tr> + </tbody> +</table> diff --git a/testing/web-platform/mozilla/tests/css/cssom/window_size_rounding.html b/testing/web-platform/mozilla/tests/css/cssom/window_size_rounding.html index 695bf8f34b..c49f7cbae8 100644 --- a/testing/web-platform/mozilla/tests/css/cssom/window_size_rounding.html +++ b/testing/web-platform/mozilla/tests/css/cssom/window_size_rounding.html @@ -1,35 +1,41 @@ <!doctype html> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> -<pre> +<iframe style="border: 0; padding: 0; width: 100.75px; height: 100.75px" srcdoc="<html style='width: 100vw; height: 100vh'>"></iframe> <script> -test(function() { - let originalWidth = window.innerWidth; - let originalHeight = window.innerHeight; +onload = function() { + test(() => { + assert_equals(window.devicePixelRatio, 1, `precondition: ${window.innerWidth}x${window.innerHeight}`); - assert_equals(window.devicePixelRatio, 1, `precondition: ${originalWidth}x${originalHeight}`); + // So that the 100.75 is fractional css pixel, but whole dev pixels, and representable in app units. + SpecialPowers.setFullZoom(window, 4); - // This precondition holds because of: - // https://searchfox.org/mozilla-central/rev/50215d649d4854812837f1343e8f47bd998dacb5/browser/base/content/browser.js#1717 - // - // But if this test starts failing you can just update the assert and the - // factor below accordingly so that the asserts keep passing. - assert_equals(originalWidth, 1280, "precondition"); + let win = document.querySelector("iframe").contentWindow; + const rounded = 101; + const truncated = 100; + const raw = 100.75; - // Set a fractional scale factor that guarantees that we get a fractional innerWidth - const kFactor = 1.5; - const kOneAppUnit = 1 / 60; + const rect = win.document.documentElement.getBoundingClientRect(); + assert_equals(rect.height, raw); + assert_equals(rect.width, raw); - SpecialPowers.setFullZoom(window, kFactor); - assert_approx_equals(window.devicePixelRatio, kFactor, kOneAppUnit); - assert_not_equals(window.innerWidth, originalWidth); - assert_not_equals(window.innerHeight, originalHeight); - if (SpecialPowers.getBoolPref("dom.innerSize.rounded")) { - assert_equals(window.innerWidth, Math.round(originalWidth / kFactor)); - assert_equals(window.innerHeight, Math.round(originalHeight / kFactor)); - } else { - assert_not_equals(window.innerWidth, Math.round(window.innerWidth)); - } - SpecialPowers.setFullZoom(window, 1); // Restore zoom so results can be seen fine... -}); + switch (SpecialPowers.getIntPref("dom.innerSize.rounding")) { + case 1: + assert_equals(win.innerWidth, rounded); + assert_equals(win.innerHeight, rounded); + break; + case 2: + assert_equals(win.innerWidth, truncated); + assert_equals(win.innerHeight, truncated); + break; + default: + assert_equals(win.innerWidth, raw); + assert_equals(win.innerHeight, raw); + break; + } + + SpecialPowers.setFullZoom(window, 1); + }) +}; </script> |