diff --git a/layout/base/nsCSSFrameConstructor.cpp b/layout/base/nsCSSFrameConstructor.cpp index 412a70b46749..e7ea5557235f 100644 --- a/layout/base/nsCSSFrameConstructor.cpp +++ b/layout/base/nsCSSFrameConstructor.cpp @@ -8437,6 +8437,12 @@ static bool ShouldRecreateContainerForNativeAnonymousContentRoot( return false; } if (auto* el = Element::FromNode(aContent)) { + if (el->GetPseudoElementType() == + PseudoStyleType::mozSnapshotContainingBlock) { + // Much like above, all abspos and on its own top layer so insertion order + // wouldn't really matter anyways. + return false; + } if (auto* classes = el->GetClasses()) { if (classes->Contains(nsGkAtoms::mozCustomContentContainer, eCaseMatters)) { diff --git a/testing/web-platform/tests/css/css-view-transitions/root-reconstruct-frame-tree-crash.html b/testing/web-platform/tests/css/css-view-transitions/root-reconstruct-frame-tree-crash.html new file mode 100644 index 000000000000..bff9a1629a1c --- /dev/null +++ b/testing/web-platform/tests/css/css-view-transitions/root-reconstruct-frame-tree-crash.html @@ -0,0 +1,14 @@ + + + + +