Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite ReactFiberScheduler for better integration with Scheduler package #15151

Merged
merged 10 commits into from
Apr 2, 2019

Commits on Apr 2, 2019

  1. Rewrite ReactFiberScheduler

    Adds a new implementation of ReactFiberScheduler behind a feature flag.
    We will maintain both implementations in parallel until the new one
    is proven stable enough to replace the old one.
    
    The main difference between the implementations is that the new one is
    integrated with the Scheduler package's priority levels.
    acdlite committed Apr 2, 2019
    Configuration menu
    Copy the full SHA
    6e57ee4 View commit details
    Browse the repository at this point in the history
  2. Conditionally add fields to FiberRoot

    Some fields only used by the old scheduler, and some by the new.
    acdlite committed Apr 2, 2019
    Configuration menu
    Copy the full SHA
    8cf3977 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8c2edf1 View commit details
    Browse the repository at this point in the history
  4. Re-enable skipped test

    If synchronous updates are scheduled by a passive effect, that work
    should be flushed synchronously, even if flushPassiveEffects is
    called inside batchedUpdates.
    acdlite committed Apr 2, 2019
    Configuration menu
    Copy the full SHA
    f7d142c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    893b96e View commit details
    Browse the repository at this point in the history
  6. Revert ability to cancel the current callback

    React doesn't need this anyway because it never schedules callbacks if
    it's already rendering.
    acdlite committed Apr 2, 2019
    Configuration menu
    Copy the full SHA
    25cfee5 View commit details
    Browse the repository at this point in the history
  7. Revert change to FiberDebugPerf

    Turns out this isn't neccessary.
    acdlite committed Apr 2, 2019
    Configuration menu
    Copy the full SHA
    77c7ed1 View commit details
    Browse the repository at this point in the history
  8. Fix ReactFiberScheduler dead code elimination

    Should initialize to nothing, then assign the exports conditionally,
    instead of initializing to the old exports and then reassigning to the
    new ones.
    acdlite committed Apr 2, 2019
    Configuration menu
    Copy the full SHA
    e0a8526 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    be3bec7 View commit details
    Browse the repository at this point in the history
  10. Call Scheduler.flushAll unconditionally in tests

    Instead of wrapping in enableNewScheduler flag.
    acdlite committed Apr 2, 2019
    Configuration menu
    Copy the full SHA
    f1dc626 View commit details
    Browse the repository at this point in the history