summaryrefslogtreecommitdiffstats
path: root/layout/style/test/test_contain_formatting_context.html
diff options
context:
space:
mode:
Diffstat (limited to 'layout/style/test/test_contain_formatting_context.html')
-rw-r--r--layout/style/test/test_contain_formatting_context.html40
1 files changed, 40 insertions, 0 deletions
diff --git a/layout/style/test/test_contain_formatting_context.html b/layout/style/test/test_contain_formatting_context.html
new file mode 100644
index 000000000..928cc35f5
--- /dev/null
+++ b/layout/style/test/test_contain_formatting_context.html
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1170781
+-->
+<head>
+ <meta charset="utf-8">
+ <title>Test that 'contain: paint' updates 'display' correctly</title>
+ <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script type="text/javascript" src="property_database.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+ <div id="test" style="contain: paint"></div>
+ <script>
+ // This mapping is currently mostly based off of a bugzilla comment by Tab
+ // Atkins Jr. in bug 1179349. Ultimately, it should be based on a
+ // specification.
+
+ // XXX 'ruby[-*]' and 'run-in' might need to be added here.
+ var expectedChanges = {
+ 'inline' : 'inline-block',
+ };
+ var displayInfo = gCSSProperties["display"];
+ var test = document.getElementById('test');
+ var displayVals = displayInfo.initial_values.concat(displayInfo.other_values);
+ for (dispVal of displayVals) {
+ test.style.display = dispVal;
+ if (expectedChanges.hasOwnProperty(dispVal)) {
+ is(getComputedStyle(test).display, expectedChanges[dispVal],
+ `'contain: paint' should change 'display: ${dispVal}' to ` +
+ `'display: ${expectedChanges[dispVal]}'`);
+ } else {
+ is(getComputedStyle(test).display, dispVal,
+ `'contain: paint' should not change 'display: ${dispVal}'`);
+ }
+ }
+ </script>
+</body>
+</html>