(firstChild)
| 18064 | } |
| 18065 | |
| 18066 | function findLastContentRow(firstChild) { |
| 18067 | // This is going to find the last row among these children that is already |
| 18068 | // showing content on the screen, as opposed to being in fallback state or |
| 18069 | // new. If a row has multiple Suspense boundaries, any of them being in the |
| 18070 | // fallback state, counts as the whole row being in a fallback state. |
| 18071 | // Note that the "rows" will be workInProgress, but any nested children |
| 18072 | // will still be current since we haven't rendered them yet. The mounted |
| 18073 | // order may not be the same as the new order. We use the new order. |
| 18074 | var row = firstChild; |
| 18075 | var lastContentRow = null; |
| 18076 | |
| 18077 | while (row !== null) { |
| 18078 | var currentRow = row.alternate; // New rows can't be content rows. |
| 18079 | |
| 18080 | if (currentRow !== null && findFirstSuspended(currentRow) === null) { |
| 18081 | lastContentRow = row; |
| 18082 | } |
| 18083 | |
| 18084 | row = row.sibling; |
| 18085 | } |
| 18086 | |
| 18087 | return lastContentRow; |
| 18088 | } |
| 18089 | |
| 18090 | function validateRevealOrder(revealOrder) { |
| 18091 | { |
no test coverage detected