Support OutOfFrameExecutor in Web platform#2929
Open
ApoloApps wants to merge 7 commits intoJetBrains:jb-mainfrom
Open
Support OutOfFrameExecutor in Web platform#2929ApoloApps wants to merge 7 commits intoJetBrains:jb-mainfrom
ApoloApps wants to merge 7 commits intoJetBrains:jb-mainfrom
Conversation
…me + MessageChannel to detect after frame paint and enqueue a high-priority work on the main thread following OutOfFrameExecutor contract
…he contract of OutOfFrameExecutor. Only active in places where it is supported
…st scheduling apis in Lazylayouts. It changes the number of items from 100 to 100000
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uses https://developer.mozilla.org/en-US/docs/Web/API/Scheduler/postTask with user-blocking (current frame drawing is not blocked, but it must run after it as per KDoc) option to follow OutOfFrameExecutor contract. Tracing correctly shows this behaviour with very good performance. This takes precedence over idle periods for LazyLayouts prefetch schedulers (also as per KDoc). PR for the latter
Works in every browser except Apple ones (Webkit Mac & IOS, similar to requestIdleCallback support) but it is a question of 'when it will be implemented' cause they have a positive position on the standard but, as always, they lag behind on implementing these useful APIs
Fixes https://youtrack.jetbrains.com/issue/CMP-7801/Support-OutOfFrameExecutor (only Web)
Release Notes
Features - Web