summaryrefslogtreecommitdiff
path: root/layout/reftests
diff options
context:
space:
mode:
authorFranklinDM <mrmineshafter17@gmail.com>2022-04-17 01:26:10 +0800
committerMoonchild <moonchild@palemoon.org>2022-04-17 11:03:22 +0200
commitbb9700d982ee71799026030ade86e20fb12e09e7 (patch)
tree5b24263a5d20578bfdefcfdad2f7a5d7c0063808 /layout/reftests
parent279ed4a9cf67740095672a6f62d7848627809993 (diff)
downloaduxp-bb9700d982ee71799026030ade86e20fb12e09e7.tar.gz
Issue #1370 - Follow-up: Give table wrapper boxes a special case during flex base size resolution, so that percent main-sizes can be respected
This is a workaround, based on https://bugzilla.mozilla.org/show_bug.cgi?id=1455976
Diffstat (limited to 'layout/reftests')
-rw-r--r--layout/reftests/flexbox/flexbox-table-flex-items-2-ref.html64
-rw-r--r--layout/reftests/flexbox/flexbox-table-flex-items-2.html73
-rw-r--r--layout/reftests/flexbox/flexbox-table-flex-items-3-ref.html66
-rw-r--r--layout/reftests/flexbox/flexbox-table-flex-items-3.html75
-rw-r--r--layout/reftests/flexbox/reftest.list2
5 files changed, 280 insertions, 0 deletions
diff --git a/layout/reftests/flexbox/flexbox-table-flex-items-2-ref.html b/layout/reftests/flexbox/flexbox-table-flex-items-2-ref.html
new file mode 100644
index 0000000000..98a93716a5
--- /dev/null
+++ b/layout/reftests/flexbox/flexbox-table-flex-items-2-ref.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
+ <link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#flex-base-size">
+ <style>
+ .container {
+ display: flex;
+ width: 100px;
+ border: 1px solid black;
+ }
+
+ /* Two types of flex items: */
+ .table {
+ border: 2px solid teal;
+ }
+ .block {
+ border: 2px solid brown;
+ }
+
+ /* Each flex item gets one of these as its contents,
+ to have a nonzero content size: */
+ ib {
+ display: inline-block;
+ background: blue;
+ border: 1px solid gray;
+ width: 15px;
+ height: 10px;
+ }
+ </style>
+</head>
+<body>
+<!-- auto size: -->
+<div class="container">
+ <div class="table"><ib></ib></div>
+ <div class="block"><ib></ib></div>
+</div>
+
+<!-- px size: -->
+<div class="container">
+ <div class="table" style="width: 30px"><ib></ib></div>
+ <div class="block" style="width: 30px"><ib></ib></div>
+</div>
+
+<!-- % size: -->
+<div class="container">
+ <div class="table" style="width: 30%"><ib></ib></div>
+ <div class="block" style="width: 30%"><ib></ib></div>
+</div>
+
+<!-- calc() size: -->
+<div class="container">
+ <div class="table" style="width: calc(10px + 20%)"><ib></ib></div>
+ <div class="block" style="width: calc(10px + 20%)"><ib></ib></div>
+</div>
+
+</body>
+</html>
diff --git a/layout/reftests/flexbox/flexbox-table-flex-items-2.html b/layout/reftests/flexbox/flexbox-table-flex-items-2.html
new file mode 100644
index 0000000000..c11ce70802
--- /dev/null
+++ b/layout/reftests/flexbox/flexbox-table-flex-items-2.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>
+ CSS Test: Testing that implicit "flex-basis: content" on table wrapper box
+ doesn't prevent explicit table size from influencing flex base size.
+ </title>
+ <!-- XXXdholbert NOTE: This probably eventually should move to our
+ upstreamed reftest directory. But for now, this is just asserting
+ backwards-compatible/interoperable (but not necessary spec-compliant)
+ behavior, per https://github.com/w3c/csswg-drafts/issues/2604 -->
+ <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
+ <link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#flex-base-size">
+ <link rel="match" href="flexbox-table-flex-items-2.html">
+ <style>
+ .container {
+ display: flex;
+ width: 100px;
+ border: 1px solid black;
+ }
+
+ /* Two types of flex items: */
+ .table {
+ display: table;
+ border: 2px solid teal;
+ }
+ .block {
+ border: 2px solid brown;
+ }
+
+ /* Each flex item gets one of these as its contents,
+ to have a nonzero content size: */
+ ib {
+ display: inline-block;
+ background: blue;
+ border: 1px solid gray;
+ width: 15px;
+ height: 10px;
+ }
+ </style>
+</head>
+<body>
+<!-- auto size: -->
+<div class="container">
+ <div class="table"><ib></ib></div>
+ <div class="block"><ib></ib></div>
+</div>
+
+<!-- px size: -->
+<div class="container">
+ <div class="table" style="width: 30px"><ib></ib></div>
+ <div class="block" style="width: 30px"><ib></ib></div>
+</div>
+
+<!-- % size: -->
+<div class="container">
+ <div class="table" style="width: 30%"><ib></ib></div>
+ <div class="block" style="width: 30%"><ib></ib></div>
+</div>
+
+<!-- calc() size: -->
+<div class="container">
+ <div class="table" style="width: calc(10px + 20%)"><ib></ib></div>
+ <div class="block" style="width: calc(10px + 20%)"><ib></ib></div>
+</div>
+
+</body>
+</html>
diff --git a/layout/reftests/flexbox/flexbox-table-flex-items-3-ref.html b/layout/reftests/flexbox/flexbox-table-flex-items-3-ref.html
new file mode 100644
index 0000000000..568495f341
--- /dev/null
+++ b/layout/reftests/flexbox/flexbox-table-flex-items-3-ref.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
+ <link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#flex-base-size">
+ <style>
+ .container {
+ display: flex;
+ flex-direction: column;
+ height: 100px;
+ float: left;
+ border: 1px solid black;
+ }
+
+ /* Two types of flex items: */
+ .table {
+ border: 2px solid teal;
+ }
+ .block {
+ border: 2px solid brown;
+ }
+
+ /* Each flex item gets one of these as its contents,
+ to have a nonzero content size: */
+ ib {
+ display: inline-block;
+ background: blue;
+ border: 1px solid gray;
+ width: 15px;
+ height: 10px;
+ }
+ </style>
+</head>
+<body>
+<!-- auto size: -->
+<div class="container">
+ <div class="table"><ib></ib></div>
+ <div class="block"><ib></ib></div>
+</div>
+
+<!-- px size: -->
+<div class="container">
+ <div class="table" style="height: 30px"><ib></ib></div>
+ <div class="block" style="height: 30px"><ib></ib></div>
+</div>
+
+<!-- % size: -->
+<div class="container">
+ <div class="table" style="height: 30%"><ib></ib></div>
+ <div class="block" style="height: 30%"><ib></ib></div>
+</div>
+
+<!-- calc() size: -->
+<div class="container">
+ <div class="table" style="height: calc(10px + 20%)"><ib></ib></div>
+ <div class="block" style="height: calc(10px + 20%)"><ib></ib></div>
+</div>
+
+</body>
+</html>
diff --git a/layout/reftests/flexbox/flexbox-table-flex-items-3.html b/layout/reftests/flexbox/flexbox-table-flex-items-3.html
new file mode 100644
index 0000000000..c68152856f
--- /dev/null
+++ b/layout/reftests/flexbox/flexbox-table-flex-items-3.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>
+ CSS Test: Testing that implicit "flex-basis: content" on table wrapper box
+ doesn't prevent explicit table size from influencing flex base size.
+ </title>
+ <!-- XXXdholbert NOTE: This probably eventually should move to our
+ upstreamed reftest directory. But for now, this is just asserting
+ backwards-compatible/interoperable (but not necessary spec-compliant)
+ behavior, per https://github.com/w3c/csswg-drafts/issues/2604 -->
+ <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
+ <link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#flex-base-size">
+ <link rel="match" href="flexbox-table-flex-items-3.html">
+ <style>
+ .container {
+ display: flex;
+ flex-direction: column;
+ height: 100px;
+ float: left;
+ border: 1px solid black;
+ }
+
+ /* Two types of flex items: */
+ .table {
+ display: table;
+ border: 2px solid teal;
+ }
+ .block {
+ border: 2px solid brown;
+ }
+
+ /* Each flex item gets one of these as its contents,
+ to have a nonzero content size: */
+ ib {
+ display: inline-block;
+ background: blue;
+ border: 1px solid gray;
+ width: 15px;
+ height: 10px;
+ }
+ </style>
+</head>
+<body>
+<!-- auto size: -->
+<div class="container">
+ <div class="table"><ib></ib></div>
+ <div class="block"><ib></ib></div>
+</div>
+
+<!-- px size: -->
+<div class="container">
+ <div class="table" style="height: 30px"><ib></ib></div>
+ <div class="block" style="height: 30px"><ib></ib></div>
+</div>
+
+<!-- % size: -->
+<div class="container">
+ <div class="table" style="height: 30%"><ib></ib></div>
+ <div class="block" style="height: 30%"><ib></ib></div>
+</div>
+
+<!-- calc() size: -->
+<div class="container">
+ <div class="table" style="height: calc(10px + 20%)"><ib></ib></div>
+ <div class="block" style="height: calc(10px + 20%)"><ib></ib></div>
+</div>
+
+</body>
+</html>
diff --git a/layout/reftests/flexbox/reftest.list b/layout/reftests/flexbox/reftest.list
index be156100e8..075b789026 100644
--- a/layout/reftests/flexbox/reftest.list
+++ b/layout/reftests/flexbox/reftest.list
@@ -116,3 +116,5 @@ fuzzy-if(gtkWidget,1,31) == flexbox-widget-flex-items-4.html flexbox-widget-flex
# Tests for table flex items
== flexbox-table-flex-items-1-ref.html flexbox-table-flex-items-1-ref.html
+== flexbox-table-flex-items-2.html flexbox-table-flex-items-2-ref.html
+== flexbox-table-flex-items-3.html flexbox-table-flex-items-3-ref.html