Provide always-on-top functionality to extensions from chrome.windows.update or create
Reported by zman...@gmail.com, Oct 17 2016
UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 Steps to reproduce the problem: Due to the recent change to chrome removing support for Chrome Panels (see https://bugs.chromium.org/p/chromium/issues/detail?id=467808) some extensions will stop functioning as there is no suitable replacement in some scenarios. In particular, it will no longer be possible to display arbitrary content that is "always on top". I have filled this issue on behalf of users in the issue linked above. In that issue, there are many scenarios mentioned and they all boil down to missing "always on top" functionality. Chrome does offer a replacement for some scenarios. In particular, my extension (Plus for Trello) is currently migrating to use chrome notifications. Thankfully since Chrome 50 notifications now support "requireInteraction" which allows to leave the notification up indefinitely (until the user clicks) thus I can simulate my always-on-top "timer" window by having a notification that gets its content updated every second so the timer "ticks". Not great because now the window will cover twice as much of the screen area, and notifications cannot be minimized or even moved to see what is covering behind. Also, using notifications is very limiting because all you can do is update a few properties of the notification but cannot display arbitrary content (like the PIP youtube extension mentioned in the other issue). I realize that providing always-on-top opens the door again to abusing popups. However, if the API limits this new flag just to extensions and given that extensions are centralized in the webstore, it seems this will mitigate the problem that the other issue will generate with the hundreds of thousands of combined users, many of them developers themselves. NOTES: I have tried using the chrome.windows.create and .update to set alwaysOnTop from an extension background page and have verified that this is a read-only property. What is the expected behavior? alwaysOnTop to be a property modifiable from an extension What went wrong? alwaysOnTop is a read-only property. WebStore page: https://chrome.google.com/webstore/detail/plus-for-trello-time-trac/gjjpophepkbhejnglcmkdnncmaanojkf Did this work before? No Chrome version: 53.0.2785.143 Channel: stable OS Version: 10.0 Flash Version: Shockwave Flash 23.0 r0 This worked before for users that had enabled chrome panels. Yes, it was an experimental feature but it was available for many years and even a Google extension (Hangouts, which millions of users) heavily used them setting an example to follow.
Oct 18 2016,
Adding respective Components for more inputs on this.
Oct 18 2016,
Hm... This is not about panels. It was a panel functionality, but this is a general request for always-on-top support.
Oct 19 2016,
FYI, while trying to workarround this issue (by using chrome notifications) I stumbled on this other new issue: https://bugs.chromium.org/p/chromium/issues/detail?id=657544 Which causes notifications to get lost even when using the "requireInteraction" flag.
Oct 20 2016,
Here is an animation showing how I managed to implement minimizable chrome notifications.
Jun 20 2017,
Panels were removed from Chrome, except ChromeOS. See bug 571511.
Sign in to add a comment