From 0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Fri, 19 Apr 2024 03:47:29 +0200
Subject: Adding upstream version 115.8.0esr.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 .../webkit-box/webkit-box-ordinal-group-3.html     | 103 +++++++++++++++++++++
 1 file changed, 103 insertions(+)
 create mode 100644 layout/reftests/webkit-box/webkit-box-ordinal-group-3.html

(limited to 'layout/reftests/webkit-box/webkit-box-ordinal-group-3.html')

diff --git a/layout/reftests/webkit-box/webkit-box-ordinal-group-3.html b/layout/reftests/webkit-box/webkit-box-ordinal-group-3.html
new file mode 100644
index 0000000000..3455365da0
--- /dev/null
+++ b/layout/reftests/webkit-box/webkit-box-ordinal-group-3.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<!--
+     Any copyright is dedicated to the Public Domain.
+     http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<html>
+<head>
+  <title>
+    CSS Test: -webkit-box-ordinal-group with huge values inside a -webkit-box
+  </title>
+  <style>
+    .box {
+      display: -webkit-box;
+      border: 1px solid black;
+      margin: 5px 20px;
+      float: left; /* For testing in "rows" */
+    }
+    br { clear: both; }
+
+    .box > * {
+      border: 1px dotted purple;
+    }
+
+    .bogTen   { -webkit-box-ordinal-group: 10; }
+    .bogHugeA { -webkit-box-ordinal-group: 2147483646; /* 2^31 - 2 */ }
+    .bogHugeB {
+      /* NOTE: This is INT32_MAX, so we may not be able to distinguish this
+         from anything larger than it (if we represent it internally in a
+         32-bit signed integer). However, it's still worth testing larger
+         values against e.g. 10 to be sure they don't overflow into
+         negative territory. */
+      -webkit-box-ordinal-group: 2147483647; /* 2^31 - 1 */ }
+
+    .bogHugeC { -webkit-box-ordinal-group: 4294967294; /* 2^32 - 2 */ }
+    .bogHugeD { -webkit-box-ordinal-group: 4294967295; /* 2^32 - 1 */ }
+    .bogHugeE { -webkit-box-ordinal-group: 4294967296; /* 2^32     */ }
+    .bogHugeF { -webkit-box-ordinal-group: 8589934592; /* 2^33     */ }
+  </style>
+</head>
+<body>
+  <!-- Test each huge value to see if it sorts after smaller values.
+       (The divs with huge values should sort to the right.) -->
+  <div class="box">
+    <div class="bogHugeA">A</div>
+    <div class="bogTen">10</div>
+    <div>*</div>
+  </div>
+  <div class="box">
+    <div class="bogHugeB">B</div>
+    <div class="bogTen">10</div>
+    <div>*</div>
+  </div>
+  <div class="box">
+    <div class="bogHugeC">C</div>
+    <div class="bogTen">10</div>
+    <div>*</div>
+  </div>
+
+  <br>
+
+  <div class="box">
+    <div class="bogHugeD">D</div>
+    <div class="bogTen">10</div>
+    <div>*</div>
+  </div>
+  <div class="box">
+    <div class="bogHugeE">E</div>
+    <div class="bogTen">10</div>
+    <div>*</div>
+  </div>
+  <div class="box">
+    <div class="bogHugeE">F</div>
+    <div class="bogTen">10</div>
+    <div>*</div>
+  </div>
+
+  <br>
+
+  <!-- Test that 'bogHugeA' sorts to the left of larger huge values. It's
+       less than INT32_MAX, so it's reasonable to expect that it can be
+       compared correctly against (possibly-clamped) larger values) -->
+  <div class="box">
+    <div class="bogHugeB">B</div>
+    <div class="bogHugeA">A</div>
+  </div>
+  <div class="box">
+    <div class="bogHugeC">C</div>
+    <div class="bogHugeA">A</div>
+  </div>
+  <div class="box">
+    <div class="bogHugeD">D</div>
+    <div class="bogHugeA">A</div>
+  </div>
+  <div class="box">
+    <div class="bogHugeE">E</div>
+    <div class="bogHugeA">A</div>
+  </div>
+  <div class="box">
+    <div class="bogHugeF">F</div>
+    <div class="bogHugeA">A</div>
+  </div>
+</body>
+</html>
-- 
cgit v1.2.3