offline/online events: yes
expired timers: fire immediately
active timers: fire on time
offline/online events: yes
expired timers: fire immediately (setInterval is fired twice!)
active timers: fire on time
EventSource: CLOSED with "error" event, not auto-reconnecting
offline/online events: yes
expired timers: fire immediately (setInterval keeps reference to start, so next fire is earlier)
active timers: fire on time
EventSource: CLOSED without event, see bug https://bugs.chromium.org/p/chromium/issues/detail?id=225654, not auto-reconnecting
Firefox, Chrome, IE as on Windows 10 EventSource not tested
offline/online events: yes
expired timers: fire immediately (setInterval keeps reference to start, so next fire is earlier)
active timers: fire on time
visibility changes to hidden and back to visible
offline/online events: never
expired timers: fire delayed (timeout is active computer time)
active timers: fire delayed (timeout is active computer time)
visibility changes to hidden and back to visible
offline/online events: sometimes
expired timers: fire delayed (timeout is active computer time)
active timers: fire delayed (timeout is active computer time)
offline/online events: sometimes
expired timers: fire delayed (timeout is active computer time)
active timers: fire delayed (timeout is active computer time)
visibility changes to hidden and back to visible
PowerNap: Portable wakes every two hours when plugged in
offline/online events: yes (also on PowerNap)
expired timers: fire immediately?
active timers:
visibility changes to hidden and back to visible
EventSource: OPEN, but not receiving updates (TODO: file bug)
offline/online events: yes (also on PowerNap)
expired timers: fire immediately?
active timers:
EventSource: CLOSED with "error" event, not auto-reconnecting
offline/online events: yes (also on PowerNap)
expired timers: fire immediately?
active timers:
visibility changes to hidden and back to visible
EventSource: CLOSED without event, see bug https://bugs.chromium.org/p/chromium/issues/detail?id=225654, not auto-reconnecting
expired timers: fire delayed (timeout is active computer time)
active timers: fire delayed (timeout is active computer time)
visibility changes to hidden and back to visible
expired timers: fire immediately when became visible (are queued?), interval is started fresh
active timers: fire on time
expired timers: fire delayed (timeout is active computer time)
active timers: fire delayed (timeout is active computer time)
visibility changes to hidden and back to visible
timers: fire on time (like if in foreground)