<http://trac.webkit.org/changeset/159659> switched from setInterval to setTimeout, and the code now assumes that _updateQueues is called too early if and only if it's because a platform was unhidden. But looks like JS timers can now fire too early sometimes, in which case we never re-schedule the timeout, and the view becomes dead forever. I'm not quite sure when this happens. This could legitimately happen due to NTP adjustment, or there may be a bug with timer coalescing.
Created attachment 219471 [details] test case for timeout failure For future reference, this is a standalone test that shows how current dashboard update code fails. I can easily reproduce this by keeping the test open for a few minutes (and if there are multiple instances open, they always fail simultaneously). I'm testing on Mavericks.
Created attachment 219474 [details] proposed fix
Comment on attachment 219474 [details] proposed fix Clearing flags on attachment: 219474 Committed r160744: <http://trac.webkit.org/changeset/160744>
All reviewed patches have been landed. Closing bug.
Note that this removes the behavior of immediately fetching when showing a previously hidden view. Maybe we should restore this, but we need to look carefully into the possibility of two updates running simultaneously, and what consequences that would have.