From 78aef38bfa6865b409b30ce143c50635f93b3cc3 Mon Sep 17 00:00:00 2001 From: Andrew Clark Date: Fri, 28 Oct 2016 11:44:52 -0700 Subject: [PATCH] Add config to enable sync scheduling by default I'll turn this on in ReactDOMFiber once I figure out batchedUpdates. --- src/renderers/shared/fiber/ReactFiberReconciler.js | 3 ++- src/renderers/shared/fiber/ReactFiberScheduler.js | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/renderers/shared/fiber/ReactFiberReconciler.js b/src/renderers/shared/fiber/ReactFiberReconciler.js index d5995a3c65..d86c4946d4 100644 --- a/src/renderers/shared/fiber/ReactFiberReconciler.js +++ b/src/renderers/shared/fiber/ReactFiberReconciler.js @@ -56,8 +56,9 @@ export type HostConfig = { removeChild(parentInstance : I, child : I | TI) : void, scheduleAnimationCallback(callback : () => void) : void, - scheduleDeferredCallback(callback : (deadline : Deadline) => void) : void + scheduleDeferredCallback(callback : (deadline : Deadline) => void) : void, + useSyncScheduling ?: boolean, }; type OpaqueNode = Fiber; diff --git a/src/renderers/shared/fiber/ReactFiberScheduler.js b/src/renderers/shared/fiber/ReactFiberScheduler.js index ab83161fde..139fe9d8bf 100644 --- a/src/renderers/shared/fiber/ReactFiberScheduler.js +++ b/src/renderers/shared/fiber/ReactFiberScheduler.js @@ -62,11 +62,14 @@ module.exports = function(config : HostConfig) { const scheduleAnimationCallback = config.scheduleAnimationCallback; const scheduleDeferredCallback = config.scheduleDeferredCallback; + const useSyncScheduling = config.useSyncScheduling; // The priority level to use when scheduling an update. let priorityContext : (PriorityLevel | null) = null; // The priority level to use if there is no priority context. - let defaultPriorityContext : PriorityLevel = LowPriority; + let defaultPriorityContext : PriorityLevel = useSyncScheduling ? + SynchronousPriority : + LowPriority; // The next work in progress fiber that we're currently working on. let nextUnitOfWork : ?Fiber = null;