зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1405813
- Move prev-in-flow's EOC list to this container frame's OC list in NormalizeChildLists(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D78848
This commit is contained in:
Родитель
13a9ca307f
Коммит
883f8f5f85
|
@ -0,0 +1,10 @@
|
||||||
|
<style>
|
||||||
|
* { height: 0vmin; padding-bottom: 1vmax; display: grid; columns: 0px }
|
||||||
|
</style>
|
||||||
|
<details>
|
||||||
|
<summary>
|
||||||
|
V
|
||||||
|
<link>
|
||||||
|
<content>
|
||||||
|
>
|
||||||
|
<video>
|
|
@ -683,6 +683,7 @@ load 1401709.html
|
||||||
load 1401807.html
|
load 1401807.html
|
||||||
load 1404222-empty-shape.html
|
load 1404222-empty-shape.html
|
||||||
load 1405443.html
|
load 1405443.html
|
||||||
|
load 1405813.html
|
||||||
load 1405896.html
|
load 1405896.html
|
||||||
load 1406252-1.html
|
load 1406252-1.html
|
||||||
load 1415185.html
|
load 1415185.html
|
||||||
|
|
|
@ -1798,10 +1798,16 @@ void nsContainerFrame::NormalizeChildLists() {
|
||||||
}
|
}
|
||||||
MergeSortedOverflow(continuations);
|
MergeSortedOverflow(continuations);
|
||||||
|
|
||||||
// Move trailing OC next-in-flows into our excess overflow containers
|
// Move prev-in-flow's excess overflow containers list into our own
|
||||||
|
// overflow containers list. If we already have an excess overflow
|
||||||
|
// containers list, any child in that list which doesn't have a
|
||||||
|
// prev-in-flow in this frame is also merged into our overflow container
|
||||||
// list.
|
// list.
|
||||||
nsFrameList* overflowContainers =
|
nsFrameList* overflowContainers =
|
||||||
GetPropTableFrames(OverflowContainersProperty());
|
DrainExcessOverflowContainersList(MergeSortedFrameListsFor);
|
||||||
|
|
||||||
|
// Move trailing OC next-in-flows into our excess overflow containers
|
||||||
|
// list.
|
||||||
if (overflowContainers) {
|
if (overflowContainers) {
|
||||||
nsFrameList moveToEOC;
|
nsFrameList moveToEOC;
|
||||||
for (nsIFrame* f = overflowContainers->FirstChild(); f;) {
|
for (nsIFrame* f = overflowContainers->FirstChild(); f;) {
|
||||||
|
|
|
@ -613,7 +613,7 @@ class nsContainerFrame : public nsSplittableFrame {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is intended to be used as a ChildFrameMerger argument for
|
* This is intended to be used as a ChildFrameMerger argument for
|
||||||
* ReflowOverflowContainerChildren().
|
* ReflowOverflowContainerChildren() and DrainExcessOverflowContainersList().
|
||||||
*/
|
*/
|
||||||
static inline void MergeSortedFrameListsFor(nsFrameList& aDest,
|
static inline void MergeSortedFrameListsFor(nsFrameList& aDest,
|
||||||
nsFrameList& aSrc,
|
nsFrameList& aSrc,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче