QuickAccessDialog: defer built-in provider construction until first use#3973
Open
vogella wants to merge 1 commit intoeclipse-platform:masterfrom
Open
QuickAccessDialog: defer built-in provider construction until first use#3973vogella wants to merge 1 commit intoeclipse-platform:masterfrom
vogella wants to merge 1 commit intoeclipse-platform:masterfrom
Conversation
Wrap the nine built-in providers in a LazyQuickAccessProvider that exposes the id and requiresUiAccess flag as static metadata and resolves the delegate only on the first getElements/findElement call, so closing the dialog without typing skips constructing them entirely. Marginally helps stabilize QuickAccessDialogTest.testPreviousChoicesAvailableForExtension on Windows by reducing constructor work and the resulting initial-layout resize events that can preempt the compute job.
bf9c5c8 to
d30f0ff
Compare
Contributor
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.
The dialog constructor previously instantiated all nine built-in providers (Editor, View, Perspective, Command, Action, Wizard, Preference, Properties, HelpSearch) eagerly inside the open-time BusyIndicator, even when the user closed the dialog without typing. This wraps each in a LazyQuickAccessProvider that exposes the provider id and requiresUiAccess flag as static metadata and resolves the delegate only on the first getElements/findElement call, so identity and threading queries during dialog setup do not force construction.
As a side benefit, it should marginally help stabilize QuickAccessDialogTest.testPreviousChoicesAvailableForExtension on Windows by reducing constructor work and the initial-layout shell resize events that can preempt the compute job.