A blinking cursor should push only one frame (#3445) (#3506)
Prior to this patch, we were pushing two frames each time the cursor blinked. In turning the cursor on or off, the markNeedsPaint call was triggering another frame to be scheduled because we cleared a bit in the scheduler at the beginning of the frame instead of at the end of the frame. To implement scheduling correctly, we actually need two bits: one for ensureVisualUpdate, which just promises to get to the end of the pipeline soon, and scheduleFrame, which promises to get to the beginning of the pipeline soon. (Reland)
Showing
Please register or sign in to comment