The Idle Detection API notifies developers when a user is idle, indicating such things as lack of interaction with the keyboard, mouse, screen, activation of a screensaver, locking of the screen, or moving to a different screen. A developer-defined threshold triggers the notification.
The IdleDetector interface complements existing indicators of user activity such as mouse and keyboard events, and the page visibility state. Sites using an IdleDetector should function correctly in browsers which do not implement it (as they do today) but with all the known problems documented in the motivations for introducing this API.
Gecko: No signal, the chrome.idle API is supported in Firefox's Web Extensions implementation. There has been no comment on support in web content. I will file a standards position issue once the specification PR mentioned above is merged.
WebKit: Negative, Safari does not support the chrome.idle API in their Web Extensions implementation. Apple included this API in a list of proposed APIs for which they had fingerprinting concerns. I will open a thread on webkit-dev once the specification PR mentioned above is merged.
This API uses asynchronous events and Promise-returning functions to allow Chrome to maintain good performance and future-proof the design.
A polyfill for this API would not be useful as the benefit of the API comes from the information which cannot otherwise be gathered using existing methods. It is possible that this API could be combined with existing methods for determining user presence into a single library for this purpose. Developer outreach has already begun, including a post about the feature on web.dev.
The security and privacy risks are discussed in the explainer and draft specification.
The goal of this experiment is to validate that the API provides an improved user experience. Interested developers have been able to build prototypes while this feature has been available behind a flag. We are now ready to move forward with experiments involving real users.
The experiment will be extended for 2 additional milestones, continuing through the stable release of Chrome 87 and ending a week before the stable release of Chrome 89.
An experimental version of this API was originally launched in Chrome 84 and will remain available through November 10, 2020. Due to a misunderstanding of our mutual timelines the primary partner interested in this API will not be able to roll out an experiment using this API to a significant number of users until after the original Origin Trial has ended.
This extension will also introduce a change in the permission model. The original design reused the "notifications" permission to grant access to this feature. Due to feedback on this choice we have introduced a separate "idle-detection" permission and an IdleDetector.requestPermission() function for requesting it, as well a Chrome UI for managing it once it has been granted.
An option to override the Idle Detection state for testing purposes is available through Chrome DevTools in the Sensors panel.
No, this feature is supported on all platforms other than Android WebView. Adding support for this final platform requires plumbing a new permission type through the WebView API.
Intent to prototype: https://groups.google.com/a/chromium.org/d/msg/blink-dev/OuwzBmH02M4/5ChXdXZQBwAJ
Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/9OwINXHzbUE/m/LOcbtEjAAAAJ
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEmk%3DMY%2BMsbTBC5cnwjcEnwzzYriBQf88fUNRr3VTHtVHMgTvw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADizRgaJBJPACoUM2qW0XUYDev0117CyYrNYUmSp39R-K5MWvg%40mail.gmail.com.
Updating this thread with the new experiment timeline: We will be enabling this Origin Trial when Chrome 88 is released to stable-channel and running it for 3 releases. Chrome 90 will be the last release. Origin Trial tokens will not be renewable past May 18th, 2021 (the stable cut date for Chrome 91).