- From: Raphael Kubo da Costa via GitHub <sysbot+gh@w3.org>
- Date: Mon, 01 Feb 2021 15:08:51 +0000
- To: public-device-apis-log@w3.org
rakuco has just created a new issue for https://github.com/w3c/screen-wake-lock: == "Release a wake lock": should we queue a task to fire the "release" event? == (also related: #139) I've been reviewing a [Chromium CL](https://chromium-review.googlesource.com/c/chromium/src/+/2599854) that deals with bfcache, and ended up with a few questions about our ["release a wake lock"](https://w3c.github.io/screen-wake-lock/#dfn-release-a-wake-lock) algorithm and its relationship with the Page Lifecycle API and bfcache. Since #242, the "release a wake lock" algorithm queues a task to fire the "release" event (and, since #279, to set the `[[Released]]` internal slot to `true`). The question is whether this should be done in a task or as a synchronous step in the algorithm. In the Chromium CL in question, we've noticed that when navigating away from a page, we do reach https://w3c.github.io/screen-wake-lock/#handling-document-loss-of-visibility, the "release a wake lock" algorithm does run but the queued task is never run, as the page is frozen first (even without bfcache, in which case I guess it'd be unloaded first). Queuing a task to fire an event [seems idiomatic](https://w3ctag.github.io/design-principles/#guard-against-recursion), but in this case I wonder if it's the best choice, especially since this happens when the document both loses visibility and loses full activity. Or, at the very least, I wonder if changing the `[[Released]]` slot should be done synchronously, or if doing that separately from firing the event makes even less sense. Please view or discuss this issue at https://github.com/w3c/screen-wake-lock/issues/293 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Monday, 1 February 2021 15:08:53 UTC