Skip to content

QuickAccessDialog: defer built-in provider construction until first use#3973

Open
vogella wants to merge 1 commit intoeclipse-platform:masterfrom
vogella:quickaccess-lazy-providers
Open

QuickAccessDialog: defer built-in provider construction until first use#3973
vogella wants to merge 1 commit intoeclipse-platform:masterfrom
vogella:quickaccess-lazy-providers

Conversation

@vogella
Copy link
Copy Markdown
Contributor

@vogella vogella commented May 6, 2026

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.

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.
@vogella vogella force-pushed the quickaccess-lazy-providers branch from bf9c5c8 to d30f0ff Compare May 6, 2026 15:42
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 6, 2026

Test Results

   852 files  ±0     852 suites  ±0   53m 19s ⏱️ + 1m 28s
 7 940 tests ±0   7 697 ✅ ±0  243 💤 ±0  0 ❌ ±0 
20 322 runs  ±0  19 667 ✅ ±0  655 💤 ±0  0 ❌ ±0 

Results for commit d30f0ff. ± Comparison against base commit 7f682c2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant