@@ -52,52 +52,44 @@ export function scheduleWork(fiber, expirationTime) {
5252
5353function scheduleWorkToRoot ( fiber , expirationTime ) {
5454 // Update the source fiber's expiration time
55- if (
56- fiber . expirationTime === NoWork ||
57- fiber . expirationTime > expirationTime
58- ) {
55+ if ( fiber . expirationTime < expirationTime ) {
5956 fiber . expirationTime = expirationTime ;
6057 }
61- let alternate = fiber . alternate ;
62- if (
63- alternate != null &&
64- ( alternate . expirationTime === NoWork ||
65- alternate . expirationTime > expirationTime )
66- ) {
58+ var alternate = fiber . alternate ;
59+ if ( alternate !== null && alternate . expirationTime < expirationTime ) {
6760 alternate . expirationTime = expirationTime ;
6861 }
6962 // Walk the parent path to the root and update the child expiration time.
70- let node = fiber . return ;
71- if ( node == null && fiber . tag === HostRoot ) {
72- return fiber . stateNode ;
73- }
74- while ( node != null ) {
75- alternate = node . alternate ;
76- if (
77- node . childExpirationTime === NoWork ||
78- node . childExpirationTime > expirationTime
79- ) {
80- node . childExpirationTime = expirationTime ;
81- if (
82- alternate != null &&
83- ( alternate . childExpirationTime === NoWork ||
84- alternate . childExpirationTime > expirationTime )
63+ var node = fiber . return ;
64+ var root = null ;
65+ if ( node === null && fiber . tag === HostRoot ) {
66+ root = fiber . stateNode ;
67+ } else {
68+ while ( node !== null ) {
69+ alternate = node . alternate ;
70+ if ( node . childExpirationTime < expirationTime ) {
71+ node . childExpirationTime = expirationTime ;
72+ if (
73+ alternate !== null &&
74+ alternate . childExpirationTime < expirationTime
75+ ) {
76+ alternate . childExpirationTime = expirationTime ;
77+ }
78+ } else if (
79+ alternate !== null &&
80+ alternate . childExpirationTime < expirationTime
8581 ) {
8682 alternate . childExpirationTime = expirationTime ;
8783 }
88- } else if (
89- alternate != null &&
90- ( alternate . childExpirationTime === NoWork ||
91- alternate . childExpirationTime > expirationTime )
92- ) {
93- alternate . childExpirationTime = expirationTime ;
94- }
95- if ( node . return == null && node . tag === HostRoot ) {
96- return node . stateNode ;
84+ if ( node . return === null && node . tag === HostRoot ) {
85+ root = node . stateNode ;
86+ break ;
87+ }
88+ node = node . return ;
9789 }
98- node = node . return ;
9990 }
100- return null ;
91+
92+ return root ;
10193}
10294
10395function requestWork ( root , expirationTime ) {
0 commit comments