summaryrefslogtreecommitdiffstats
path: root/layout/style/test/test_restyle_table_wrapper.html
diff options
context:
space:
mode:
Diffstat (limited to 'layout/style/test/test_restyle_table_wrapper.html')
-rw-r--r--layout/style/test/test_restyle_table_wrapper.html33
1 files changed, 33 insertions, 0 deletions
diff --git a/layout/style/test/test_restyle_table_wrapper.html b/layout/style/test/test_restyle_table_wrapper.html
new file mode 100644
index 0000000000..d8049b142e
--- /dev/null
+++ b/layout/style/test/test_restyle_table_wrapper.html
@@ -0,0 +1,33 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>
+ Test for bug 1371955: We don't incorrectly think that a table wrapper style
+ is the main table element style.
+</title>
+<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez">
+<script src="/tests/SimpleTest/SimpleTest.js"></script>
+<style>
+/* Test implicitly ::before and ::after too */
+span::before, span::after {
+ content: "";
+ display: table;
+}
+</style>
+<table id="realTable" style="margin: 10px"></table>
+<span id="spanTable" style="display: table; padding: 10px;"></span>
+<script>
+SimpleTest.waitForExplicitFinish();
+const utils = SpecialPowers.getDOMWindowUtils(window);
+document.documentElement.offsetTop;
+for (const element of [realTable, spanTable]) {
+ const previousReflowCount = utils.framesReflowed;
+ const previousRestyleGeneration = utils.restyleGeneration;
+ element.style.color = "blue";
+ document.documentElement.offsetTop;
+ isnot(previousRestyleGeneration, utils.restyleGeneration,
+ "We should have restyled");
+ is(previousReflowCount, utils.framesReflowed,
+ "We shouldn't have reflowed");
+}
+SimpleTest.finish();
+</script>