Today I noticed that pushState and replaceState cause the reload button and favicon to flicker although no page load (or reload) has occurred.

This bug in Chrome was first reported in July 2010 but still exists in the latest version for OS X. The reload button/throbber doesn’t flicker in Chrome for iOS but the favicon changes to the default (greyscale globe).

I’ve created a demo on JS Bin that reproduces the conditions to observe this behaviour, and a brief (silent) screencast that displays the behaviour. View in 1080p to see exactly what is going on.

pushState replaceState behaviour