Index: third_party/WebKit/LayoutTests/fast/multicol/contain-strict-orthogonal-writing-mode-root-crash.html |
diff --git a/third_party/WebKit/LayoutTests/fast/multicol/contain-strict-orthogonal-writing-mode-root-crash.html b/third_party/WebKit/LayoutTests/fast/multicol/contain-strict-orthogonal-writing-mode-root-crash.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9e79d1d650f1477ce1c452e2af02720bda082042 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fast/multicol/contain-strict-orthogonal-writing-mode-root-crash.html |
@@ -0,0 +1,37 @@ |
+<!DOCTYPE html> |
+<div id="outerStrict" style="contain:strict;"> |
+ <div id="multicol" style="columns:1; writing-mode:vertical-lr;"> |
+ <div id="multicolChild"></div> |
+ <div id="notMarkedForLayout"> |
+ <div id="innerStrict" style="contain:strict;"> |
+ <table> |
+ <thead id="thead"></thead> |
+ <tbody> |
+ <tr></tr> |
+ </tbody> |
+ </table> |
+ </div> |
+ </div> |
+ </div> |
+</div> |
+<script src="../../resources/testharness.js"></script> |
+<script src="../../resources/testharnessreport.js"></script> |
+<script> |
+ test(() => { |
+ document.body.offsetTop; |
+ // Will mark everything from #thead up to #innerStrict for layout |
+ document.getElementById("thead").style.display = "none"; |
+ // Will mark everything from #multicolChild to #outerStrict for layout |
+ document.getElementById("multicolChild").style.display = "none"; |
+ |
+ // At this point #notMarkedForLayout will remain not marked for layout, |
+ // while both its parent and its child will be marked for |
+ // layout. #innerStrict and #outerStrict can be laid out as separate |
+ // subtrees in the next layout phase. #multicol establishes an |
+ // orthogonal writing mode root. Writing mode roots need to be laid out |
+ // before their ancestors (in order to get min/max intrinsic inline |
+ // sizes correct). It is now important that the three objects |
+ // (#innerStrict, #multicol, #outerStrict) be laid out in depth-first |
+ // order, so that we don't skip over subtrees that need layout. |
+ }, "no crash or assertion failure"); |
+</script> |