(workInProgress, renderTime)
| 13045 | } |
| 13046 | |
| 13047 | function resetExpirationTime(workInProgress, renderTime) { |
| 13048 | if (renderTime !== Never && workInProgress.expirationTime === Never) { |
| 13049 | // The children of this component are hidden. Don't bubble their |
| 13050 | // expiration times. |
| 13051 | return; |
| 13052 | } |
| 13053 | |
| 13054 | // Check for pending updates. |
| 13055 | var newExpirationTime = getUpdateExpirationTime(workInProgress); |
| 13056 | |
| 13057 | // TODO: Calls need to visit stateNode |
| 13058 | |
| 13059 | // Bubble up the earliest expiration time. |
| 13060 | var child = workInProgress.child; |
| 13061 | while (child !== null) { |
| 13062 | if (child.expirationTime !== NoWork && (newExpirationTime === NoWork || newExpirationTime > child.expirationTime)) { |
| 13063 | newExpirationTime = child.expirationTime; |
| 13064 | } |
| 13065 | child = child.sibling; |
| 13066 | } |
| 13067 | workInProgress.expirationTime = newExpirationTime; |
| 13068 | } |
| 13069 | |
| 13070 | function completeUnitOfWork(workInProgress) { |
| 13071 | // Attempt to complete the current unit of work, then move to the |
no test coverage detected