Open Bug 1806005 Opened 2 years ago Updated 1 year ago

Simplify `ToastNotification::HandleWindowsTag` interface.

Categories

(Toolkit :: Alerts Service, task, P3)

Unspecified
Windows
task

Tracking

()

ASSIGNED

People

(Reporter: nrishel, Assigned: nrishel)

References

(Depends on 1 open bug)

Details

ToastNotification::HandleWindowsTag is called in a context containing WndProc on the call stack, which results in attempts to create a ToastNotificationManager erring with RPC_E_CANTCALLOUT_ININPUTSYNCCALL. Once Bug 1805802 is resolved we simplify the interface by removing promises and handling COM interactions synchronously.

Note: we should verify the relevant COM APIs do not block as we are running them from the main thread during startup, and should add an MOZ_ASSERT(!InSendMessage()) check in case the behavior reverts.

Going to put this in Core :: Widget: Win32 for now, but feel free to move to Toolkit :: Alerts Service if it makes more sense there.

Component: Notifications and Alerts → Widget: Win32
Product: Toolkit → Core

Speaking with nalexander, we're going to actually go with Toolkit :: Alerts Service for now.

Component: Widget: Win32 → Alerts Service
Product: Core → Toolkit
You need to log in before you can comment on or make changes to this bug.