(workInProgress, renderTime)
| 13183 | } |
| 13184 | |
| 13185 | function resetExpirationTime(workInProgress, renderTime) { |
| 13186 | if (renderTime !== Never && workInProgress.expirationTime === Never) { |
| 13187 | // The children of this component are hidden. Don't bubble their |
| 13188 | // expiration times. |
| 13189 | return; |
| 13190 | } |
| 13191 | |
| 13192 | // Check for pending updates. |
| 13193 | var newExpirationTime = getUpdateExpirationTime(workInProgress); |
| 13194 | |
| 13195 | // TODO: Calls need to visit stateNode |
| 13196 | |
| 13197 | // Bubble up the earliest expiration time. |
| 13198 | var child = workInProgress.child; |
| 13199 | while (child !== null) { |
| 13200 | if (child.expirationTime !== NoWork && (newExpirationTime === NoWork || newExpirationTime > child.expirationTime)) { |
| 13201 | newExpirationTime = child.expirationTime; |
| 13202 | } |
| 13203 | child = child.sibling; |
| 13204 | } |
| 13205 | workInProgress.expirationTime = newExpirationTime; |
| 13206 | } |
| 13207 | |
| 13208 | function completeUnitOfWork(workInProgress) { |
| 13209 | // Attempt to complete the current unit of work, then move to the |
no test coverage detected