Bug 221080

Summary: REGRESSION (r271988): XRSession.end() promise is not resolved if PlatformXR::Device::supportsSessionShutdownNotification() returns false
Product: WebKit Reporter: Ada Chan <adachan>
Component: WebXRAssignee: Ada Chan <adachan>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, dino, svillar, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Ada Chan 2021-01-27 21:53:07 PST
This is a regression from https://bugs.webkit.org/show_bug.cgi?id=220835.

In that change, m_endPromise was saved after the call to WebXRSession::shutdown(InitiatedBySystem::No), but that call could result in WebXRSession::didCompleteShutdown() if the device returns false for supportsSessionShutdownNotification() and m_endPromise would still be null then.

Not sure why xrSession_end.https.html did not time out like I've seen with xrSession_requestAnimationFrame_callback_calls.https.html.
Comment 1 Ada Chan 2021-01-27 21:58:42 PST
Regression point is https://trac.webkit.org/changeset/271988/webkit
Comment 2 Ada Chan 2021-01-27 22:10:20 PST
Created attachment 418619 [details]
Patch
Comment 3 EWS 2021-01-28 08:32:55 PST
Committed r272014: <https://trac.webkit.org/changeset/272014>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418619 [details].
Comment 4 Radar WebKit Bug Importer 2021-01-28 08:33:14 PST
<rdar://problem/73709519>