| 1994 | // steady-state timing is unchanged. |
| 1995 | var advanced = false; |
| 1996 | function tick() { |
| 1997 | if (advanced) { |
| 1998 | return; |
| 1999 | } |
| 2000 | advanced = true; |
| 2001 | var idx = pendingFrameTicks.indexOf(tick); |
| 2002 | if (idx >= 0) { |
| 2003 | pendingFrameTicks.splice(idx, 1); |
| 2004 | } |
| 2005 | remaining--; |
| 2006 | if (remaining <= 0) { |
| 2007 | resolve(); |
| 2008 | return; |
| 2009 | } |
| 2010 | step(); |
| 2011 | } |
| 2012 | // Hidden/headless pages throttle BOTH rAF (stops entirely) and the |
| 2013 | // setTimeout fallback (intensive wake-up batching), so register the |
| 2014 | // tick for the external __cn1NudgeVm driver too -- a CDP-driven |