summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-flexbox/flexbox-paint-ordering-002.xhtml
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/css-flexbox/flexbox-paint-ordering-002.xhtml')
-rw-r--r--testing/web-platform/tests/css/css-flexbox/flexbox-paint-ordering-002.xhtml176
1 files changed, 176 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-flexbox/flexbox-paint-ordering-002.xhtml b/testing/web-platform/tests/css/css-flexbox/flexbox-paint-ordering-002.xhtml
new file mode 100644
index 0000000000..55a18d5b77
--- /dev/null
+++ b/testing/web-platform/tests/css/css-flexbox/flexbox-paint-ordering-002.xhtml
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<!-- Testcase with flex items containing overlapping content, with
+ "order" and "z-index" set on some of them, to test how that affects
+ paint-order. -->
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Testing the paint-order of overlapping flex items with 'order' and 'z-index' set</title>
+ <link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com"/>
+ <link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#painting"/>
+ <link rel="match" href="flexbox-paint-ordering-002-ref.xhtml"/>
+ <style>
+ body {
+ line-height: 0;
+ }
+
+ .flexbox {
+ display: inline-flex;
+ width: 20px;
+ height: 10px;
+ border: 2px solid gray;
+ margin-bottom: 10px;
+ margin-right: 10px;
+ }
+ .a {
+ width: 10px;
+ height: 10px;
+ background: lightblue;
+ min-width: 0;
+ }
+ .b {
+ width: 10px;
+ height: 10px;
+ background: pink;
+ min-width: 0;
+ }
+
+ .aKid {
+ margin-left: 3px;
+ margin-top: 3px;
+ width: 10px;
+ height: 10px;
+ background: steelblue;
+ border: 1px solid blue;
+ }
+ .bKid {
+ margin-left: 3px;
+ margin-top: 6px;
+ width: 10px;
+ height: 10px;
+ background: violet;
+ border: 1px solid purple;
+ }
+
+ .on1 { order: -1; }
+ .o0 { order: 0; }
+ .o1 { order: 1; }
+ .o2 { order: 2; }
+
+ .zn2 { z-index: -2; }
+ .zn1 { z-index: -1; }
+ .z0 { z-index: 0; }
+ .z1 { z-index: 1; }
+
+ </style>
+ </head>
+ <body>
+ <!-- order not set: -->
+ <div class="flexbox">
+ <div class="a"><div class="aKid"/></div>
+ <div class="b"><div class="bKid"/></div>
+ </div>
+
+ <br/>
+
+ <!-- order set, but it matches content order, so it shouldn't matter: -->
+ <div class="flexbox">
+ <div class="a on1"><div class="aKid"/></div>
+ <div class="b"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <div class="a o0"><div class="aKid"/></div>
+ <div class="b"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <div class="a o0"><div class="aKid"/></div>
+ <div class="b o0"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <div class="a o2"><div class="aKid"/></div>
+ <div class="b o2"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <div class="a"><div class="aKid"/></div>
+ <div class="b o0"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <div class="a"><div class="aKid"/></div>
+ <div class="b o1"><div class="bKid"/></div>
+ </div>
+
+ <br/>
+
+ <!-- order set to reverse of content-order: -->
+ <div class="flexbox">
+ <div class="a o1"><div class="aKid"/></div>
+ <div class="b"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <div class="a"><div class="aKid"/></div>
+ <div class="b on1"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <div class="a o0"><div class="aKid"/></div>
+ <div class="b on1"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <div class="a o2"><div class="aKid"/></div>
+ <div class="b o1"><div class="bKid"/></div>
+ </div>
+
+ <br/>
+
+ <!-- order set to reverse of content-order, AND with z-index set on
+ one or both items, but not such that it changes the paint order -->
+ <div class="flexbox">
+ <div class="a o1 z0"><div class="aKid"/></div>
+ <div class="b"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <div class="a o1 z1"><div class="aKid"/></div>
+ <div class="b"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <div class="a o1 z0"><div class="aKid"/></div>
+ <div class="b z0"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <div class="a o1 z1"><div class="aKid"/></div>
+ <div class="b z0"><div class="bKid"/></div>
+ </div>
+
+ <br/>
+
+ <!-- order set to reverse of content-order, AND with z-index set on
+ one or both items, in such a way that it affects paint order -->
+ <div class="flexbox">
+ <!-- 'a' is behind the container's border -->
+ <div class="a o1 zn1"><div class="aKid"/></div>
+ <div class="b"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <!-- 'a' and 'b' are both behind the container's border -->
+ <div class="a o1 zn1"><div class="aKid"/></div>
+ <div class="b zn1"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <!-- 'a' and 'b' are both behind the container's border,
+ and 'a' is behind 'b' despite coming after it in the 'order'
+ ordering-->
+ <div class="a o1 zn2"><div class="aKid"/></div>
+ <div class="b zn1"><div class="bKid"/></div>
+ </div
+ ><div class="flexbox">
+ <!-- 'a' and 'b' are both in front of the container's border,
+ and 'a' is behind 'b' despite coming after it in the 'order'
+ ordering-->
+ <div class="a o1 z0"><div class="aKid"/></div>
+ <div class="b z1"><div class="bKid"/></div>
+ </div>
+
+ </body>
+</html>