Skip to content

Commit

Permalink
[Float][Fiber] Implement waitForCommitToBeReady for stylesheet resour…
Browse files Browse the repository at this point in the history
…ces (#26450)

Before a commit is finished if any new stylesheet resources are going to
mount and we are capable of delaying the commit we will do the following

1. Wait for all preloads for newly created stylesheet resources to load
2. Once all preloads are finished we insert the stylesheet instances for
these resources and wait for them all to load
3. Once all stylesheets have loaded we complete the commit

In this PR I also removed the synchronous loadingstate tracking in the
fizz runtime. It was not necessary to support the implementation on not
used by the fizz runtime itself. It makes the inline script slightly
smaller

In this PR I also integrated ReactDOMFloatClient with
ReactDOMHostConfig. It leads to better code factoring, something I
already did on the server a while back. To make the diff a little easier
to follow i make these changes in a single commit so you can look at the
change after that commit if helpful

There is a 500ms timeout which will finish the commit even if all
suspended host instances have not finished loading yet

At the moment error and load events are treated the same and we're
really tracking whether the host instance is finished attempting to
load.
  • Loading branch information
gnoff committed Mar 25, 2023
1 parent 175962c commit 73b6435
Show file tree
Hide file tree
Showing 16 changed files with 2,354 additions and 1,423 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
* @flow
*/

import type {HoistableRoot, RootResources} from './ReactDOMFloatClient';
import type {Fiber} from 'react-reconciler/src/ReactInternalTypes';
import type {ReactScopeInstance} from 'shared/ReactTypes';
import type {
Expand All @@ -20,6 +19,8 @@ import type {
Instance,
SuspenseInstance,
Props,
HoistableRoot,
RootResources,
} from './ReactDOMHostConfig';

import {
Expand Down
Loading

0 comments on commit 73b6435

Please sign in to comment.