From https://github.com/w3c/webextensions/issues/328: 1) Open https://example.com. 2) In an extension, add a browser.tabs.onUpdated listener. 3) In the console of the web page, run history.pushState({}, "", "/test"). Currently: * Chrome fires both a "loading" event and a "completed" one in immediate succession. * Firefox fires a single "completed" event. * Safari fires no events. rdar://84204907