(root, updateLane, eventTime)
| 5768 | return laneMap; |
| 5769 | } |
| 5770 | function markRootUpdated(root, updateLane, eventTime) { |
| 5771 | root.pendingLanes |= updateLane; // If there are any suspended transitions, it's possible this new update |
| 5772 | // could unblock them. Clear the suspended lanes so that we can try rendering |
| 5773 | // them again. |
| 5774 | // |
| 5775 | // TODO: We really only need to unsuspend only lanes that are in the |
| 5776 | // `subtreeLanes` of the updated fiber, or the update lanes of the return |
| 5777 | // path. This would exclude suspended updates in an unrelated sibling tree, |
| 5778 | // since there's no way for this update to unblock it. |
| 5779 | // |
| 5780 | // We don't do this if the incoming update is idle, because we never process |
| 5781 | // idle updates until after all the regular updates have finished; there's no |
| 5782 | // way it could unblock a transition. |
| 5783 | |
| 5784 | if (updateLane !== IdleLane) { |
| 5785 | root.suspendedLanes = NoLanes; |
| 5786 | root.pingedLanes = NoLanes; |
| 5787 | } |
| 5788 | |
| 5789 | var eventTimes = root.eventTimes; |
| 5790 | var index = laneToIndex(updateLane); // We can always overwrite an existing timestamp because we prefer the most |
| 5791 | // recent event, and we assume time is monotonically increasing. |
| 5792 | |
| 5793 | eventTimes[index] = eventTime; |
| 5794 | } |
| 5795 | function markRootSuspended(root, suspendedLanes) { |
| 5796 | root.suspendedLanes |= suspendedLanes; |
| 5797 | root.pingedLanes &= ~suspendedLanes; // The suspended lanes are no longer CPU-bound. Clear their expiration times. |
no test coverage detected
searching dependent graphs…