summaryrefslogtreecommitdiffstats
path: root/layout/base/tests/test_frame_reconstruction_body_table.html
diff options
context:
space:
mode:
Diffstat (limited to 'layout/base/tests/test_frame_reconstruction_body_table.html')
-rw-r--r--layout/base/tests/test_frame_reconstruction_body_table.html48
1 files changed, 48 insertions, 0 deletions
diff --git a/layout/base/tests/test_frame_reconstruction_body_table.html b/layout/base/tests/test_frame_reconstruction_body_table.html
new file mode 100644
index 0000000000..b1f6af0481
--- /dev/null
+++ b/layout/base/tests/test_frame_reconstruction_body_table.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+ <meta charset="utf-8">
+ <title>
+ Test for Bug 1630819: Test we don't reframe the html element when
+ inserting a block element into a display:table body element.
+ </title>
+ <link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
+ <link rel="author" title="Mozilla" href="http://www.mozilla.org/">
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+
+ <script>
+ SimpleTest.waitForExplicitFinish();
+
+ const utils = SpecialPowers.getDOMWindowUtils(window);
+
+ function runTest() {
+ document.documentElement.offsetTop;
+
+ const frameCountBeforeReframe = utils.framesConstructed;
+
+ // We expect to construct one newly appended block, and reconstruct the
+ // display:table <body>, which consists of 8 frames including TableWrapper,
+ // Table, TableRowGroup, TableRow, TableColGroup, TableCol, TableCell, and
+ // TableCell's inner block.
+ const expectedFrameConstructionCount = 1 + 8;
+
+ let div = document.createElement("div");
+ document.body.appendChild(div);
+ document.documentElement.offsetTop;
+
+ is(utils.framesConstructed - frameCountBeforeReframe,
+ expectedFrameConstructionCount,
+ "We shouldn't reframe <html> when appending a <div> into a display:table <body>!");
+
+ SimpleTest.finish();
+ }
+ </script>
+
+ <style>
+ body {
+ display: table;
+ }
+ </style>
+
+ <body onload="runTest();"></body>
+</html>