import from UXP: Bug 1419762 - Return the inline continuation of an IB split when appending (fc8fcfc0)

This commit is contained in:
2022-04-14 15:05:27 +08:00
parent 3b450634c9
commit 1f9aa57a08
3 changed files with 20 additions and 3 deletions
+15
View File
@@ -0,0 +1,15 @@
<style id='style_1'>
:first-child { display: table-column-group; }
</style>
<script>
try { o1 = document.createElement('isindex') } catch(e) { }
try { o2 = document.createElement('input') } catch(e) { }
try { o3 = document.createElement('optgroup') } catch(e) { }
try { o4 = document.createElement('col') } catch(e) { }
try { document.documentElement.appendChild(o1) } catch(e) { }
try { o1.appendChild(o2) } catch(e) { }
try { o1.appendChild(o3) } catch(e) { }
try { document.documentElement.offsetTop; } catch (e) { }
try { document.documentElement.appendChild(o4) } catch(e) { }
try { document.styleSheets[0].insertRule('optgroup::first-line { list-style-type: japanese-formal; }', 0); } catch(e) { }
</script>
+1
View File
@@ -485,3 +485,4 @@ load 1308848-2.html
asserts(0-1) load 1343606.html # bug 1343948
load 1404789-1.html
load 1404789-2.html
load 1419762.html
+4 -3
View File
@@ -6796,10 +6796,11 @@ nsCSSFrameConstructor::GetInsertionPrevSibling(InsertionPoint* aInsertion,
*aIsAppend = true;
if (IsFramePartOfIBSplit(aInsertion->mParentFrame)) {
// Since we're appending, we'll walk to the last anonymous frame
// that was created for the broken inline frame. But don't walk
// to the trailing inline if it's empty; stop at the block.
// that was created for the broken inline frame. We can walk to the
// trailing inline, since we know this is a real append, and not an
// insert (that would've been handled by `FindNextSibling`).
aInsertion->mParentFrame =
GetLastIBSplitSibling(aInsertion->mParentFrame, false);
GetLastIBSplitSibling(aInsertion->mParentFrame, true);
}
// Get continuation that parents the last child.
aInsertion->mParentFrame =