Skip to content

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

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

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

Conversation

@vogella

@vogella vogella commented May 6, 2026

Copy link
Copy Markdown
Contributor

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.

@vogella vogella force-pushed the quickaccess-lazy-providers branch from bf9c5c8 to d30f0ff Compare May 6, 2026 15:42
@github-actions

github-actions Bot commented May 6, 2026

Copy link
Copy Markdown
Contributor

Test Results

   861 files  ±0     861 suites  ±0   44m 52s ⏱️ -39s
 8 034 tests ±0   7 790 ✅ +1  243 💤 ±0  1 ❌  - 1 
20 536 runs  ±0  19 880 ✅ +1  655 💤 ±0  1 ❌  - 1 

For more details on these failures, see this check.

Results for commit 55a67ad. ± Comparison against base commit a4171b1.

♻️ This comment has been updated with latest results.

@vogella

vogella commented May 7, 2026

Copy link
Copy Markdown
Contributor Author

Marking as draft so it is clear that this is NOT planned for 4.40 (it is planned for 4.41)

@vogella vogella marked this pull request as draft May 7, 2026 05:59
@vogella vogella force-pushed the quickaccess-lazy-providers branch from d30f0ff to 0461de2 Compare May 31, 2026 11:54
@vogella vogella marked this pull request as ready for review May 31, 2026 11:56
@vogella vogella force-pushed the quickaccess-lazy-providers branch from 0461de2 to 42f1e7e Compare June 12, 2026 10:28
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 42f1e7e to 55a67ad Compare June 12, 2026 14:55
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