Open Bug 2044186 Opened 4 months ago Updated 12 days ago

Make D-Bus related internal APIs async

Categories

(Core :: Widget: Gtk, defect)

defect

Tracking

()

People

(Reporter: sinker, Unassigned)

References

(Depends on 1 open bug)

Details

We have internal APIs that go through D-Bus on Linux. However, some of these APIs are sync, causing Firefox freeze for waiting D-Bus.

For example,

  • nsGNOMEShellService
    • IsDefaultBrowser() could go through DBus while it is sync.
    • SetDefaultBrowser() run xdg-settings that go through D-Bus.
  • nsGIOService::GetAppForURIScheme()
  • PortalLocationProvider::Startup()
  • nsIUserIdleService
    • idleTime should be async. We have complicated workaround to make it sync.
See Also: → 1962438, 2011034
Depends on: 2074009
You need to log in before you can comment on or make changes to this bug.